如何将 Continuous Webjob 设置为 Singleton?

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

我已经看到了一些关于使用

settings.job
的指导,但它不起作用 - 在控制台中我看到:

 WebJob singleton setting is False

如何防止横向扩展运行我的网络作业的多个实例?

azure-webjobs
2个回答
11
投票

据我所知,要将连续作业设置为单例,我们可以创建一个名为 settings.job

 的文件,其内容为: 
{ "is_singleton": true }
 并将其放在 WebJob 目录的根目录下。
并且我们可以
获取连续作业设置来确定它是否是单例。

GET /api/continuouswebjobs/{job name}/settings

在控制台中我看到: WebJob 单例设置为 False

请使用Kudu工具检查WebJob根目录下是否存在settings.job以及

is_singleton

属性的实际值。


3
投票
如果可以使用 WebJobs SDK,我更喜欢使用

Singleton

 属性。

https://learn.microsoft.com/en-us/azure/app-service/webjobs-sdk-how-to#singleton-attribute

[Singleton] public static async Task ProcessImage([BlobTrigger("images")] Stream image) { // Process the image. }
如果您有 ServiceBus 触发器之类的东西,您应该将 

[Singleton(Mode = SingletonMode.Listener)]

 与其他主机设置结合使用。

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