我遇到 hangfire工作的问题。我的工作可以让我们说运行10分钟,即使我有[AutomaticRetry(Attempts = 0)]
属性,这项工作似乎无限期重复。
如果我检查作业的结果,看起来作业已经完成,但在进入成功状态之前似乎只是一秒钟,它会重新排队。
我认为这是不可见的重试功能,因为我可以看到作业不是立即开始,而是随时间隔更长的间隔。
我在redis数据库中使用hangfire pro。
答案 0 :(得分:1)
如果您使用Redis作为作业存储,则此行为可能是由Redis中的Client Timeout引起的。默认情况下,它已关闭,但某些托管环境具有自己的默认值。由于工作人员期望在执行后台作业后连接仍处于打开状态,因此长时间运行的作业可能会因写入已关闭的套接字而导致异常。
您可以通过redis.conf
或仅使用以下命令关闭此设置:
CONFIG SET timeout 0