作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我已经查看了此处提出/回答的类似问题,但我无法弄清楚我的问题。我的 flask 应用程序部署在 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.
为什么我的 worker 如此坚定地连接到我本地的 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
关于heroku - Flask 应用程序未连接到 heroku-redis,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50281528/
我是一名优秀的程序员,十分优秀!