具有事务意识的芹菜作业设置

pyramid_transactional_celer的Python项目详细描述


https://badge.fury.io/py/pyramid_transactional_celery.pnghttps://travis-ci.org/petrilli/pyramid_transactional_celery.png?branch=masterhttps://pypip.in/d/pyramid_transactional_celery/badge.png

事务感知芹菜作业设置。这是与zope集成的 transaction包,它实现了完整的两阶段提交协议。 虽然它不是为金字塔以外的任何东西设计的,但它也不是 使用金字塔的任何组件。其他地方都没有测试过。

功能

  • 使用^{tt1}调用任务时,将任务排队到线程本地$ 或apply_async
  • 如果事务被中止,那么任务将永远不会被调用。
  • 如果事务已提交,则任务将通过其正常的 apply_async处理并排队等待处理。

限制

目前,该代码是围绕芹菜v3.1设计的,是否 它将适用于以前的版本。我非常乐意整合变化 这将使它与其他版本一起工作,但是由于我通常会继续 最新的版本,它不是我自己开发的重点。

用法

使用图书馆是一件相对容易的事情。首先,你需要 将芹菜集成到金字塔应用程序中,为此我建议使用 pyramid_celery。完成后,您只需开始创建 任务。最大的区别是对于基于功能的任务,您使用不同的 装饰工:

frompyramid_transactional_celeryimporttask_tm@task_tmdefadd(x,y):"""Add two numbers together."""returnx+y

就这些了。对于基于类的任务,您只需要 子类TransactionalTask而不是Task

frompyramid_transactional_celeryimportTransactionalTaskclassSampleTask(TransactionalTask):"""A sample task that is transactional."""defrun(x,y):returnx+y

就这样。鲍勃是你叔叔。

历史记录

0.1.1(2015-01-19)

  • 删除了对 以前的方法。虽然这不会产生错误,但却浪费了内存。

0.1.0(2015-01-19)

  • 最初的功能,但是需要更多的边缘案例测试来确保 它在所有情况下都能正常工作,而且和其他版本的芹菜也一样。
  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java线程执行器服务   aspose如何通过java获得单词bookmark之前的所有文本内容?   一对一映射的java Hibernate合并问题   java SOAP XSD根元素问题   java如何保护我的Spring启动API   java使用GeoJson向google地图添加标记   java安卓:在SQLite中没有这样的列   java STS 2.8.0 StartExplorer/Legacy插件安装问题   java如何以编程方式获取AppBar高度?   在Java中将BigDecimal添加到BigDecimal   java不支持ntdll。dll是windows xp和windows vista的标准配置吗?   内容类型为application/xwwwformurlencoded的java Http Put请求在Spring中不起作用   java在数组中计算工资并返回答案   java数字/货币格式   elasticsearch java api中的弹性搜索查询