1

我有一个应用服务,它有一个连续运行的带有 2 个插槽的网络作业。生产和分期。

代码是这样的

    public static void ProcessQueueMessage([QueueTrigger("mywjqueue")] string message, TextWriter log)
    {
        string hostName = Environment.GetEnvironmentVariable("Slot");
        var endDate = DateTime.Now.AddMinutes(10);
        int count = 0;
        while (endDate > DateTime.Now)
        {
            count++;//Environment.MachineName
            log.WriteLine($"{count} ({DateTime.Now.ToString("T")})- '{message}'; Thread Id: {System.Threading.Thread.CurrentThread.ManagedThreadId}; slot:{hostName}");
            System.Threading.Thread.Sleep(1000);
        }
    }

有时,如果生产槽 webjob 中正在运行某些进程,则管道中的任务交换槽会显示成功,但在 azure 上,槽不会切换!

在此处输入图像描述

查看Configuration and Management>Check Swap Operations我们可以看到有一个问题,因为它说它无法修改站点,因为另一个操作正在进行中。

在此处输入图像描述

这是一个已知问题吗?如何解决?在尝试交换插槽之前先停止生产中的连续网络作业?

4

0 回答 0