ServiceBus触发器只是停止在Web作业上随机工作,为什么?

问题描述 投票:1回答:1

因此,我有一个Azure Web作业正在使用服务总线触发器来处理队列中的信息。它通常可以工作,并且我将其设置为并行处理16个项目。实际上,我什至还放置了另一个Web作业副本,因此我可以同时处理32个项目,因为我的队列已很满,并且需要花费一些时间来处理每个项目。

因此,我从晚上11点开始加载队列,当我在上午7点左右检查队列加载时,有时本应为空的队列仍然半满。我检查了两个Web Job的Azure WebJobs仪表板,它们在“调用的函数”部分中都有一长串成功消息,但最近的消息说已在4个小时前完成。我的“连续Web作业详细信息”输出窗口已达到最大日志记录输出,因此什么也没有显示。我什至已经打开了应用程序日志记录(blob存储),所以我不确定为什么控制台停止输入信息。

大多数夜晚,一路走来,但是在某些夜晚,它就这样停止了。即使有2个单独的Web作业,它们的结束方式也相同。我有一个晚上,其中一个停了下来,一个却继续走着,但是一次只能处理1个,而不是16个,那天晚上早些时候还不错。我已将机器设置为始终开机,网络作业是连续的。设置了缩放比例设置,以便在晚上11点至凌晨6点之间可以使用更多处理器,但不会创建更多实例。 Web作业全部共享一个设置为Standard Small的网站应用程序。

如果重新启动计算机或停止并启动Web作业,它们将再次恢复正常,但是可靠性似乎太差且随机。我不确定这些是否是某些硬件更改或故障或某些情况下的“瞬态”问题,就像我一晚上看到的那样。我不确定为什么事情会停止,为什么不只是不断拉动和处理。我觉得我只需要运行一个while循环而不是一个触发器,但是据我了解,触发器是同一回事,因为它不因使用某种后退计时器浪费太多的cpu而被认为更聪明?我是否需要蛮力地对待它并浪费CPU?我应该只移到在VM上运行的控制台应用程序吗?

希望对为什么会发生这种情况有所了解。如果出现问题,我会尝试通过电子邮件记录错误,这是很多尝试/尝试,而我一次致电就收到了一个错误:“无法从传输连接中读取数据:连接尝试失败,因为一段时间后连接方未正确响应,或者连接建立失败,因为连接的主机未能响应。”

也许这是暂时性错误的线索,我丢失了一些网络或硬件连接,并杀死了所有内容,但是在一次运行的32个进程中,我仅收到一个错误消息。

想法?

c# azure azure-webjobs servicebus
1个回答
0
投票

您找到有关您问题的东西了吗?

问候

© www.soinside.com 2019 - 2024. All rights reserved.