【发布时间】:2015-09-08 10:39:26
【问题描述】:
我有一个在 Azure 上运行的 WebApp,WebApp 的目的是处理来自 Azure 存储队列的作业。它设置为始终开启。问题是当我在 Azure 管理门户中停止 WebApp 时,作业实际上并没有停止。
我将工作实例化为:
class Program
{
static void Main()
{
string connectionString = ConfigurationManager.ConnectionStrings["StorageConnectionString"].ConnectionString;
JobHostConfiguration config = new JobHostConfiguration(connectionString);
config.NameResolver = new QueueNameResolver();
JobHost host = new JobHost(config);
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
}
处理队列的函数是:
public static void ProcessQueueMessage([QueueTrigger("%apilogeventqueue%")] CloudQueueMessage messageEnvelope, TextWriter log, CancellationToken token)
{
}
我有跟踪日志记录,因此我可以看到作业实际上从未停止过。
【问题讨论】:
-
更糟糕的是,当我导航到 WebJobs 选项卡并查看 Web 作业的日志时,我实际上可以看到作业处于活动状态,但我已将 Always on 更改为 false 并停止了 WebApp
标签: azure web-applications azure-webjobs azure-webjobssdk azure-storage-queues