sora的rpc机制打算使用celery处理,celery+rabbitmq。最近开始研究它的文档,试着写了段代码;
from celery import Celery
app = Celery('cagent',backend='redis://localhost',broker='amqp://guest@localhost//')
#app.conf.update(
# CELERY_TASK_SERIALIZER='json',
# CELERY_ACCEPT_CONTENT=['json'], # Ignore other content
# CELERY_RESULT_SERIALIZER='json',
#)
app.conf.CELERY_TASK_SERIALIZER='json'
app.conf.CELERY_ACCEPT_CONTENT=['json']
app.conf.CELERY_RESULT_SERIALIZER='json'
@app.task
def add(x,y):
return x+y
对于配置其中的诸如变量CELERY_ACCEPT_CONTENT,你可以简单地使用一个python模块集中配置,你也可以像本例中把配置写进程序,还可以使用configparser读取conf类型的文件去配置
当我试着把
app.conf.CELERY_ACCEPT_CONTENT=['json']
['json']两端的大括号去掉后,就引发了错误
如果不去掉大括号,就没有这种问题。文档中也是带了大括号