0

私はセロリで働いています 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]

前もって感謝します。

4

1 に答える 1