Python 在CKAN中上载文件,但收到';无法连接到DataPusher';错误
我正试图上传一个文件到CKAN。但是,我从日志中收到此错误: {'message':'无法连接到DataPusher','details':“HTTPConnectionPool(host='localhost',port=8800):url:/job超过了最大重试次数(由NewConnectionError引起(':未能建立新连接:[Errno 99]无法分配请求的地址',)”} 在CKAN重试几次后,上传最终完成。我可以下载我的资源并跟踪视图 我不明白为什么前几次连接失败了。我尝试使用:Python 在CKAN中上载文件,但收到';无法连接到DataPusher';错误,python,apache,networking,urllib,ckan,Python,Apache,Networking,Urllib,Ckan,我正试图上传一个文件到CKAN。但是,我从日志中收到此错误: {'message':'无法连接到DataPusher','details':“HTTPConnectionPool(host='localhost',port=8800):url:/job超过了最大重试次数(由NewConnectionError引起(':未能建立新连接:[Errno 99]无法分配请求的地址',)”} 在CKAN重试几次后,上传最终完成。我可以下载我的资源并跟踪视图 我不明白为什么前几次连接失败了。我尝试使用:cu
curl来测试连接http://localhost:8800
但我收到了错误:
curl:(56)Recv故障:对等方重置连接
然后我尝试修改我的ckan.ini
,现在设置指定如下:
ckan.plugins = datastore datapusher
ckan.datapusher.url = http://localhost:8800
同样在datapusher.conf中,我的主机设置为0.0.0
,端口设置为8800
:
Listen 8800
<VirtualHost 0.0.0.0:8800>
ServerName ${CKAN_SERVER_NAME}
ServerAlias www.${CKAN_SERVER_NAME}
<Directory "${DATAPUSHER_CONFIG}">
Require all granted
</Directory>
WSGIScriptAlias / ${DATAPUSHER_CONFIG}/datapusher.wsgi
WSGIPassAuthorization On
ErrorLog /var/log/apache2/datapusher.error.log
CustomLog /var/log/apache2/datapusher.custom.log combined
<IfModule mod_headers.c>
Header set X-UA-Compatible "IE=edge"
</IfModule>
</VirtualHost>
Listen 8800
ServerName${CKAN\u SERVER\u NAME}
服务器别名www.${CKAN_SERVER_NAME}
要求所有授权
WSGIScriptAlias/${DATAPUSHER_CONFIG}/DATAPUSHER.wsgi
WSGIPassAuthorization On
ErrorLog/var/log/apache2/datapusher.error.log
CustomLog/var/log/apache2/datapusher.custom.log组合
标题集X-UA-兼容“IE=edge”
在datapusher\u settings.py
中,主机和端口也设置为'0.0.0'
和8800
我读了这篇文章,但我并没有发现和这个设置有什么不同。然后我将ckan.ini
中的主机从localhost
名称空间更改为实际的127.0.0.1
,并在ckan docker容器中重新启动apache服务,但它仍然返回
无法连接到Datapusher
我尝试上载文件,但最后出现了不同的错误号,如下所示:
{'message':'无法连接到DataPusher','details':“HTTPConnectionPool(host='127.0.0.1',port=8800):url:/job超过了最大重试次数(由NewConnectionError引起(':未能建立新连接:[Errno 111]连接被拒绝',)”)
令人惊讶的是,在CKAN中重试连接几次后,我能够查看资源文件并下载它。我很困惑,因为几个月来我一直在使用相同的设置,而且我还没有更新任何配置,而这个问题最近才开始出现。我找到了一种手动解决问题的方法,以便进行开发。该问题是由机器上未运行datapusher引起的。我手动启动了datapusher
python datapusher/main.py部署/datapusher\u设置.py
在datapusher无中断运行后,ckan可以再次连接到datapusher。太好了,如果需要更多信息,请查看文档