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

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

в 1:30 ночи"?

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

48 ответов

137 просмотров

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

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

А где?*

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

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

Потому что запускается 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

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

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

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Oh sorry did you want it in Gunter's chains?
Martin Rys
15
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта