仅根据环境(交换槽)在服务器上拾取Hangfire任务

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

我们正在使用Azure App Services为网站运行Hangfire。我们还使用了精彩的swapping mechanism。这意味着我们不是部署到生产,而是部署一个插槽并在部署完成后进行交换。

问题是,交换槽不断从hangfire中获取作业。

我想确保只有生产槽实际上正在执行hangfire作业。挑战在于,无论是否生产,都会发生状态,无需重启应用程序(双向)。

我可以在Azure中设置插槽粘性应用程序设置,以便我可以识别我是否处于生产模式。它只是给我一个关键问题:

如何在运行时启用和禁用我的应用程序处理作业?

.net azure azure-web-sites hangfire
1个回答
0
投票

尝试配置触发的WebJob,它在每次调用API或达到计划时运行作业。此外,有2个配置设置来停止WebJob,

•WEBJOBS_STOPPED - 将此设置设置为1可禁用运行任何作业(也将停止当前正在运行的所有作业)。

•WEBJOBS_DISABLE_SCHEDULE - 将其设置为1可关闭所有计划的触发。与WEBJOBS_STOPPED不同,WebJobs仍然可以手动调用。

有关更多详细信息,请参阅此文章:https://github.com/projectkudu/kudu/wiki/WebJobs

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