我们有一个在云中运行的工作角色,它定期轮询 Azure CloudQueue,以检索 Web 角色为我们放置的消息。目前,worker 角色和 web 角色位于同一个云服务应用程序中,目前我们只运行一个实例。
在我们进行测试时,我们打开了日志记录,因此消息的内容和其他有用信息出现在我们使用 Cerebrata Azure 诊断管理器查看的云存储中。(顺便说一句,很棒的产品)
DiagnosticMonitorConfiguration diagConfig = DiagnosticMonitor.GetDefaultInitialConfiguration();
diagConfig.Logs.ScheduledTransferLogLevelFilter = LogLevel.Verbose;
实际上,这一切似乎都运行得非常好,但是有时我们会在跟踪日志中看到一条 Verbose 消息,其中仅包含“Fail”作为消息。它似乎是从中生成的代码被包装在一个 try catch 中,所以奇怪的是我们没有通过这些方式看到消息。
似乎发生了一些超出我们代码控制的事情,可能正在重新启动工作角色,或者云操作系统检测到只有它才能通过重新启动我们的工作角色来处理的重大错误。它会恢复并继续存在,因此对我们来说可能发生的事情有点神秘。
我们尚未确定的是我们是否正在丢失消息。
任何帮助将不胜感激。干杯 Kindo 马来语