我正在使用Pyramid-1.2.1创建Web应用程序,sqlAlchemy作为数据库后端.
现在我需要和这个应用程序一起做一些周期性的任务,我想使用Celery作为任务处理器,sqlAlchemy作为消息队列和结果后端.
1)我已经安装了Celery-2.1.4,但我无法弄清楚如何使它工作.这是我的celeryconfig.py文件:
# List of modules to import when celery starts.
CELERY_IMPORTS = ("my_app.tasks",)
## Result store settings.
CELERY_RESULT_BACKEND = "database"
CELERY_RESULT_DBURI = "sqlite:///MyDataBase.db"
CELERY_RESULT_SERIALIZER = "json"
## Broker settings.
BROKER_TRANSPORT = "sqlakombu.transport.Transport"
BROKER_HOST = "sqlite:///MyDataBase.db"
my_app.tasks包含来自芹菜示例的简单添加任务.
现在我跑的时候
$celeryd -l info
我看到以下内容:
[2011-11-11 20:22:50,750: WARNING/MainProcess] celery@OrangeMac.local v2.1.4 is starting.
[2011-11-11 20:22:50,765: WARNING/MainProcess]
Configuration ->
. broker -> sqlakombu.transport.Transport://guest@sqlite:///MyDataBase.db/
. queues ->
. celery -> exchange:celery (direct) binding:celery
. concurrency -> 4
. loader -> celery.loaders.default.Loader
. logfile -> [stderr]@INFO
. events -> OFF
. beat -> OFF
. tasks ->
. chatrooms.task.add
[2011-11-11 20:22:50,787: INFO/PoolWorker-1] child process calling self.run()
[2011-11-11 20:22:50,789: INFO/PoolWorker-2] child process calling self.run()
[2011-11-11 20:22:50,791: INFO/PoolWorker-3] child process calling self.run()
[2011-11-11 20:22:50,796: INFO/PoolWorker-4] child process calling self.run()
[2011-11-11 20:22:50,802: WARNING/MainProcess] celery@OrangeMac.local has started.
[2011-11-11 20:22:50,804: WARNING/MainProcess] Traceback (most recent call last):
[2011-11-11 20:22:50,805: WARNING/MainProcess] File "/Users/shashkin/python_v_env/bin/celeryd",line 8,in
我错过了什么?
2)后来我想在我的应用程序中启动Celery.芹菜 – 挂架包安装后我该怎么办?我应该在应用程序的.ini文件中放置芹菜的设置吗?有人可以给我任何一个例子,因为我在网上找到的那些对我没什么帮助.
谢谢.