分布式 worker 任务队列 MRQ

码农软件 · 软件分类 · 作业/任务调度 · 2019-09-04 12:43:36

软件介绍

MRQ(MR.Queue)是一个使用 Redis&gevent 的分布式 worker 任务队列。

MRQ 是一个独特的任务队列,它一方面旨在像 RQ 一样简单,另一方面要求有接近 Celery 的性能。MRQ最早在 Pricing Assistant 上被开发,它最初的功能设计是为了满足任务队列的各种任务需求(IO密集&CPU密集,很多小任务&几个大任务)。

特性

  • 代码简单:MRQ 和 RQ 一样容易理解并且更容易扩展。

  • 强大的用户面板:具有可视界面,可以控制一切,包括队列中的任务、当前任务、worker 的状态等等。

  • 按任务区分的日志:在面板中单独获得每个任务的输出日志。

  • Gevent worker:IO 密集型任务可以并行在同一个 Unix 进程中执行,以实现最大吞吐量。

  • 管理集成:CPU 密集型的任务可以通过单个命令行参数在多个 UNIX 进程之间拆分。

  • 任务管理:可以利用代码或者用户面板重试、重新入队和取消任务等。

  • 性能:批量作业排队,轻松作业分析。

  • 容易配置:MRQ 的每个参数都可以通过命令行参数或者配置文件进行配置。

  • 任务路由:和 Celery 一样,任务可以有默认的队列、过期时间和 ttl 值。

  • 内置的调度器:可以按照时间间隔和时间点对任务进行调度。

  • 策略:支持串行或者并行的处理队列,同时也支持一次性或者周期性的批量任务。

  • 子队列:简单的命令行来生成多个子队列,从 worker 的角度使用自动发现的方式。

  • 完备的测试体系:边界情况比如 worker 中断、Redis 失败等都在一个 docker 容器中测试。

  • 线程跟踪:可以调试查看每个 CPU 敏感的任务在每个线程消耗的时间。

  • 完备的内存泄露调试器:监视任务的内存泄露并且使用 objgraph 发现内存泄露。


本文地址:https://codercto.com/soft/d/13855.html

Python Web开发:测试驱动方法

Python Web开发:测试驱动方法

Harry J.W. Percival / 安道 / 人民邮电出版社 / 2015-10 / 99

本书从最基础的知识开始,讲解Web开发的整个流程,展示如何使用Python做测试驱动开发。本书由三个部分组成。第一部分介绍了测试驱动开发和Django的基础知识。第二部分讨论了Web开发要素,探讨了Web开发过程中不可避免的问题,及如何通过测试解决这些问题。第三部分探讨了一些高级话题,如模拟技术、集成第三方插件、Ajax、测试固件、持续集成等。本书适合Web开发人员阅读。一起来看看 《Python Web开发:测试驱动方法》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具