в 1:30 ночи"?
Правильный ли это вариант?
'schedule': crontab(hour=1, minute=30),
Зачем в целари?
А где?*
Почему просто не кроной
Потому что запускается 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
Создаёт новый объект, разве нет?
Обсуждают сегодня