在CKAN中上传文件,但收到“无法连接到DataPusher”错误

时间:2018-09-28 17:24:00

标签: python apache networking urllib ckan

我正在尝试将文件上传到CKAN。但是,我从日志中收到此错误:

  

{'message':'无法连接到DataPusher。','details':“ HTTPConnectionPool(host ='localhost',port = 8800):url:/ job超过了最大重试次数(由NewConnectionError(':无法建立新的连接:[Errno 99]无法分配请求的地址',))“}

在CKAN重试了几次之后,上传终于结束了。我能够下载资源并跟踪视图。

我不明白为什么连接在最初的几次失败。我尝试通过使用curl http://localhost:8800来卷曲测试连接,但收到错误:

  

卷曲:(56)接收失败:对等重置连接。

然后我尝试修改ckan.ini,现在设置如下:

ckan.plugins = datastore datapusher
ckan.datapusher.url = http://localhost:8800

也在datapusher.conf中,我的主机设置为0.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>

datapusher_settings.py中,主机和端口也设置为'0.0.0.0'8800

我阅读了this帖子,但没有发现与此设置有所不同。然后,我将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中几次重试连接后,我能够查看并下载资源文件。我很困惑,因为几个月来我一直在使用相同的设置,而且我没有更新任何配置,而且这个问题最近才开始出现。

1 个答案:

答案 0 :(得分:1)

我找到了一种手动解决问题以进行开发的方法。该问题是由于数据推送程序未在计算机上运行而引起的。我通过

手动启动了datapusher

array([[(0, 0, 255), (0, 255, 0), (255, 0, 0)], [(255, 0, 0), (0, 0, 255), (0, 0, 255)], [(0, 255, 0), (0, 255, 0), (0, 0, 255)]])

datapusher运行无中断后,ckan可以再次连接到datapusher。