Hang-fire 一次只执行一项工作

Hang-fire only executing one job at a time

我们有一个 运行 两个多小时的预定工作。现在其他计划的作业正在添加为 Queued ,为什么 Hangfire 不是 运行 该作业。我将 worker count 设置为 3,但它仍然没有执行。 HangFire 详情:

安装于:Windows 2018 R2

Hangfire 版本:1.6.22

使用的数据库:PostgreSQL

提前致谢。

添加更多信息,这可能会对其他人有所帮助。

后来我发现我的预定工作是 运行 多次(每 30 分钟一次)。我所有的 3 个工人都在执行那个单一的工作,并且没有空闲的工人来执行挂起的工作。

看起来这个问题与这个 hangfire 错误有关#Bug:130 , #BUG:1197

此修复有效:

new PostgreSqlStorageOptions()
       {
           //change this
           InvisibilityTimeout = TimeSpan.FromHours(24) 
       });

但即使我将自动重试设置为 false(通过设置 Attempts = 0),它仍在重试计划的作业。即使在我设置日志事件 (LogEvents = true) 之后,它甚至没有记录重试。我只有在使用这个 LogEverythingAttribute

后才得到这个信息
[AutomaticRetry(Attempts = 0, LogEvents = true, OnAttemptsExceeded = AttemptsExceededAction.Fail)]

这是 Hangfire 中的另一个错误吗?

我关闭这个可能是 hangfire 的问题。