【问题标题】:Hangfire jobs stuck in processing stateHangfire 作业卡在处理状态
【发布时间】:2020-01-23 18:45:49
【问题描述】:

我们正在使用 Hangfire 从 Azure 下载数据。我们正在使用 Hangfire 1.7.6。然而,在运行了一段时间后,Hangfire 出现了死锁,似乎卡在了处理作业中。我们必须重新启动服务才能使其正常工作。

有一个循环作业正在向其他后台服务器添加作业。大多数工作在下载大文件时会卡住。

有没有人遇到过这种挂火作业卡在处理中的问题?

如果需要任何进一步的信息,请告诉我。任何帮助/指导表示赞赏。

【问题讨论】:

  • 您的 Hangfire 是如何托管的? (IIS?)
  • 你好@jbl,我将它用作Windows服务。

标签: hangfire


【解决方案1】:

这不是因为完成从azure下载所需的时间长吗?

您可以尝试使用大文件进行测试,看看它是如何处理它的。

另外,就像@jbl 所问的那样,您的 Hangfire 服务器是如何托管的?如果它托管在 IIS 中,请记住,如果 IIS 由于在给定时间段内处于空闲状态而关闭应用程序进程,Hangfire 服务器可能会丢失其心跳。

我过去遇到过这个问题,最终将应用程序作为服务器上的进程运行。

IIS 已针对节省资源进行了优化,因此它会关闭未使用的进程。当向您的应用程序发出请求时,它会重新启动该过程。这也将导致任何计划的后台作业都不会触发。

【讨论】:

  • 感谢您的回答。 @Derek 我正在部署为 Windows 服务。
  • 然后我会调查当您从 Azure 下载时作业在大文件上运行所需的时间长度,我已经有一段时间没有使用 Hangfire,但也许作业有超时,您超过?用一个大文件测试一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-01
  • 2018-04-08
  • 1970-01-01
相关资源
最近更新 更多