我已经在heroku上部署了一个最小的django / celery / redis项目,并且正在尝试在python shell中对其进行测试:

 heroku run python

 >>> import tasks
 >>> tasks.add.delay(1, 2)


问题是tasks.add.delay(1,2)不会产生任何输出,它只是挂在那里,而在本地它会发出异步消息。

另外,当我尝试查看带有“ heroku logs -t -p worker”的应用程序日志中正在运行的任务时

它给了我这个错误:

   ERROR/MainProcess] consumer: Cannot connect to redis://localhost:6379/0: Error 111
   connecting to localhost:6379. Connection refused..


PS。它在本地工作正常。

最佳答案

原来,我在应用程序目录中的task.py文件中缺少以下内容。

   import os
   app.conf.update(BROKER_URL=os.environ['REDIS_URL'],
            CELERY_RESULT_BACKEND=os.environ['REDIS_URL'])


补充说,现在一切正常。

关于django - 无法连接到redis://localhost:6379/0:错误111连接到localhost:6379。拒绝连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58900627/

10-13 03:13