1

次を使用して、新しいスケジュールされたタスクを Celery に追加しています。

# tasks.py

@celery.task(name='update_scheduled_tasks')
def update_scheduled_tasks(self):
    existing_celery_tasks = celery.conf['CELERYBEAT_SCHEDULER']
    new_celery_tasks = load_more_tasks(existing_celery_tasks)
    celery.conf.update(CELERYBEAT_SCHEDULER=new_celery_tasks)

そしてupdate_scheduled_tasks、新しいタスクが追加されたときにタスクを呼び出します。

celery.tasks['update_scheduled_tasks].delay()

これは、1 つの Celery ワーカーで問題なく動作します。新しいスケジュールされたタスクが追加されます。複数のワーカーを使用しても同じように機能しますか? Celery は構成の変更を複数のワーカーにどのように伝達しますか? これに関するドキュメントには何も見つかりませんでした。

PS私はFlaskを使用しているのでdjango-celery、私には選択肢がありません.

4

0 に答える 0