我已经查看了此处提出/回答的类似问题,但我无法弄清楚我的问题。我的烧瓶应用程序部署在 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 服务器?我的过程文件是:
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 之间有什么区别?什么时候会使用它们中的每一个?非常感谢任何帮助。