我已经在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/