我使用redis作为Django和Celery之间的经纪人。我可以访问的redis实例与许多其他应用程序共享,因此代理不可靠(它使用的redis密钥被其他人删除,消息通常会被发送给其他应用程序中的worker)。更改redis数据库无法解决问题(数据库和许多应用程序很少)。
如何配置Celery将其使用的所有密钥作为自定义字符串的前缀?文档提到了为队列名称添加前缀的方法,但这不会影响redis键。基础库(Kombu)似乎并没有让用户为它使用的密钥添加前缀。就我所知。
答案 0 :(得分:1)
您可以覆盖celery任务的前缀值。
@shared_task(bind=True)
def task(self, params):
self.backend.task_keyprefix = b'new-prefix'
答案 1 :(得分:0)
芹菜尚不支持此功能。由于缺少劳动力,因此对该主题的拉取请求目前已暂停: