私はセロリで働いています http://celery.readthedocs.org/en/latest/index.html
特定の瞬間に定期的なタスクを実行する必要があります。しかし、私はセロリワーカーを起動した後にタスクを開始したいだけです。
そのために、独自の「PeriodicTask」を作成しようとしています。しかし、私は問題に対処しています。
ワーカーを起動して別のターミナルでrun_tasks.pyを実行すると、周期的なタスクが 1 回だけ実行されるようです。
定期的なタスクを 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]
前もって感謝します。