14

node.js アプリケーションで遅延ジョブにkueを使用しています。

redis コマンドを使用して、ジョブの ID を失敗したジョブのリストから非アクティブなジョブのリストに手動で移動することなく、kue の API を使用してジョブを再開する方法を理解するのにいくつか問題があります。

これはkueを使用して可能ですか?

再試行の固定回数を設定したくありません。特定のジョブを再試行したいだけです。

kue に代わる適切に管理された代替案の提案も歓迎します。

4

3 に答える 3

12

これが機能しているかどうかはわかりませんが、ジョブの状態をアクティブにリセットして、ジョブを再度保存してみてください。

job.on('failed', function() {
  job.state('inactive').save();

編集:状態を非アクティブに設定すると、タスクが正しく再キューイングされます。

于 2013-01-11T19:59:51.020 に答える
2

公式ドキュメントの失敗の試みを参照してください

デフォルトでは、ジョブは 1 回だけ試行されます。つまり、ジョブが失敗すると、失敗としてマークされ、介入するまでその状態が維持されます。ただし、Kue ではこれを指定できます。これは、メールの転送などのジョブにとって重要であり、失敗すると通常は問題なく再試行される可能性があります。これを行うには、数値を指定して .attempts() メソッドを呼び出します。

 queue.create('email', {
     title: 'welcome email for tj'
   , to: 'tj@learnboost.com'
   , template: 'welcome-email'
 }).priority('high').attempts(5).save();

参考:失敗の試み

于 2016-09-14T19:57:01.533 に答える