我的连续 webjob 发布到多个应用程序服务每天只会 运行 一个应用程序服务,而不是每个 cron 计划 运行ning

my continous webjob published to multiple app services will only run for one of the app services a day instead running per cron schedule

我有一个具有两个功能的 c# webjob。一个是 blobtrigger,另一个是 TimerTrigger("0 */2 * * * *").

我将 webjob(通过 visual studio)发布到每个应用程序服务(都在同一资源组中,使用相同的 blobstorage。)

我预计其中每一个都会 "trigger" 每 2 分钟一次。相反,正在发生的事情只是我的一个网络作业将 运行 一天,其余的应用程序服务一整天都没有网络作业 运行。

在 azure-webjobs-host 计时器日志中只有这一行:

{"Last":"2020-01-31T20:00:00.0030602+00:00","Next":"2020-01-31T20:02:00+00:00","LastUpdated":"2020-01-31T20:00:00.0030602+00:00"}

知道为什么 webjob 没有 运行在其他应用程序服务中吗?

2 个问题:

  1. 拥有多个 blob 触发器意味着任何应用服务都可以为其提供服务。我真的只需要每个容器一个 blobtrigger。

  2. 触发的函数不是运行和阻塞,所以blob.ExistsAsync会花很长时间到return。所以我做了作业 async Task,使用 JobHost.CallAsync 然后 Wait();