来自环境设置问题或Django_rq问题的Django字典?
在尝试从环境变量动态创建Django_rq队列配置时,我遇到了一个奇怪的行为 我的环境变量是:来自环境设置问题或Django_rq问题的Django字典?,django,django-settings,django-rq,Django,Django Settings,Django Rq,在尝试从环境变量动态创建Django_rq队列配置时,我遇到了一个奇怪的行为 我的环境变量是: CUSTOM_QUEUES=default:q1:q2 在my settings.py中,我有: from getenv import env # Cache CACHES_DEFAULT = "redis://127.0.0.1:6379/1" CACHES = { "default": { "BACKEND": "django_redis.cache.RedisCa
CUSTOM_QUEUES=default:q1:q2
在my settings.py中,我有:
from getenv import env
# Cache
CACHES_DEFAULT = "redis://127.0.0.1:6379/1"
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": env("CACHE_URL", CACHES_DEFAULT),
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
},
'TIMEOUT': 3600
},
}
RQ_QUEUES_REDIS = {'USE_REDIS_CACHE': 'default'}
RQ_QUEUES = {k:RQ_QUEUES_REDIS for k in env('CUSTOM_QUEUES', "default").split(':')}
我希望去核的RQ_队列会像这样工作:
RQ_QUEUES = {
'default': {
'USE_REDIS_CACHE': 'default',
},
'q1': {
'USE_REDIS_CACHE': 'default',
},
'q2': {
'USE_REDIS_CACHE': 'default',
},
}
尽管配置似乎运行良好,我可以从django_rq网页上看到队列,但我的工作人员无法连接并实际抛出此错误,就像redis中没有队列键一样
回溯(最近一次调用last):文件“manage.py”,第10行,在
从命令行(sys.argv)文件“/home/work/virtualenv/runaway\u dev/lib/python3.6/site packages/django/core/management/init.py”中执行,
第350行,从命令行执行
utility.execute()文件“/home/work/virtualenv/runaway\u dev/lib/python3.6/site packages/django/core/management/init.py”,
执行中的第342行
self.fetch_命令(子命令)。从_argv(self.argv)文件“/home/work/virtualenv/runaway_dev/lib/python3.6/site packages/django/core/management/base.py”运行_“,
第348行,来自argv的运行中
self.execute(*args,**cmd_options)文件“/home/work/virtualenv/runaway\u dev/lib/python3.6/site packages/django/core/management/base.py”,
第399行,执行中
output=self.handle(*args,**选项)文件“/home/work/virtualenv/runaway\u dev/lib/python3.6/site packages/django\u rq/management/commands/rqworker.py”,
第79行,在句柄中
队列=获取队列(*args)文件“/home/work/virtualenv/runaway\u dev/lib/python3.6/site packages/django\u rq/queues.py”,
第166行,在get_队列中
queue_params=QUEUES[queue_names[0]]键错误:“默认”
顺便说一句:如果我使用上面的静态配置,它就工作得很好,所以我的怀疑是更多地关注Django_rq,而不是创建队列,但也许我也在做一些不符合Django设置的事情
任何帮助都将不胜感激。谢谢
F