MRQ

分布式 worker 任务队列
授权协议 MIT
开发语言 Python
所属分类 程序开发、 作业/任务调度
软件类型 开源软件
地区 不详
投 递 者 巢烨
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 发现内存泄露。


  • 一、常规设置: 1、鼠标中间移动方向翻转:与maya操作保持一致。 勾选全局window> Editor preferences > Invert Middle Mouse Pan 。 2、视图距离移动速度缩放:防止移动过快 勾选全局window> Editor preferences > Use distance-scaled camera speed 二、由于ue5升级,工程文件无法开,问题解

  • MRQ:https://github.com/pricingassistant/mrq 服务依赖 Python 2.7+ MongoDB >= 2.4 Redis >= 2.6 MRQ依赖redis和mongodb,需要分别安装mongodb,redis 安装mrq直接使用:pip install mrq 服务配置 参考:https://github.com/pricingassistant/mr

 相关资料
  • 问题内容: 我无法理解“分布式任务队列”的目的。例如,python的celery库。 我知道在celery(Python框架)中,你可以为要执行的功能设置定时窗口。但是,这也可以在针对python脚本的linux crontab中轻松完成。 据我所知,并通过我自己的django-celery网络应用显示,celery所消耗的RAM内存比仅仅设置一个原始crontab还要多。对于相对较小的应用程序,

  • 在这最后一章中,我们将回到:kv应用程序,给它添加一个路由层,使之可以根据桶的名字,在各个节点间分发请求。 路由层会接收一个如下形式的路由表: [{?a..?m, :"foo@computer-name"}, {?n..?z, :"bar@computer-name"}] 路由者(负责转发请求的角色,可能是个节点)将根据桶名字的第一个字节查这个路由表, 然后根据路由表所示将用户对桶的请求发给相应

  • 我正在用celery构建一个用于背景任务的flask应用程序。我的应用程序正在使用docker容器中运行的localstack,在本地为我的message Broker模拟SQS。我已经让flask和celery在本地运行,以便与localstack正确工作,在localstack中,我可以看到flask接收请求,向SQS队列添加消息,然后celery接收该任务并执行它。 我尝试了dockeriz

  • 什么是Gateway Worker分离部署 GatewayWorker有三种进程,Gateway进程负责网络IO,BusinessWorker进程负责业务处理,Register进程负责协调Gateway与BusinessWorker之间建立TCP长连接通讯。我们可以把Gateway BusinessWorker Register分开部署在不同的服务器上,当业务进程BusinessWorker出现瓶

  • ShardingSphereTransactionManager SPI 名称 详细说明 ShardingSphereTransactionManager 分布式事务管理器 已知实现类 详细说明 XAShardingSphereTransactionManager 基于 XA 的分布式事务管理器 SeataATShardingSphereTransactionManager 基于 Seata 的分

  • ShardingSphere-Proxy 接入的分布式事务 API 同 ShardingSphere-JDBC 保持一致,支持 LOCAL,XA,BASE 类型的事务。 XA 事务 ShardingSphere-Proxy 原生支持 XA 事务,默认的事务管理器为 Atomikos。 可以通过在 ShardingSphere-Proxy 的 conf 目录中添加 jta.properties 来定