如果我应用[Singleton]和[NoAutomaticTrigger]属性并发布了Webjob,它将进入待处理的重启状态。
我们要解决方法中发生的多实例问题。
请帮助。
答案 0 :(得分:0)
进入待处理的重启状态。
在您的情况下,您需要检查webjob进入挂起的重启状态的原因。
有很多原因进入挂起的重启状态。可能是由于问题或webjob线程完成需要重启。我们可以使用Webjob日志进行检查。
在将其发布到Azure之前,我们确保其在本地正确运行,并添加具有存储连接字符串的appsetting AzureWebJobsDashboard和AzureWebJobsStorage ,然后我们可以从webjob仪表板获取webjob日志。
如果将其发布为连续类型的webjob,则方法将完全执行。并且状态将变为挂起重启。这是正常行为。
[Singleton]和[NoAutomaticTrigger] 属性可以正常工作,请参考以下演示代码。
static void Main()
{
JobHost host = new JobHost();
host.Call(typeof(Functions).GetMethod("CreateQueueMessage"), new { value = "Hello world!" + Guid.NewGuid() });
}
[Singleton]
[NoAutomaticTrigger]
public static void CreateQueueMessage(TextWriter logger,string value,[Queue("outputqueue")] out string message)
{
message = value;
logger.WriteLine("Creating queue message: ", message);
Console.WriteLine(message);
}