文章目录

Celery这东西刚开始啃它的文档的时候很痛苦,英文不行啊。而且这东西我压根没找到中文资料。折腾这东西来来回回折腾了好几回,总算有那么点感觉了。以前一直以为Celery必需装RabbitMQ,经林刚提醒终于弄明白如何直接使用redis,不再需要安装RabbitMQ。

配置文件内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
BROKER_BACKEND = 'redis'
BROKER_HOST = '127.0.0.1'
BROKER_PORT = 6379
BROKER_VHOST = "8"

CELERY_RESULT_BACKEND = "redis"
REDIS_HOST = '127.0.0.1'
REDIS_PORT = 6379
REDIS_DB = 8
REDIS_CONNECT_RETRY = True

CELERY_DEFAULT_RATE_LIMIT = '500/m'

CELERY_IMPORTS = ('app.tasks',)

其实只要设定好BACKEND和相关参数就可以了,以前楞是没注意到BROKER_BACKEND这个参数,还以为必需要RabbitMQ。

顺便附上只使用sqlite的:

1
2
3
4
5
6
7
8
9
BROKER_BACKEND = 'sqlalchemy'
BROKER_HOST = "sqlite:///my.db"

CELERY_RESULT_BACKEND = "database"
CELERY_RESULT_DBURI = "sqlite:///my.db"

CELERY_DEFAULT_RATE_LIMIT = '500/m'

CELERY_IMPORTS = ('app.tasks',)

要使用sqlite要安装kombu-sqlalchemy,sqlalchemy

1
sudo pip install sqlalchemy kombu-sqlalchemy

如果使用mysql的配置方法类似。 我在小系统上面就是喜欢sqlite,小数据量的时候性能很不错,而且占内存也小。

文章目录