繁体   English   中英

Hangfire后台作业神秘地停止运行

[英]Hangfire background job mysteriously stops running

我对Hangfire 1.4.3.0(WebAPI,SQL Server存储)有一个奇怪的问题-作业启动后恰好30分钟后,hangfire重新启动它并分配了一个新的工作线程。 跟踪级别的默认hangfire日志没有显示任何有用的信息。 在我的Web应用程序日志中,我只能看到该作业已启动,并且hangfire数据库中的State表显示分配了新工作程序:

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中搜索了同样的问题后,我从下面的链接中获得了解决方案,其中提到了一些配置部分,这对于连续运行您的工作非常重要。

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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM