私は、顧客がプロセスを一時停止したり、プロセスを再開したりすることができる、私のプロジェクトの中で、プロセス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. javascript機能を一時停止/再開する方法は?
- 3. WebRequestMethods.Ftp.UploadFileプロセスを一時停止して再開する方法は?
- 4. Snap.svg:アニメーションを一時停止/再開する方法は?
- 5. aframe/animation:一時停止して再開する方法は?
- 6. WebDavサーバーへのアップロード/ダウンロードの一時停止/再開方法は?
- 7. Quartz.Netでジョブを一時停止/再開する方法
- 8. TimerTask/Timerを一時停止、再開する方法
- 9. Androidでokhttpでダウンロードを一時停止/再開する方法
- 10. エンキュー、再生、停止、一時停止、再開を伴うAudioTrackクラス
- 11. 開始、一時停止、再開NSTimer Swift
- 12. Javaでタイマーを一時停止/再開して停止するには?
- 13. アンドロイドでタイマーとプログレスバーを一時停止して再開する方法は?
- 14. MediaRecorderの一時停止/再開機能
- 15. カウントダウンタイマーの一時停止と再開
- 16. Libgdxでの一時停止と再開
- 17. WebRTCの一時停止と再開ストリーム
- 18. Androidサービスの一時停止/再開
- 19. 一時停止/再開CountDownTimer Android
- 20. Pythonの一時停止/再開ボタン
- 21. ストリームの一時停止と再開
- 22. マルチスレッドの一時停止と再開
- 23. メソッドの一時停止と再開
- 24. BackgroundWorkerの一時停止と再開
- 25. D3トランジション - 一時停止と再開
- 26. SpriteKitゲームの一時停止と再開
- 27. Django Celeryワークフローチェーンの一時停止/再開
- 28. SpriteKit一時停止再開エラー
- 29. Lottieアニメーションの一時停止と再開
- 30. ダウンロードの一時停止と再開WPF
ストップセロリプロセスとは、労働者が消費するストップを意味しますか? – Shashank
いいえ、私はプロセスを完全に終了することを意味しました。顧客がもう一度スタートしたら、このプロセスのために新しいタスクを作成します。 – ImportError
私はすべての顧客タスクを1つのキューで実行しました。したがって、顧客が一時停止または再開するたびに、顧客関連のタスクIDを取得し、trueを終了させてプロセスを強制終了します。これは私が理解するものです。 – Shashank