Я работаю с сельдереем http://celery.readthedocs.org/en/latest/index.htmlсельдерея: начиная PeriodicTask после начала рабочего
мне нужно запустить периодические задачи в конкретный момент времени. Но я только хочу начать свою работу после начала работы с сельдереем.
Для этого я пытаюсь создать свою собственную «PeriodicTask». Но я имею дело с проблемой.
Когда я начинаю работу и выполняю run_tasks.py в другом терминале, кажется, что мои периодические задачи выполняются только один раз.
Как я могу сделать, чтобы моя периодическая задача выполнялась каждые 3 секунды.
Это код.
Начало сельдерея:
celery worker --app=worker_manager.celery --loglevel=info
файл tasks.py
class MyPeriodicTask(PeriodicTask):
name = "periodic-task"
run_every = timedelta(seconds=3)
def run(self, **kwargs):
logger = self.get_logger(**kwargs)
logger.info("Running periodic task!")
файл run_tasks.py
tasks.register(MyPeriodicTask)
wmi_collector_task = worker_app.tasks[MyPeriodicTask.name]
Спасибо заранее.
Спасибо. Когда я добавляю параметр -B, я выполняю свою периодическую задачу при запуске рабочего. Как я могу выполнить задачу внутри run_tasks.py –