4

私のワークフローは次のとおりです。サブタスクのグループがあり、各タスクは特定の間隔で実行する必要がありますが、同時に実行する必要はありません。

私はこれを試しました:

celery.group(getting_a_page.s(user,x,page).countdown(x) for x in range(5))

しかし、それはうまくいきませんでした。

これを行う方法はありますか?ドキュメントにはこれについてはあまりありません。ドキュメントによると、タスクを遅らせることはできますが、サブタスクを遅らせることはできません。

4

1 に答える 1

3

Task.subtask()次のパラメータがあります。

  • task –タスククラス/インスタンス、またはタスクの名前。
  • args –適用する位置引数。
  • kwargs –適用するキーワード引数。
  • オプション–への追加オプションTask.apply_async()

Task.apply_async()にはオプションがあります:遅延を設定するために使用できるcountdownとeta

したがって、次のようなことができます。

celery.group(getting_a_page.s(args=(user, x, page), countdown=X))
# where X is any number

詳細はこちら

于 2013-01-08T17:05:47.910 に答える