1 authentication passwords django redis celery
我正在尝试将 Celery 添加到 django 来安排任务。我使用 Redis 后端,并通过 unix 套接字连接。安装程序一直有效,直到我尝试使用密码身份验证到 redis.conf:
我的设置.py:
CELERY_BROKER_URL = 'redis+socket:///home/username/domain/redis.sock?password=mypasswd'
CELERY_RESULT_BACKEND = 'redis+socket:///home/username/domain/redis.sock?password=mypasswd'
Run Code Online (Sandbox Code Playgroud)
芹菜.py:
from __future__ import absolute_import, unicode_literals
import os
from celery import Celery
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'public_python.settings')
# celery settings for the demo_project
app = Celery('public_python')
app.config_from_object('django.conf:settings', namespace='CELERY')
app.autodiscover_tasks()
Run Code Online (Sandbox Code Playgroud)
结果:
[2021-07-19 21:22:14,003: ERROR/MainProcess] consumer: Cannot connect to redis+socket:///home/username/domain/redis.sock: Authentication required..
Run Code Online (Sandbox Code Playgroud)
我已经尝试添加:(
CELERY_REDIS_PASSWORD='mypasswd'
类似单词的任何可能的组合),但没有运气。
使用基于网络的套接字的正常格式如下所示:
redis://:mypasswd@127.0.0.1:6379/0
Run Code Online (Sandbox Code Playgroud)
对于基于文件的套接字,您可能想尝试:
redis+socket://:mypasswd@/home/username/domain/redis.sock?virtual_host=0
Run Code Online (Sandbox Code Playgroud)