sql >> データベース >  >> NoSQL >> Redis

セロリタスクを一時停止または再開するにはどうすればよいですか?

    間違ったアプローチ。現在の状態を取得するために、プロセスを手動で一時停止または取り消すことは絶対にしないでください。一時停止状態と取り消し状態は、ブローカーエラーのために予約されています。

    コードを再設計してみてください。

    達成する主な目標はこの文にあります

    customer can pause or resume process which are pending not the process one

    コードをhttps://en.wikipedia.org/wiki/Workflow_pattern

    のように設計します

    コードをステップまたは状態に分割します。 1つのセロリプロセスですべてのワークフローを実行できますが、たとえば、多くの外部プロバイダーに対して多くの要求を行う場合(1つの要求=1つの状態)は必要ありません。顧客が状態を一時停止した場合は、セロリプロセスを停止します。状態がいつアクティブに変わるかをチェックするイベントを追加し、このタスクに新しいセロリプロセスを再度実行します。



    1. Spring Data MongoDB:プロジェクションとアグリゲーション

    2. マングースのネストされた配列

    3. MongoDBエラーログのデコード

    4. redisリストの値でアイテムのインデックスを取得する