我们有两个环境Test(登台)和Prod(生产)。 几乎所有设置都相同,我的WebJob是基于.NET Framework 4.7.2的控制台应用程序。它计划每天凌晨3点运行。此WebJob的唯一目的是在WebApp上调用我们的终结点。
在测试环境中,WebJob按预期运行-每天运行一次。因为它应该调用我们的API,所以我可以使用“应用程序见解”并在此端点上搜索传入的请求,最近30天每天都有一次请求:
但是在PROD环境中,它会更有趣。这是应该由WebJob调用的同一端点的最近30天的图表:
它仅被调用了两次-更准确地说,到端点的调用仅在Application Insights中记录了两次。
当我检查“ WebJobs”部分时,WebJob处于“成功”状态,并且在日志中,我可以看到: “ [[05/23/2019 03:00:12> 184a66:SYS INFO]状态更改为成功”
仅在调用端点并接收到202 OK代码后才记录此状态,因此必须调用某些内容,因为作业成功完成。
但是在提到的端点上处理的第一行中的一行被写入到我们的跟踪日志中-但是什么都没有,该日志为空-此跟踪日志独立于ApplicationInsights,它记录在我们的存储表中。
此WebJob的目的是安排推送通知,当我在Azure上检查我们的Notification Hub时,我可以看到某个东西在凌晨5点左右发送了计划的推送通知,这恰好是作业应运行的时间(工作时间3:00)日志为UTC,图形为UTC + 2)
为什么端点上的请求未记录?如果已更改为“成功”状态,则必须调用它。
如果处理了代码并安排了推送通知,为什么我们的跟踪日志为空?
它是否有可能在我们的WebApp的其他实例上运行?
总结我的期望:
似乎此问题发生在我们拥有的所有webJob上,这一点最为明显。主要问题是我无法跟踪它。
此外,“始终打开”设置被设置为“启用”。 我还尝试将ServicePointManager.DefaultConnectionLimit设置为48,因为以前它仅在默认值(2)上没有帮助。