我有一个烧瓶应用程序,它使用 redis 和 rq 来运行后台任务。它在我的本地机器上运行良好,但在 Heroku 上失败并显示以下消息:
2021-03-07T15:27:00.442429+00:00 app[worker.1]:连接到 localhost:6379 时出现错误 111。拒绝连接。
看来我的代码没有获取 REDISTOGO_URL,但是当我打印出来时,它是正确的。
我在 Heroku 中使用 RedisToGo 插件。Heroku 环境变量:REDISTOGO_URL=redis://redistogo:a533a44d2a1560ccabc0259c9acc8cb7@scat.redistogo.com:11299/
我的相关代码:
from rq import Queue
import os
import redis
初始化redis的代码:
redis_url = os.getenv('REDISTOGO_URL', 'redis://localhost:6379')
print(redis_url)
redis_conn = redis.from_url(redis_url)
q = Queue(connection=redis_conn)
我的档案
web: gunicorn run:app
worker: redis-server
worker: rq worker