Python日志调用无限执行

时间:2016-08-13 02:05:29

标签: python django python-requests uwsgi

我们在应用程序中看到了一些奇怪的行为,其中日志语句无限执行。此问题在本地和生产系统上都会发生。我们的堆栈是一个简单的uWSGI / Django堆栈,因此它似乎与uWSGI或Whiskey无关。

我们一直无法重现这个问题,有时几天没有问题就会让人头疼,但总有一个非常清晰的模式:

logger.info('Beginning download')
response = requests.get(url, stream=True)
logger.info('Downloading %s' % url)

在我们的日志中:

Beginning download
Downloading http://XXX
Downloading http://XXX
Downloading http://XXX
Downloading http://XXX
Downloading http://XXX
Downloading http://XXX
Downloading http://XXX
Downloading http://XXX

直到您手动杀死威士忌或uWSGI harakiri's。

无论您使用requests.getrequests.post还是其他任何方法,它似乎并不重要。

实际的网络请求似乎没有执行N次。只是写入文件或stdout的日志是无限的时间。

修改以下是Context

中的来源

它也会在代码的其他部分发生,总是在调用请求库之后。我们称之为哪个URL并不重要。我们与S3,各种社交媒体API接口,并且行为在所有类型的URL中展示。

0 个答案:

没有答案