来自环境设置问题或Django_rq问题的Django字典?

来自环境设置问题或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

在尝试从环境变量动态创建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.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