弹道导弹

mbq.atomiq的Python项目详细描述


https://img.shields.io/pypi/v/mbq.atomiq.svghttps://img.shields.io/pypi/l/mbq.atomiq.svghttps://img.shields.io/pypi/pyversions/mbq.atomiq.svghttps://img.shields.io/travis/managedbyq/mbq.atomiq/master.svg

安装

$ pip install mbq.atomiq

开始

  1. 在django应用程序的设置中添加mbq.atomiq已安装的应用程序
  2. 将特定设置添加到同一设置文件中。这些用于度量。
ATOMIQ={'env':CURRENT_ENV,'service':YOUR_SERICE_NAME,}
  1. 为应用程序所需的每个队列类型设置使用者。mbq.atomiq为此提供了一个方便的管理命令:
python -m manage atomic_run_consumer --queue sns

python -m manage atomic_run_consumer --queue sqs

python -m manage atomic_run_consumer --queue celery

注意,atomiq将使用芹菜任务name属性导入并调用该任务。默认情况下,芹菜将任务名称设置为path.to.task.module.task_function_name。重写任务的名称将导致atomiq中断,所以plz不会这样做。

为了确保我们没有保留成功执行或删除的任务,我们还有一个清理管理命令,默认情况下,该命令将清理所有超过30天的已处理任务。可以覆盖该默认值。

python -m manage atomic_cleanup_old_tasks

or

python -m manage atomic_cleanup_old_tasks --days N

or

python -m manage atomic_cleanup_old_tasks --minutes N
  1. 使用它!
importmbq.atomiqmbq.atomiq.sns_publish(topic_arn,message)mbq.atomiq.sqs_publish(queue_url,message)mbq.atomiq.celery_publish(celery_task,*task_args,**task_kwargs)

测试

测试自动位于Travis CI https://travis-ci.org/managedbyq/mbq.atomiq,但也可以使用docker-compose在本地运行测试。 我们现在使用tox在多个python环境中进行本地测试。在此之前,请使用pyenv安装以下Python解释器:cpython{2.7、3.5、3.6}和pypy3

$ docker-compose up py36-pg|py36-mysql|py37-pg|py37-mysql

其他服务中的测试

在其他服务中使用atomiq时,我们不想模拟atomiq的发布函数。这是因为atomiq包含了检查所有使用都包装在事务中的功能,并且可以解释django在测试用例中添加的事务。为了允许您测试预期的任务是否已添加到队列中,我们公开了一个测试实用程序模块。

发布新版本

  1. __version__.py
  2. 转到github中的Releases并“起草新版本”
  3. 创建新版本后,travis ci将获取新版本并将其发送到pypi

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

推荐PyPI第三方库


热门话题
泛型Java将参数约束到公共超类   java Spring引导:在构造函数中加载属性文件并用作autowire注释   java中的优先级队列顺序错误。util。优先级队列和特定比较器   带有Java Sprint引导REST的Google应用程序引擎标准在GCLOUD服务器中不起作用   安卓从Java代码中检索变量并将其作为参数分配给TestNG   用于读取列表值的Java JSON对象   java Hibernate映射:实体映射中的重复列   多线程。start()不从Java中的父线程分派   java Android facebook webdialog网络错误(netstack:lib_mgr错误)   http使用Java阻止网站   java DynamicAsper:访问连接报表中动态列的值   java如何分离文件中的每个单词,并在表中显示每个单词和每个单词的编号?   如何打包和部署EclipseJava应用程序?   java使用Mule Anypoint,我想实现没有flowref的功能   java Kafka consumer ClassNotFoundException   java错误捕获帮助;消息不断重复   javaspring,Thymeleaf和CSS如何给错误着色   javascript如何在java中实现反向ajax   如何通过UDP连接从java数据包中读取序列号?