配置Celery通过Unix套接字与Redis通信

时间:2013-04-22 17:15:07

标签: ubuntu redis celery

我希望Celery能够在Redis上构建而不是默认的RabbitMQ。

Celery documentation解释说:

  

配置很简单,只需配置Redis数据库的位置:

     

BROKER_URL = 'redis://localhost:6379/0'

     

网址格式为:

     

redis://:password@hostname:port/db_number

     

该方案之后的所有字段都是可选的,并且将使用数据库0默认为端口6379上的localhost。

但是,我让Redis设置为不听端口,而是收听套接字。

是否有支持此方案的URI方案?

2 个答案:

答案 0 :(得分:15)

自Celery 1.3起,Redis插座可供使用。语法是:

BROKER_URL = 'redis+socket:///tmp/redis.sock'

如果您想使用特定的数据库:

BROKER_URL = 'redis+socket:///tmp/redis.sock?virtual_host=1'

文档不是最新版本,但您可以查看此问题以获取更多详细信息:

答案 1 :(得分:1)

芹菜redis代理不支持套接字连接,目前唯一支持TCP连接。

我在google搜索后在github上找到了这个项目celery-redis-unixsocket。你可以看看它是否适合你。