Celery 3.0のチェーンを使用して作成された実行中のワークフローを一時停止/再開する方法はありますか?Django Celeryワークフローチェーンの一時停止/再開
基本的に私たちのシステムには、対話型と非対話型の2種類のタスクがあります。非対話型のものにはすべてのパラメータがありますが、対話型のものにはユーザー入力が必要です。インタラクティブタスクの場合、結果は対話型タスク(つまり、実際のチェーンを作成する前にユーザー入力を求めることはできません)に影響するため、チェーン内の以前のタスクがすべて完了したらユーザー入力のみを要求できます。
これにアプローチする方法についてのご意見はありますか?本当にここ損失で..
現在のアイデア:
- (セロリのインポートタスクから)タスクの2つのサブクラスを作成します。対話型タスクのサブクラスに追加のインスタンス(クラスメンバ)変数を追加します。このサブクラスは、デフォルトでfalseに設定され、ユーザー入力がまだ必要であることを表します。どういうわけか(私はかなりこれを見ていると、タスクへのアクセスが別のモジュールから直接オブジェクトを持つことができていないようだけど)タスクのインスタンスへのアクセスを持っている、とセロリの労働者の外部からtrueに設定し
- インタラクティブジョブによって区切られた複数のチェーンにチェーンを分割します。チェリーが終わりに達したら、セロリの作業員の外で何らかのメカニズムを検出して、インタラクティブタスクのインタラクティブなクライアントサイドコンポーネントを起動させます。ユーザーがすべてのデータを入力したら、データを取得して、新しいチェーンの先頭に対話型タスクがある新しいチェーンを開始します。