想将类成员方法作为celery task,但是后端没有收到消息。
求方法,我试了几次不行,不知道哪里错了
求方法,我试了几次不行,不知道哪里错了
|
gfreezyJul 14, 2013
1
新写一个function作为celery_task,里面调用 类成员方法
|
|
2
celery 太折腾 不推荐
|
|
zhenyi2697Jul 15, 2013
3
@yishenggudou 那消息队列有什么推荐的呢?
|
|
7
|
|
13
@wenbinwu
Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/celery/task/trace.py", line 233, in trace_task R = retval = fun(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/celery/task/trace.py", line 420, in __protected_call__ return self.run(*args, **kwargs) None: process() takes exactly 1 argument (0 given) |
|
ritksmJul 15, 2013
14
参见以下代码:
from celery import Celery from celery.contrib.methods import task_method celery = Celery('xxxxx', broker='xxxxxx') class A(object): @celery.task(filter=task_method) def process(self): print('ok') return |
|
ritksmJul 15, 2013
16
如何不跑了。。。我咋就可以出结果。。。难道要我截图出来么。。。错误信息?shell是如何调用celery的。。。
|
|
17
@ritksm 没有错误,只是worker收不到job。我们加下Gtalk交流吧:[email protected]
|
|
Archangel_SDYJul 15, 2013
18
看看broker的log呢?
上次被RabbitMQ的1G磁盘剩余空间要求坑了整整一晚上... |
|
zhenyi2697Jul 15, 2013
19
@kenneth 貌似调用celery需要task所在的module是一个celerymodule
也就是说,你需要先运行 celery = Celery('xxxxx', broker='xxxxxx') 创建一个celery的app,然后再写你的task。 另外,你需要运行一个celery的worker,参考 celery -A app_name worker --loglevel=info |