使用Celery

时间:2018-04-28 13:09:27

标签: django redis celery

我使用redis作为Django和Celery之间的经纪人。我可以访问的redis实例与许多其他应用程序共享,因此代理不可靠(它使用的redis密钥被其他人删除,消息通常会被发送给其他应用程序中的worker)。更改redis数据库无法解决问题(数据库和许多应用程序很少)。

如何配置Celery将其使用的所有密钥作为自定义字符串的前缀?文档提到了为队列名称添加前缀的方法,但这不会影响redis键。基础库(Kombu)似乎并没有让用户为它使用的密钥添加前缀。就我所知。

2 个答案:

答案 0 :(得分:1)

您可以覆盖celery任务的前缀值。

@shared_task(bind=True)
def task(self, params):
    self.backend.task_keyprefix = b'new-prefix'

答案 1 :(得分:0)

芹菜尚不支持此功能。由于缺少劳动力,因此对该主题的拉取请求目前已暂停:

https://github.com/celery/kombu/pull/912