Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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
Python Azure函数冻结(?)_Python_Azure_Azure Functions - Fatal编程技术网

Python Azure函数冻结(?)

Python Azure函数冻结(?),python,azure,azure-functions,Python,Azure,Azure Functions,我在Azure功能应用程序、应用程序服务计划中有一个功能 我的函数是用python编写的。它包含一个循环,该循环使用tweepy模块使用来自twitter API的数据,并将结果写入本地临时文件,然后将其保存到Azure存储中的文件中(我使用AppendedBlobservice) 问题 问题是有时我的函数只是冻结(?)。它会发出请求,获取结果,保存结果,然后随时冻结。它并没有停止,当我看显示器面板时,它仍然在运行(三个蓝点)。停止它的唯一方法是我必须重新启动一个实例(一段时间后,蓝点变成橙色感

我在Azure功能应用程序、应用程序服务计划中有一个功能

我的函数是用python编写的。它包含一个循环,该循环使用tweepy模块使用来自twitter API的数据,并将结果写入本地临时文件,然后将其保存到Azure存储中的文件中(我使用AppendedBlobservice)

问题

问题是有时我的函数只是冻结(?)。它会发出请求,获取结果,保存结果,然后随时冻结。它并没有停止,当我看显示器面板时,它仍然在运行(三个蓝点)。停止它的唯一方法是我必须重新启动一个实例(一段时间后,蓝点变成橙色感叹号)。它不会显示任何错误,也不会产生任何结果。它没有引发异常,最后块没有被执行,感觉函数就在那里,没有执行新行,没有停止,什么都没有

完全令人困惑的是,这种情况在执行过程中的不同步骤发生。有时它发生在调用API时(因此看起来该方法永远不会返回),有时发生在检查存储中是否存在blob时(通过BlockBlobService完成),有时发生在保存结果时

假设

我的假设是API有问题。然而,当我在本地测试时,API没有问题。我可以连续发出很多请求而没有任何问题,而在Azure函数中3-5次请求后它会冻结。(速度也慢得多。) 所以,另一种可能是将文件保存到存储器出错,但问题是,有时它确实正确地保存了结果。它保存,然后循环回API调用并被卡住,或者它完成API调用并被卡住,而不是保存或其他任何东西

在当地的环境中,一切都很好,所以我真的不知道如何在这里继续下去。我试图通过在每个步骤之间打印出来来跟踪它,我发现了它挂起的位置,如上所述,但它仍然不知道为什么挂起,因为有时代码块工作得很好

关于问题可能是什么,或者我应该如何调试这个问题,有什么建议吗?谢谢

编辑

这是由于应用程序服务/函数(
2.7.8
)和
urllib3
模块使用的python版本造成的问题,请参阅。在web应用更新python版本之前,可以忽略或记录导致应用崩溃的错误

您可以将自定义版本的python带到函数中:


API可能存在并发性问题。只要可能,尝试将所有逻辑移到输入/输出绑定。此外,您可以尝试限制并发性。考虑使用存储队列触发器,并在您的./P>中设置BACCHSIZE为1(无并发)。 查看日志,tweepy库中的函数有一些错误

是一篇关于访问日志的文章,或者您可以直接查看
.scm.azurewebsites.net/debugConsole
->
日志文件/应用程序/函数
。您还可以通过以下方式更改日志记录行为。

编辑:

这是由于应用程序服务/函数(
2.7.8
)和
urllib3
模块使用的python版本造成的问题,请参阅。在web应用更新python版本之前,可以忽略或记录导致应用崩溃的错误

您可以将自定义版本的python带到函数中:


API可能存在并发性问题。只要可能,尝试将所有逻辑移到输入/输出绑定。此外,您可以尝试限制并发性。考虑使用存储队列触发器,并在您的./P>中设置BACCHSIZE为1(无并发)。 查看日志,tweepy库中的函数有一些错误


是一篇关于访问日志的文章,或者您可以直接查看
.scm.azurewebsites.net/debugConsole
->
日志文件/应用程序/函数
。您还可以通过更改日志记录行为。

发生这种情况时,队列中始终只有一个项目。如果你能看看我的功能,那就太好了。站点:,函数名以_searchI结尾。我已经查看了日志文件/应用程序/函数中的日志,它没有比函数门户中更多的信息(只是在某些步骤中停止打印任何内容)。在Kudu中,这些调用日志与监视器窗格中显示的相同。当我的函数冻结时,状态为“永不完成”,因此除了绑定参数值和上下文之外没有其他信息。请告诉我在哪里可以找到这些tweepy错误日志?发生这种情况时,队列中总是只有一项。如果你能看看我的功能,那就太好了。站点:,函数名以_searchI结尾。我已经查看了日志文件/应用程序/函数中的日志,它没有比函数门户中更多的信息(只是在某些步骤中停止打印任何内容)。在Kudu中,这些调用日志与监视器窗格中显示的相同。当我的函数冻结时,状态为“永不完成”,因此除了绑定参数值和上下文之外没有其他信息。能告诉我在哪里可以找到那些tweepy错误日志吗?