Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure函数在应用程序服务计划中两次调用自己_Azure_Azure Functions - Fatal编程技术网

Azure函数在应用程序服务计划中两次调用自己

Azure函数在应用程序服务计划中两次调用自己,azure,azure-functions,Azure,Azure Functions,我的azure函数中有以下代码,手动超时时间为10分钟 using System.Net; public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log) { log.Info("C# HTTP trigger function processed a request."); try { TimeSpan ts = TimeS

我的azure函数中有以下代码,手动超时时间为10分钟

using System.Net;

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
    log.Info("C# HTTP trigger function processed a request.");
    try
    {
        TimeSpan ts = TimeSpan.FromMinutes(1);
        for(int i=0;i<10;i++)
        {
            await Task.Delay(ts);
            log.Info(String.Format("After 1 Min Delay {0}",i));
        }
        log.Info(String.Format("After 10 Min Delay "));
        return req.CreateResponse(HttpStatusCode.OK);
    }
    catch (Exception e)
    {
        log.Info(String.Format("exception: {0}", e));
        return req.CreateResponse(HttpStatusCode.BadRequest);
    }
}

在上面的日志中,您可以看到azure函数调用了两次,并且它给出了错误(500:内部服务器错误)以及在它完成执行之后

我重现了你的问题,发现这似乎是一个问题

修复程序现在部署在版本1.0.11015.0中(在功能门户的“设置”页面中可见)。如果您没有运行此版本,请手动重新启动应用程序,它将获取最新版本


此外,正如您所说,您使用应用程序服务计划。您可能会超过消费计划允许的最大执行时间(10分钟)。

这是关于http请求超时和重试的问题

当我直接在门户中运行该函数时,它将在@Sumit和@Joey看到的近4m后再次被调用。我将延迟减少到10秒,该函数只触发一次并返回200

尝试使用邮递员发布请求,这一次该功能仅触发一次,并显示下面的响应消息

正如我们在代码中所看到的,在进程完成之前,不会返回响应。它超出了超时设置,并且根据设计,门户发布的请求将在超时后重试

更新

Azure函数是Azure Web应用的一种,请参阅

对于不返回任何数据的请求,有230秒(即略少于4分钟)的超时时间。之后,客户机将获得您看到的500,即使实际上允许请求在服务器端继续


为什么你认为它在自命?每次都可以重复吗?这不是消费计划的最大执行时间吗?运行时可能会在函数达到超时阈值后重新启动函数。@Mikhail您可以查看日志,在日志中看到函数以不同的方式启动了两次instances@evilSnobuI在标题中提到,我正在使用应用程序服务计划,其中最长执行时间可以超过10天minutes@SumitGarg也就是说某人它叫了两次,并不是说它叫自己。您没有回答它是否可复制。您提到的问题与
queuetrigger
有关,而不是
httptrigger
。几乎相同。因为OP运行函数,但不触发它,它还获取日志。我认为它与queuetrigger无关。@Joycai Thomas正确地说,问题是queuetrigger,而不是httptrigger。是的,我尝试过这种方法,但得到了相同的结果。非常感谢您,但是我们可以运行该功能超过10分钟是没有意义的,但是在Azure前端,我们不能运行超过4分钟minutes@SumitGarg对,根据应用服务计划,该功能可以运行10万次以上。但对于httptrigger,我们向服务器发送一个http请求,并要求在超时时间内返回响应,这是webserver的基本要求。似乎10m+是我们运行httptrigger以外的触发器,因为默认情况下,响应必须在近4m内发送。你能描述一下你想用10m手动超时实现什么吗?问题:你能描述一下你想用10m手动超时实现什么吗?答:我想处理完整的表格模型。@SumitGarg不熟悉表格模型,在ssas中利用超时设置是否可以接受?看看这个线程是否有用。我想你没有注意到在后台出现异常后函数将完成一件事,它将处理完整的表格模型。我只需要web服务器超时
2018-05-15T11:12:42  Welcome, you are now connected to log-streaming service.
2018-05-15T11:12:55.826 [Info] Function started (Id=f25e0bbd-7103-4823-b8f1-ef28888f7007)
2018-05-15T11:12:55.826 [Info] C# HTTP trigger function processed a request.
2018-05-15T11:13:55.844 [Info] After 1 Min Delay 0
2018-05-15T11:14:55.857 [Info] After 1 Min Delay 1
2018-05-15T11:15:55.862 [Info] After 1 Min Delay 2
2018-05-15T11:16:47.385 [Info] Function started (Id=7371ed94-9b62-40cc-bec0-00b8d5e0a250)
2018-05-15T11:16:47.385 [Info] C# HTTP trigger function processed a request.
2018-05-15T11:16:55.879 [Info] After 1 Min Delay 3
2018-05-15T11:17:47.395 [Info] After 1 Min Delay 0
2018-05-15T11:17:55.883 [Info] After 1 Min Delay 4
2018-05-15T11:18:47.400 [Info] After 1 Min Delay 1
2018-05-15T11:18:55.899 [Info] After 1 Min Delay 5
2018-05-15T11:19:47.411 [Info] After 1 Min Delay 2
2018-05-15T11:19:55.914 [Info] After 1 Min Delay 6
2018-05-15T11:20:47.413 [Info] After 1 Min Delay 3
2018-05-15T11:20:55.920 [Info] After 1 Min Delay 7
2018-05-15T11:21:47.416 [Info] After 1 Min Delay 4
2018-05-15T11:21:55.930 [Info] After 1 Min Delay 8
2018-05-15T11:22:47.436 [Info] After 1 Min Delay 5
2018-05-15T11:22:55.936 [Info] After 1 Min Delay 9
2018-05-15T11:22:55.936 [Info] After 10 Min Delay
2018-05-15T11:22:55.936 [Info] Function completed (Success, Id=f25e0bbd-7103-4823-b8f1-ef28888f7007, Duration=600105ms)
2018-05-15T11:23:47.447 [Info] After 1 Min Delay 6
2018-05-15T11:24:47.452 [Info] After 1 Min Delay 7
2018-05-15T11:25:47.467 [Info] After 1 Min Delay 8
2018-05-15T11:26:47.478 [Info] After 1 Min Delay 9
2018-05-15T11:26:47.478 [Info] After 10 Min Delay
2018-05-15T11:26:47.478 [Info] Function completed (Success, Id=7371ed94-9b62-40cc-bec0-00b8d5e0a250, Duration=600086ms)