セロリビートに、メッセージに渡す引数を返す呼び出し可能オブジェクトを与える方法はありますか? データベースからデータを取得して、セロリ キューに渡す引数を作成できるようにしたいと考えています。
私がやりたいことは次のようなものです:
CELERYBEAT_SCHEDULE = {
'every-minut1': {
'task': 'some_task',
'schedule': timedelta(hours=1),
'args': some_function_that_returns_a_tuple()
},
}
現在、キューにメッセージを追加するマシンと、メッセージをキューから取り出して処理する別のマシンがあります。メッセージをキューに追加しているマシンは、その引数をハードコーディングしていますが、その情報をデータベースから引き出したいと思っています。
現在考えられる唯一の解決策は、キューにメッセージを追加しているマシンがセロリ自体を実行することです。処理サーバーの元のキューにメッセージを追加するコマンドを実行するための別のキューがあります。これは非常に複雑に思えますが、もっと簡単な解決策があるはずです。