0

hangfire ジョブに問題があります。私のジョブは実行に 10 分かかることがあり[AutomaticRetry(Attempts = 0)]ます。属性があるにもかかわらず、ジョブは無期限に繰り返されるようです。

ジョブの結果を確認すると、ジョブは終了したように見えますが、Succeeded 状態に入るわずか 1 秒前に再キューイングされているようです。

ジョブがすぐに開始されるのではなく、いつでもより長い間隔で開始されることがわかるので、目に見えない再試行機能が配置されていると思います。

hangfire pro と redis データベースを使用しています。

4

1 に答える 1

1

Redis をジョブ ストレージとして使用している場合、この動作はRedis のクライアント タイムアウトが原因である可能性があります。デフォルトではオフになっていますが、一部のホスティング環境には独自のデフォルト値があります。ワーカーは、バックグラウンド ジョブの実行後も接続が開いていることを想定しているため、実行時間の長いジョブは、閉じられたソケットへの書き込みによって例外を引き起こす可能性があります。

redis.conf次のコマンドを使用して、または単にこの設定をオフにすることができます。

CONFIG SET timeout 0
于 2015-10-14T07:35:27.360 に答える