【发布时间】:2020-02-19 21:16:35
【问题描述】:
所以我的 webjob 在 10 个实例上运行,抓取队列的 10 条消息并根据我在个人日志中的信息处理它们,但是 webjob 日志从未显示它正在完成,并且状态继续“运行”,即使它应该完成。这项工作确实会运行一段时间,大约 45-60 分钟,因为我要为每次通话同步大量数据。我检查了进程资源管理器,线程说“正在运行”,但是当我查看详细信息时,我看到如下:
此处为进程资源管理器示例
不确定如何使作业将其状态更改为“成功”并继续处理队列中的下一个项目。
另一个相关问题,我正在使用 ServiceBusTrigger,但由于调用需要 5 分钟以上才能完成,作业的下一个实例再次从队列中提取相同的项目,所以我有 2 个进程正在运行队列中的相同消息。它每 5 分钟执行一次,直到我的可用实例数达到 10 为止。有没有办法阻止这种情况发生?这可能与上述问题有关。
【问题讨论】:
-
嗨@Mike,您的控制台输出中是否有任何异常或调试信息可以帮助指出您的函数挂起的位置?见docs.microsoft.com/en-us/azure/app-service/media/…。
-
这最终成为一个问题,将字符串与 BrokeredMessage 发送到我的作业中的方法,然后必须在作业运行后立即完成调用以从队列中删除消息。跨度>
-
@Mike,很好!你能发布一个答案,它会对其他人有帮助吗?
标签: azure process azure-webjobs