首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用scrapy spider间歇性的"getrandom()初始化失败“

使用scrapy spider间歇性的"getrandom()初始化失败“
EN

Stack Overflow用户
提问于 2018-02-18 01:01:31
回答 1查看 2.3K关注 0票数 5

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

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

代码语言:javascript
复制
[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错误:

代码语言:javascript
复制
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相关?

谢谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2018-05-30 02:17:38

我也有过类似的错误,但对于python请求库:

代码语言:javascript
复制
Error([('', 'osrandom_rand_bytes', 'getrandom() initialization failed.')],)

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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48843728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档