嗨,我已经面临这个问题好几天了。希望我能在这里找到一些解决方案。
我有一个 dotnet 核心应用程序,我在其中实现了 HostingService 以从数据库中获取一些记录并将其推送到石英触发器。
以下在 IIS 中运行良好,但部署到 Azure HostingService 时运行了几次迭代,一段时间后没有日志。
我一直在使用此链接中的示例。
我的 Execute 看起来像这样
Execute:
{
for(;true;)
{
writelog()
List data = getfromdb();
foreach(var d in data )
{
if(checklogic)
{
pushtoquartz(d)
}
}
}
}
我需要同时解雇很多工作,比如每天上午 10 点,这可以达到 10,000 多个。任何有关实施的建议,或任何设计缺陷(如果有)在当前实施中,或任何建议真的很感激。
我为此编写了另一个实现,这次我使用 Hangfire 每 1 分钟检查一次数据库记录。这似乎有一个问题,在 IIS 中也很有效,但在 Azure 中却没有。实现如下
List data = getfromdb();
writelog()
foreach(var d in data )
{
if(checklogic)
{
pushtoquartz(d)
}
}
已处理异常。
感谢您通读。第一次在 stackoverflow 上,如有必要,我可以添加更多我错过的信息。
环境:
- 点网核心 v3.1
- Azure 应用服务 Linux B1 层