Flask 应用程序未连接到 heroku-redis

Flask app not connecting to heroku-redis

我在这里 asked/answered 看过类似的问题,但我无法弄清楚我的问题。我的烧瓶应用程序部署在 heroku 上时,没有连接到我的 heroku-redis 实例。相反,在我的 heroku 日志中,我得到:

2018-05-10T20:36:12.520794+00:00 heroku[web.1]: Starting process with command `flask db upgrade; flask translate compile; gunicorn microblog:app`
2018-05-10T20:36:12.705812+00:00 heroku[worker.1]: Starting process with command `rq worker microblog-tasks`
2018-05-10T20:36:13.385204+00:00 heroku[worker.1]: State changed from starting to up
2018-05-10T20:36:15.060614+00:00 heroku[worker.1]: Process exited with status 1
2018-05-10T20:36:15.080485+00:00 heroku[worker.1]: State changed from up to crashed
2018-05-10T20:36:14.989923+00:00 app[worker.1]: Error 111 connecting to localhost:6379. Connection refused.

为什么我的工人如此坚定地连接到我本地的redis服务器?我的 procfile 是:

web: flask db upgrade; flask translate compile; gunicorn microblog:app
worker: rq worker microblog-tasks

运行 "heroku config:get REDIS_URL" 表明环境变量 REDIS_URL 确实是在 heroku 中设置的。后台任务是否需要多个测功机?我在本地使用我的应用程序没有问题,只是在 heroku 上部署时。

独立但相关的问题:redis、redistogo 和 rediscloud 之间有什么区别?什么时候使用它们中的每一个?非常感谢任何帮助。

我的文章确实有疏漏,对此深表歉意。

启动 RQ worker 的命令需要包含 Redis 的连接 URL:

worker: rq worker -u $REDIS_URL microblog-tasks