gpt4 book ai didi

azure - 连续的WebJob自动停止

转载 作者:行者123 更新时间:2023-12-03 23:32:01 24 4
gpt4 key购买 nike

我有一个与网站关联的 Webjob,该 Webjob 配置为连续运行,它所做的就是监视队列中的消息并处理它。

我的网站处于共享模式,目前几乎没有任何流量,因此我设置了虚拟服务,每 1 分钟请求一次主页,以防止网站在测试过程中被关闭,并且接缝按预期工作,我可以注意到网站本身没有关闭。但是,除非我转到 Azure 管理门户并查找 Web 作业状态,否则此 Web 作业会在大约一个小时内关闭。我一去那里,它就会再次启动,然后在几分钟到一个小时内关闭。

此网络作业的日志文件显示如下内容:

[02/13/2015 09:19:45 > 4660f6: INFO] Job host started
[02/13/2015 10:19:41 > 4660f6: SYS INFO] WebJob is still running
[02/13/2015 10:20:35 > 4660f6: SYS INFO] WebJob is stopping due to website shutting down
[02/13/2015 10:20:35 > 4660f6: SYS INFO] Status changed to Stopping
[02/13/2015 10:20:35 > 4660f6: INFO] Job host stopped
[02/13/2015 10:20:35 > 4660f6: SYS INFO] Status changed to Success
[02/13/2015 10:20:35 > 4660f6: SYS INFO] Status changed to Stopped

我可以看到我的网站仍在运行并返回主页,但作业本身已停止。

现在,当我登录管理门户查找状态时,我可以在日志中看到以下内容:

[02/13/2015 10:20:35 > 4660f6: SYS INFO] Status changed to Success
[02/13/2015 10:20:35 > 4660f6: SYS INFO] Status changed to Stopped
[02/13/2015 14:56:15 > 4660f6: SYS INFO] Status changed to Starting
[02/13/2015 14:56:17 > 4660f6: SYS INFO] Run script 'WebJobs.exe' with script host - 'WindowsScriptHost'
[02/13/2015 14:56:17 > 4660f6: SYS INFO] Status changed to Running
[02/13/2015 14:56:19 > 4660f6: INFO] Found the following functions:
[02/13/2015 14:56:19 > 4660f6: INFO] WebJobs.NotificationsProgram.ProcessQueueMessage
[02/13/2015 14:56:19 > 4660f6: INFO] WebJobs.NotificationsProgram.PublishNotification
[02/13/2015 14:56:19 > 4660f6: INFO] WebJobs.NotificationsProgram.ProcessMessages
[02/13/2015 14:56:19 > 4660f6: INFO] Job host started

关于如何确保只要网站处于事件状态,网络作业就处于事件状态,有什么想法吗?或者至少让网站在回到运行状态时也启动 webjob。

更新1

我的网络作业本身非常简单,如下所示:

static void Main(string[] args)
{
JobHost host = new JobHost();
host.RunAndBlock();
}

触发函数看起来很接近这样:

public static void WriteLogPOCO([QueueTrigger("logqueue")] BlobInformation blobInfo, TextWriter logger)
{
logger.WriteLine("Queue message refers to blob: " + blobInfo.BlobName);
}

这里我必须做些什么来表明这项工作应该遵循网站的生命周期,即每次启动网站时都启动。

更新2

我尝试查看 Process Explorer,当 WebJobs 停止时,我看到了三件事之一。我不知道如何在不访问管理门户的情况下查看作业日志,因此目前不知道实际日志。

Sometimes this Sometimes I see this enter image description here

但我确信作业没有运行,因为在我访问管理门户之前它不会处理队列中的任何消息。

pingdom结果如下所示,表明网站本身正在运行,没有任何中断: Ping Dom Result

问候基兰

最佳答案

如果您要在共享模式下运行,这种行为是正常的。如果您有连续运行的网络作业,建议您打开始终开启。但是,这是基本标准的功能,因此您需要更改模式或重新考虑您的解决方案。

此外,请注意 this link 所做的这些注释。 .

enter image description here

enter image description here

关于azure - 连续的WebJob自动停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28502696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com