django - 引发 ConnectionError(self._error_message(e)) kombu.exceptions.OperationalError : Error 111 connecting to localhost:6379. 连接被拒绝

标签 django heroku redis celery

minimal django/celery/redis 在本地运行,但是当我在 python 上运行时,部署到 heroku 时会出现以下错误:

 raise ConnectionError(self._error_message(e))
 kombu.exceptions.OperationalError: Error 111 connecting to localhost:6379. Connection     
 refused.

这是我的应用程序目录中的tasks.py 文件:

   from celery import Celery
   import os

   app = Celery('tasks', broker='redis://localhost:6379/0')

   app.conf.update(BROKER_URL=os.environ['REDIS_URL'],
            CELERY_RESULT_BACKEND=os.environ['REDIS_URL'])

   @app.task
   def add(x, y):
      return x + y

需求.txt:

  django
  gunicorn
  django-heroku
  celery
  redis
  celery-with-redis
  django-celery
  kombu

我已将worker dyno设置为1。 有趣的是,我可以发誓它以前可以工作,但现在由于某种原因它不起作用。

最佳答案

这为我解决了这个问题,我忘记像这样在project/init.py中导入celery

from .celery import app as celery_app

__all__ = ("celery_app",)

关于django - 引发 ConnectionError(self._error_message(e)) kombu.exceptions.OperationalError : Error 111 connecting to localhost:6379. 连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58901925/

相关文章:

python - Django haystack EdgeNgramField 给出的结果与 elasticsearch 不同

ruby-on-rails - 部署重写的 Github/Heroku 应用程序

ruby-on-rails - 尝试将 redis 设置为 session 存储

ruby-on-rails - 使用 Redis 作为 Rails 国际化后端

python - 如何使用 Django 管理员的 ContentTypes 在两个应用程序之间访问 ManyToManyField?

Python开发-elementtree XML和字符串操作

javascript - Heroku 上的 Rails 应用程序加载 Javascript,但 JS 函数未运行

java - 尝试使用 JDBC 连接 Heroku 数据库时未找到合适的驱动程序

linux - Redis 服务器每两分钟重新启动一次,并且每隔几分钟就会丢失 key

python - 如何在 django 中过滤查询集以达到每个组的最大成员数?