Azure(基本)Web应用程序超过配额时记录

时间:2017-06-06 13:18:22

标签: azure azure-web-app-service

运行基本的免费Windows Azure Web应用程序以进行测试我经常超过3分钟的CPU时间(短)配额。

例如,在试用图像优化Nuget包AzureImageOptimizer(实现为Web作业)时,初始优化运行超出限制并停止服务器。

我注意到这些事件没有记录在Web App的活动日志中。为什么呢?

问题:

  • 是否记录了这些事件?
  • 是因为这是一个免费的Web应用程序吗?
  • 是否可以配置Web App以便记录它们?
  • 是否有另一种方法来捕捉这些 事件?

奖金问题:

  • 我可以在超出配额之前收到通知吗?

1 个答案:

答案 0 :(得分:0)

  

是否记录了这些事件?

没有。如果应用程序的使用量超过CPU(短),CPU(日)或带宽配额,则应用程序将停止,直到配额重新设置。不会将日志写入任何地方。

  

是因为这是一个免费的网络应用程序吗?

免费和共享计划都有资源限制。

  

是否可以配置Web应用程序以便记录它们?

我还没有找到任何办法。

  

是否有其他方法可以捕获这些事件?

由于您使用的是WebJob,因此可以在函数中添加CancellationToken参数。如果Web应用程序已停止。在函数停止之前,IsCancellationRequested属性将设置为true。

public static void ProcessQueueMessage([QueueTrigger("myqueue")] string message, CancellationToken cancellationToken)
{
    Task.Run(new Action(longTimeJob), cancellationToken);
    while (true)
    {
        Thread.Sleep(1000);
        if (cancellationToken.IsCancellationRequested)
        {
            Console.WriteLine("The function has been Cancelled since the Web App is stopped!");
        }
    }
}

以下是我在停止Web应用程序时从Azure WebJobs仪表板捕获的信息。

[06/07/2017 07:52:53 > 9d3635: INFO] The function has been Cancelled since the Web App is stopped!
[06/07/2017 07:52:53 > 9d3635: ERR ] Thread was being aborted.
[06/07/2017 07:52:53 > 9d3635: SYS INFO] WebJob process was aborted
[06/07/2017 07:52:54 > 9d3635: SYS INFO] Status changed to Stopped