升级到Celery 4.1.0后,我遇到了这个错误。在运行我的Django应用程序时。
Missing connection string! Do you have the database_url setting set to a real value?
解
之前的工作版本和4.0.1之间的配置略有变化。我必须为我的数据库后端指定正确的URL(postgres)
这是我的配置
BACKEND_URL = 'db+postgresql://'
BACKEND_URL += os.environ.get('POSTGRES_USER') + ':'
BACKEND_URL += os.environ.get('POSTGRES_PASSWORD') + '@'
BACKEND_URL += os.environ.get('POSTGRES_HOST') + ':'
BACKEND_URL += os.environ.get('POSTGRES_PORT') + '/'
BACKEND_URL += os.environ.get('POSTGRES_DB')
# celery application
celery = Celery('tasks',
broker='amqp://guest:guest@localhost:5672',
backend='database'
)
# backend URL
celery.conf.update(
CELERY_RESULT_BACKEND=BACKEND_URL,
...
)