私は、顧客がプロセスを一時停止したり、プロセスを再開したりすることができる、私のプロジェクトの中で、プロセス1ではなく保留中であるという要件を持っています。私はウェブソケットを使用してセロリのタスク結果を表示していますが、ポーズ/レジュームではコードをどのように設計するのか分かりません。唯一の方法は私の心の中でになるのデータを保持している間にタスクを一時停止要求を取り消し、キャッシュ内でプロセスを取り消し、そのキャッシュを後で再開APIで再利用してセロリのタスクを再度開始します。このアプローチを使用すると、Webソケットを介してタスクの処理ステータスをポーリングしたため、プロセスがない場合、のtrueフラグを送信して接続を終了しました。。どのタスクが処理中か保留中かを知るために、私はタスクマッピングのために別のテーブルを追加し、最後のタスクが実行されるときにこのテーブルをフラッシュします。このデザインを完璧に建築することを手伝ってください。もし私が何かを見逃したら、私に指摘してください。セロリタスクを一時停止または再開する方法は?
2
A
答えて
0
誤ったアプローチ。現在の状態を取得するために手動でプロセスを一時停止または取り消してはいけません。一時停止と失効の状態は、ブローカエラーのために予約されています。
コードを再設計してみてください。 achiveする
主な目標は、この文で
customer can pause or resume process which are pending not the process one
ある
https://en.wikipedia.org/wiki/Workflow_patternようにあなたのコードを設計段階かの状態にあなたのコードを分割します。 1つのセロリプロセスはすべてのワークフローを通過できますが、たとえば、多くの外部プロバイダ(1つのリクエスト= 1つのステート)に対して多くのリクエストを行う場合は必要ありません。お客様が休止状態になっている場合は、セロリー・プロセスを停止してください。状態がアクティブに変わるときをチェックし、このタスクに対して新しいセロリプロセスを再び実行するイベントを追加します。
関連する問題
- 1. スレッドの一時停止/再開方法
- 2. WebRequestMethods.Ftp.UploadFileプロセスを一時停止して再開する方法は?
- 3. WebDavサーバーへのアップロード/ダウンロードの一時停止/再開方法は?
- 4. TimerTask/Timerを一時停止、再開する方法
- 5. エンキュー、再生、停止、一時停止、再開を伴うAudioTrackクラス
- 6. WebRTCの一時停止と再開ストリーム
- 7. SpriteKitゲームの一時停止と再開
- 8. D3トランジション - 一時停止と再開
- 9. Androidサービスの一時停止/再開
- 10. メソッドの一時停止と再開
- 11. MediaRecorderの一時停止/再開機能
- 12. 一時停止/再開CountDownTimer Android
- 13. Django Celeryワークフローチェーンの一時停止/再開
- 14. マルチスレッドの一時停止と再開
- 15. カウントダウンタイマーの一時停止と再開
- 16. 水銀でリポジトリクローニングを一時停止/再開するには?
- 17. NSOperation:一時停止と再開の方法
- 18. Tensorflowでのトレーニングの一時停止/再開方法
- 19. YouTubeは一時停止、再生&停止しません。
- 20. TimerTaskの期間を一時停止/再開または変更する方法は?
- 21. 機能でオーディオを一時停止または一時停止する
- 22. Androidで連続したアクティビティを再生/一時停止する方法は?
- 23. golangの他のゴルーチンを一時停止&再開するためのエレガントな方法はありますか?
- 24. URLStreamでダウンロードを一時停止/再開しますか?
- 25. 私のプログラムを一時停止して再開したい
- 26. guiモードで一時停止したemacsセッションを再開
- 27. ソートプログラムを一時停止して後で再開したい
- 28. フリーズゲームを一時停止/再生する
- 29. スレッドを一時停止する方法
- 30. ActivityGroupで子アクティビティを一時停止して再開する
ストップセロリプロセスとは、労働者が消費するストップを意味しますか? – Shashank
いいえ、私はプロセスを完全に終了することを意味しました。顧客がもう一度スタートしたら、このプロセスのために新しいタスクを作成します。 – ImportError
私はすべての顧客タスクを1つのキューで実行しました。したがって、顧客が一時停止または再開するたびに、顧客関連のタスクIDを取得し、trueを終了させてプロセスを強制終了します。これは私が理解するものです。 – Shashank