gpt4 book ai didi

python - 间歇性 "getrandom() initialization failed"使用 scrapy spider

转载 作者:太空狗 更新时间:2023-10-30 01:04:51 26 4
gpt4 key购买 nike

我构建了一个 scrapy 蜘蛛(scrapy 1.4)。这个蜘蛛是通过 django-rq 和 supervisord 从 django 网站按需触发的。

这是监听 django-rq 事件的 supervisord 作业(reddit 用作代理)

[program:rq_worker] 
command=python3 manage.py rqworker default
directory=/var/www/django-app
autostart=true
autorestart=true
stderr_logfile=/var/log/rq_worker.err.log
stdout_logfile=/var/log/rq_worker.out.log

此设置运行良好。然而,有时(我无法按需重现该问题),所有蜘蛛都会抛出相同的 OpenSSL 错误:

2018-02-11 11:02:19 [scrapy.core.scraper] ERROR: Error downloading <GET https://whateverwebsite.com>
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/twisted/internet/defer.py", line 1299, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/usr/local/lib/python3.5/dist-packages/twisted/python/failure.py", line 393, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/usr/local/lib/python3.5/dist-packages/scrapy/core/downloader/middleware.py", line 43, in process_request
defer.returnValue((yield download_func(request=request,spider=spider)))
twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure OpenSSL.SSL.Error: [('', 'osrandom_rand_bytes', 'getrandom() initialization failed.')]>]

重新启动 supervisord 使问题消失。

为了确保我的网站及其爬虫正常运行,我必须在每次重新启动 supervisord 时进行测试,确保没有问题。没什么大不了的,但仍然......

我想了解那里出了什么问题?我该如何解决这个问题?跟supervisord有关吗?扭曲相关? openSSL相关?

谢谢你的帮助

最佳答案

我有类似的错误,但是使用 python-requests 库:

Error([('', 'osrandom_rand_bytes', 'getrandom() initialization failed.')],)

这是由于随机数生成器未能及时收集足够的熵造成的。我已经安装了 rng-tools它解决了问题。

关于python - 间歇性 "getrandom() initialization failed"使用 scrapy spider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48843728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com