主机不是运行;请求将排队但不会执行,直到主机启动
Host is not running; requests will be queued but not execute until the host is started
经常当我重新发布一个有一些小改动的 webjob 并尝试重新运行一个 Webjob 函数时,SCM 在门户网站中显示以下警告,我无法执行该函数
Host is not running; requests will be queued but not execute until
the host is started.
在这种情况下主机总是运行,作业设置为单例,多个主机应该没有问题。
WebJobs 仪表板会显示此消息,直到它从主机收到更新的 "heartbeat" 消息,表明主机是 运行。 JobHost 将心跳消息写入 blob 存储(在路径 /heartbeats 下的 azure-webjobs-hosts 容器中)。仪表板轮询特定主机 ID 的心跳 blob,并在检测到主机尚未启动时显示此消息 运行。在主机启动和仪表板看到 blob 更新之间可能存在 最小 延迟。
对我来说,这不是心跳问题或 HostId 命名更改。我的 WebJobs 在连续模式下 运行 正常,但不能单独 运行 它们。这是在 AssemblyInfo.cs.
中更新版本后发生的
至resolve/workaround:
- 下载Azure Storage Explorer
- 在您的应用服务上,从
AzureWebJobsStorage
和 AzureWebJobsDashboard
复制连接字符串
- 停止您的 WebJobs
- 连接到 Azure 存储资源管理器中的 Web 作业存储帐户
删除这些容器和队列:
容器
azure-jobs-host-archive
azure-jobs-host-output
azure-webjobs-dashboard
azure-webjobs-hosts
队列
azure-webjobs-*
- 如果您使用自定义 hostid,则用于您的 Web 作业的其他队列
- 启动 WebJobs
经常当我重新发布一个有一些小改动的 webjob 并尝试重新运行一个 Webjob 函数时,SCM 在门户网站中显示以下警告,我无法执行该函数
Host is not running; requests will be queued but not execute until the host is started.
在这种情况下主机总是运行,作业设置为单例,多个主机应该没有问题。
WebJobs 仪表板会显示此消息,直到它从主机收到更新的 "heartbeat" 消息,表明主机是 运行。 JobHost 将心跳消息写入 blob 存储(在路径 /heartbeats 下的 azure-webjobs-hosts 容器中)。仪表板轮询特定主机 ID 的心跳 blob,并在检测到主机尚未启动时显示此消息 运行。在主机启动和仪表板看到 blob 更新之间可能存在 最小 延迟。
对我来说,这不是心跳问题或 HostId 命名更改。我的 WebJobs 在连续模式下 运行 正常,但不能单独 运行 它们。这是在 AssemblyInfo.cs.
中更新版本后发生的至resolve/workaround:
- 下载Azure Storage Explorer
- 在您的应用服务上,从
AzureWebJobsStorage
和AzureWebJobsDashboard
复制连接字符串
- 停止您的 WebJobs
- 连接到 Azure 存储资源管理器中的 Web 作业存储帐户
删除这些容器和队列:
容器
azure-jobs-host-archive
azure-jobs-host-output
azure-webjobs-dashboard
azure-webjobs-hosts
队列
azure-webjobs-*
- 如果您使用自定义 hostid,则用于您的 Web 作业的其他队列
- 启动 WebJobs