我有一个连续的WebJob,我想配置它只有一个实例。
这是通过将" {" is_singleton":true}"设置在" settings.job"文件。
How to Run a Continuous WebJob as a Singleton
我正在努力解决的问题是部署这样的文件。
我链接的文章建议您必须手动将此文件放在WebJob文件夹的根目录中。
"添加此行后,将settings.job文件保存到连续WebJob的根文件夹中。"
该目录在部署之前不会存在,因此在部署之后,可能会有多个实例在运行,因为它没有该设置文件。所以我需要在WebJob中添加一些内容来检查单个实例设置是否存在以及它是否不会运行?
这似乎很蹩脚......
同一篇文章的确建议使用WebJobs API,但这并不是内置于发布过程中的,因此它是一个手动步骤或在WebJob本身运行的一些奇怪的代码。 / p>
我觉得我必须错过一种方法来解决这个问题。
我在Google上搜索过那些做过同样事情的人,但我找不到多少。
答案 0 :(得分:16)
请尝试以下方法:
settings.job
文件它应该部署。在此处查找完整示例:https://github.com/davidebbo-test/WebAppWithWebJobsVS。
答案 1 :(得分:-1)
我将settings.job添加到每个Web作业的各自bin文件夹+“始终复制”设置中 - 然后从Visual Studio执行Azure发布。工作了一个魅力。
需要重新启动我的Azure应用程序才能获取此内容。