recruiterphp / recruiter
工作队列管理器:高性能、高容量、持久化、容错。100% PHP/MongoDB,100% 精彩
4.2.4
2020-03-10 20:19 UTC
Requires
- php: ~7.2
- ext-mongodb: >=1.1
- alcaeus/mongo-php-adapter: ^1.1
- gabrielelana/byte-units: ~0.1
- mongodb/mongodb: ^1.4
- monolog/monolog: >=1
- mtdowling/cron-expression: ^1.2
- psr/log: ^1.0
- recruiterphp/concurrency: ^3.0
- recruiterphp/geezer: ^5
- symfony/console: ^4.2
- symfony/event-dispatcher: ^3.4|^4.0
- ulrichsg/getopt-php: ~2.1
Requires (Dev)
- dms/phpunit-arraysubset-asserts: ^0.1.0
- giorgiosironi/eris: dev-master
- phpstan/phpstan: *
- phpunit/phpunit: ^8
Suggests
- symfony/console: In order to use Recruiter\Command\RecruiterJobCommand.
README
这是一个正在进行中的作品,尚未准备好使用或查看。本作品由Onebip、EasyWelfare赞助
Recruiter
它是一个用PHP构建的用于在PHP项目中使用的工作队列管理器。特性和特点
- 工作在MongoDB上持久化
- 工作具有可重试性,并支持复杂和可定制的策略
- 通过标记支持多个队列
- 默认情况下,工作存储在历史集合中以供事后检查和分析
- 构建为健壮、可扩展和容错
历史
Onebip是一个支付系统(想象一下用移动设备代替信用卡的PayPal),像支付通知、订阅续订、提醒消息等都是非常重要的。你不能跳过或丢失一个工作(通知是幂等的,但支付不是)。你不能忘记完成一个工作(客户/商家支持必须具备数据进行工作)。你需要知道何时以及如何重试失败的工作(外部服务有速率限制,基于协议/合同)。我们已经开发了内部的工作/队列解决方案,名为Recruiter。在生产环境中使用一年后,以及处理了数十亿个工作,我们决定将我们所学的知识整合到一个独立的项目中,并使其对每个人开放。
文档
在ReadTheDocs上可以找到Recruiter项目的参考文档。