170 похожих чатов

Ребят, добрый вечер. Не подскажите, как в Celery указать "Запуск

в 1:30 ночи"?

Правильный ли это вариант?
'schedule': crontab(hour=1, minute=30),

48 ответов

60 просмотров

Зачем в целари?

Андрей-🐍 Автор вопроса

А где?*

Почему просто не кроной

Андрей-🐍 Автор вопроса

Потому что запускается django-код, та и работа идёт с БД.

Так сделай менеджмент команду с кроной

Андрей-🐍 Автор вопроса

Зачем, если есть Celery? 🙃

Потому что в целари есть приколы с настройкой дататаймов

Андрей-🐍 Автор вопроса

Например?

Например в контейнере дата откуда берется?

Андрей-🐍 Автор вопроса

У меня не будет контейнера 🙃

Андрей-🐍 Автор вопроса

Или из глобальной системы или из контейнера :)

Не варик крон юзать)

Так тут чел просто хочет целари использовать только потому что по другому не знает

все верно

Андрей-🐍 Автор вопроса

Я работал с cron, но полагаю, что здесь уместней celery.

Ну вот ты конкретно не обьяснил почему именно целари

Я конечно немного в шоке от неосиливших селери и советующих крон для джанги в 2021 году, но тем не менее. В селери есть 2 типа воркеров, отложенный и запланированный (крон) Для планового воркера твой формат верен, но что-бы плановые задачи выполнялить - необходимо запустить celery beat (`celery -A app beat -l INFO`)

Андрей-🐍 Автор вопроса

Вот как раз с ним сейчас и борюсь. Вроде бы task запускается, а результата нет 🙃

А нафига для простых и тупых задач тащить лишний здоровенный модуль если можно добавить пару строчек в кронтаб?

Потому-что: - Рано или поздно кто-то забудет перенести кронтам на новый сервер - Кронтаб упадет с ошибкой, а ты и не узнаешь об этом - Проблемы кронтаба в докере Список можно продолжать очень долго

Так с селери все равно лучше разобраться, а если разобрался, то крон и не нужен уже

как запускается celery и как запускается beat

еще сильнее будет шок, когда фея оплачивает часы, и придет момент когда этой феей будете вы. Инструмент решает корректно задачу и оптимально - значит ок.

Андрей-🐍 Автор вопроса

celery -A proj beat celery -A proj worker -l INFO

Действительно. А для простых бложеков на 50 юников из 10 страничек запускают целый кубернетес.

это все чем и где запускается?

Dan, помоги

Пришли ему view, url, model, шаблон одной пастой

Андрей-🐍 Автор вопроса

Ручками, без Docker'а.

Для селери же не нужно особо думать, создал 2 файла, одну функцию, загрузил редис какой-нибудь и уже все работает как тебе надо. Тут скорее изучать php чтобы написать одностраничник, который ты уже можешь написать на джанге(просто для себя), потому что php для этого подходит, юзлесс же

в двух разных терминалах

или фласк

Андрей-🐍 Автор вопроса

Угу.

что выводят команды на экран?

Потому что 1) Для этого существует CI/CD и концепции IAC 2) Что угодно может упасть с ошибкой и ты не узнаешь об этом, вопрос как собираются логи и как настроены алерты 3) Не надо пихать кронтаб в докер, кронтаб должен дёргать curl-ом определённый URL и по этому событию джанга выполняет задачу, например, перестраивает иерархию.

Андрей-🐍 Автор вопроса

Я использую Celery, потому что мне надо работать с ORM, плюс с Djnago-templates и ещё websocket пинать. Так что не думаю, что это можно назвать "тупой задачей".

Было заявление "как можно советовать cron в 2021 когда есть celery?" Да вот так и можно.

Сорри, но это называется профнепригодность.

Профнепригодность - это тащить многомегабайтные фреймворки на каждый чих. А потом заливать это железом.

cron и Celery это вообще разные вещи и на разных уровнях работают, не понятно как такие вещи можно сравнивать. Celery это инструмент который на проэкт ставится, cron это диспечер задач системы

Я о том же и говорю, крон для задач уровня ОС, селери для задач уровня приложения.

Для дебага запусти задачу каждые 30 сек "schedule": timedelta(seconds=30),

Андрей-🐍 Автор вопроса

https://pastebin.com/pXqSXmhz https://pastebin.com/FM7C3qCr

По моему твоя задача ничего не делает. Удали Table.objects.. Добавь в задачу print('test') и return True

@shared_task @app.task

Андрей-🐍 Автор вопроса

Создаёт новый объект, разве нет?

Похожие вопросы

Обсуждают сегодня

Добрый день. Хочу сделать отрисовку по команде на панели. Почему-то рисуется только при втором вызове. С чем может быть связано, не подскажете? procedure TForm1.FormDblClick(...
Kirill Filippenok
20
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Эх кто-то пришел и весь праздник испортил :( You need complex FBX scene importing setup to change things on import? good luck with that. You need navigation and pathfinding? g...
Serg Gini
5
Всем привет! Нужен совет от опытных. Переношу свой проект с Делфи 10.2 Токио на Лазарус 3.2 установленный через инсталлятор fpcupdeluxe-x86_64-win64. При импортировании проект...
Дмитрий Завгородний
7
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Какого хера? /Sources/App/Modules/User/Models/UserLinkApple.swift:21:20: warning: stored property '_id' of 'Sendable'-conforming class 'UserLinkApple' is mutable @ID(...
Alexander Sherbakov
14
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Почему стало ломаться на D11? "739002.86400000' is not a valid timestamp" function IncDateTime(aStamp:TTimeStamp;aKind:TTriggerKind;aInterval:Integer):TDateTime; //aStamp = 2...
Катерина Свиридова
8
у меня программа тысяч на 10 строк. Там в основном моя собственная логика. А по содержанию она просто работает с файловой системой (мастер для бэкапов) и таблицей с данными о ...
Дмитрий Завгородний
5
У тебя в конфиге нигде нет deny all; или вообще любого deny?
Alexander Sherbakov
10
Карта сайта