Hangfire 后台作业神秘停止 运行
Hangfire background job mysteriously stops running
我有一个关于 Hangfire 1.4.3.0(WebAPI,SQL 服务器存储)的奇怪问题 - 在作业开始整整 30 分钟后,hangfire 重新启动它并分配了一个新的工作人员。跟踪级别的默认 hangfire 日志记录没有显示任何有用的信息。在我的网络应用程序日志中,我只能看到该作业已启动,hangfire 数据库中的状态 table 显示已分配新工作人员:
Id JobId Name Reason CreatedAt Data
27 8 Processing NULL 2017-05-17 10:34:51.640 {"StartedAt":"2017-05-17T10:34:51.6389278Z","ServerId":"mypc:3332","WorkerNumber":"22"}
28 8 Processing NULL 2017-05-17 11:04:51.683 {"StartedAt":"2017-05-17T11:04:51.6819303Z","ServerId":"mypc:3332","WorkerNumber":"14"}
但是以前的工人怎么了?我如何找出停止的原因?
显然这是已知错误:https://github.com/HangfireIO/Hangfire/issues/514
Hangfire 目前的版本是 1.6.12 - 您是否尝试过更新到最新版本并检查是否仍然遇到问题?
在 google 中搜索了很多相同的问题后,我从下面 link 得到了解决方案,其中提到了一些对 运行 非常重要的配置部分你的工作不断。
http://docs.hangfire.io/en/latest/deployment-to-production/making-aspnet-app-always-running.html
-----以下是您必须在全局 applicationHost.config 文件 (%WINDIR%\System32\inetsrv\config\applicationHost.config) 中进行的配置。
<applicationPools>
<add name="MyAppWorkerProcess" managedRuntimeVersion="v4.0" startMode="AlwaysRunning" />
</applicationPools>
<!-- ... -->
<sites>
<site name="MySite" id="1">
<application path="/" serviceAutoStartEnabled="true"
serviceAutoStartProvider="ApplicationPreload" />
</site>
</sites>
<!-- Just AFTER closing the `sites` element AND AFTER `webLimits` tag -->
<serviceAutoStartProviders>
<add name="ApplicationPreload" type="WebApplication1.ApplicationPreload, WebApplication1" />
</serviceAutoStartProviders>
我有一个关于 Hangfire 1.4.3.0(WebAPI,SQL 服务器存储)的奇怪问题 - 在作业开始整整 30 分钟后,hangfire 重新启动它并分配了一个新的工作人员。跟踪级别的默认 hangfire 日志记录没有显示任何有用的信息。在我的网络应用程序日志中,我只能看到该作业已启动,hangfire 数据库中的状态 table 显示已分配新工作人员:
Id JobId Name Reason CreatedAt Data
27 8 Processing NULL 2017-05-17 10:34:51.640 {"StartedAt":"2017-05-17T10:34:51.6389278Z","ServerId":"mypc:3332","WorkerNumber":"22"}
28 8 Processing NULL 2017-05-17 11:04:51.683 {"StartedAt":"2017-05-17T11:04:51.6819303Z","ServerId":"mypc:3332","WorkerNumber":"14"}
但是以前的工人怎么了?我如何找出停止的原因?
显然这是已知错误:https://github.com/HangfireIO/Hangfire/issues/514
Hangfire 目前的版本是 1.6.12 - 您是否尝试过更新到最新版本并检查是否仍然遇到问题?
在 google 中搜索了很多相同的问题后,我从下面 link 得到了解决方案,其中提到了一些对 运行 非常重要的配置部分你的工作不断。
http://docs.hangfire.io/en/latest/deployment-to-production/making-aspnet-app-always-running.html
-----以下是您必须在全局 applicationHost.config 文件 (%WINDIR%\System32\inetsrv\config\applicationHost.config) 中进行的配置。
<applicationPools>
<add name="MyAppWorkerProcess" managedRuntimeVersion="v4.0" startMode="AlwaysRunning" />
</applicationPools>
<!-- ... -->
<sites>
<site name="MySite" id="1">
<application path="/" serviceAutoStartEnabled="true"
serviceAutoStartProvider="ApplicationPreload" />
</site>
</sites>
<!-- Just AFTER closing the `sites` element AND AFTER `webLimits` tag -->
<serviceAutoStartProviders>
<add name="ApplicationPreload" type="WebApplication1.ApplicationPreload, WebApplication1" />
</serviceAutoStartProviders>