大佬教程收集整理的这篇文章主要介绍了Hangfire 经常性工作中断,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 .NET Core 应用程序中设置了 HangFire。我有几个重复性作业,它们设置为每 15 分钟运行一次。在Set表中,当调度正常工作时,可以看到Epoch格式的下一次运行时间:
然而,看似随机,调度似乎死了,看起来更像这样:
根据@Satpal 的建议,我连接了仪表板,这让我对情况有了更多了解。
System.TypeLoadException
Could not load type 'X.API.Controllers.YController' from assembly 'X.API,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null'.
System.TypeLoadException: Could not load type 'X.API.Controllers.YController' from assembly 'X.API,PublicKeyToken=null'.
at System.Reflection.RuntimeAssembly.GetType(QCallAssembly assembly,String name,Boolean throwOnError,Boolean ignoreCase,ObjectHandLeonStack type,ObjectHandLeonStack keepAlive,ObjectHandLeonStack assemblyLoadContext)
at System.Reflection.RuntimeAssembly.GetType(String name,Boolean ignoreCasE)
at Hangfire.Common.TypeHelper.TypeResolver(Assembly assembly,String typename,Boolean ignoreCasE)
at System.TypenameParser.ResolveType(Assembly assembly,String[] names,Func`4 typeResolver,StackCrawlMark& stackMark)
at System.TypenameParser.ConstructType(Func`2 assemblyResolver,StackCrawlMark& stackMark)
at System.TypenameParser.GetType(String typename,Func`2 assemblyResolver,StackCrawlMark& stackMark)
at System.Type.GetType(String typename,Boolean throwOnError)
at Hangfire.Common.TypeHelper.DefaultTypeResolver(String typeName)
at Hangfire.Storage.InvocationData.DeserializeJob()
我知道循环作业调用的方法可用并且当前正在工作,因为手动重新安排失败的作业之一已按预期工作。我怀疑部署更新时这些方法不可用 - 应用程序服务重新启动的时间段可能足以使作业失败并死亡。我相信这得到了我在 Hangfire 文档中找到的一个部分的支持,其中指出:
10 次重试尝试后,后台处理将停止并增加延迟修饰符
我对此的两个问题是:
谢谢!
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的Hangfire 经常性工作中断全部内容,希望文章能够帮你解决Hangfire 经常性工作中断所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。