python– 使用Celery与SQLAlchemy和Pyramid

python– 使用Celery与SQLAlchemy和Pyramid,第1张

概述我正在使用Pyramid-1.2.1创建Web应用程序,SQLAlchemy作为数据库后端.现在我需要和这个应用程序一起做一些周期性的任务,我想使用Celery作为任务处理器,SQLAlchemy作为消息队列和结果后端.1)我已经安装了Celery-2.1.4,但我无法弄清楚如何使它工作.这是我的celeryconfig.py文件:# List of mod

我正在使用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文件中放置芹菜的设置吗?有人可以给我任何一个例子,因为我在网上找到的那些对我没什么帮助.

谢谢.

最佳答案这看起来像芹菜包及其依赖项之间的版本兼容性问题.使用最新版本的芹菜,2.4.5你的例子就可以了.使用2.1.4我得到了同样的错误.

如果由于任何原因您只需要2.1.4版本的芹菜,您必须找出降级所需的依赖项以使其正常工作.通过查看回溯,很可能,它将是胡萝卜依赖,但如果其他依赖需要特定版本的胡萝卜,你可能会陷入依赖地狱.

我强烈建议使用带有pip的virtualenv,以便能够轻松地试验包的版本.尝试使用linux存储库中的Python包开发一些东西可能会非常痛苦.

buildout versions或pip requirements解决了这类问题,但AFAIK没有针对芹菜的固定依赖版本. 总结

以上是内存溢出为你收集整理的python – 使用Celery与SQLAlchemy和Pyramid全部内容,希望文章能够帮你解决python – 使用Celery与SQLAlchemy和Pyramid所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1205763.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)