django - 无法连接到 redis://localhost:6379/0:连接到 localhost:6379 时出现错误 111。拒绝连接
问题描述
我已经将一个最小的 django/celery/redis 项目部署到 heroku,我正在尝试在 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。它在本地运行良好。
解决方案
原来我在我的应用程序目录中的 tasks.py 文件中缺少以下内容。
import os
app.conf.update(BROKER_URL=os.environ['REDIS_URL'],
CELERY_RESULT_BACKEND=os.environ['REDIS_URL'])
补充说,现在一切正常。
推荐阅读
- android - 您的 Google Playstore 订阅没有试用期是否仍会自动让用户订阅该订阅?
- r - 如何编写带有所需参数的 purrr 循环
- html - 问题:mat-form-field 保持在同一行
- python - Django startproject 的问题
- firebase - 当前登录的众多用户中,currentUser 将返回哪个用户?
- javascript - 我怎样才能完成对角线这些div的动画?
- networking - 有没有办法通过端口转发启动 Minecraft 服务器?
- c++ - 如果我传递一个右值,为什么在 std::move 中需要 static_cast 和 std::remove_reference?
- python - UnicodeDecodeError:“utf-8”编解码器无法解码位置 5 中的字节 0xa0:无效的起始字节
- android - 从 usb-serial-for-android 中的示例代码向/从 Arduino uno 发送和接收错误数据