doer / task
There is no license information available for the latest version (0.0.1) of this package.
多进程异步作业库
0.0.1
2020-09-22 08:52 UTC
Requires
- php: >=7.1
- ext-mbstring: *
- ext-pcntl: *
- ext-posix: *
- ext-sysvmsg: *
- ext-sysvsem: *
- ext-sysvshm: *
- arara/process: ^1.10
- psr/log: ^1.1
Requires (Dev)
- monolog/monolog: ^1.25
- phpunit/phpunit: ^7.5
This package is auto-updated.
Last update: 2025-03-23 15:32:58 UTC
README
请留意,该服务只支持 Linux 环境。
异步任务作业调度框架,提供异步任务/延时异步任务调度,支队多种类型消息(IPC/Redis/MQ),动态进程池等能力。
该服务用于平滑解决大多业务同步处理时间过长导致服务处理超时,接口等待时间过长(HTTP 连接长时间占用)等问题。使用原生 PHP 编写,默认使用 IPC 进行进程通信,拥有详细运行日志,极少外部依赖,便于部署与维护。其中延时异步任务也可以有效的处理需要依赖第三方服务结果(例如支付、授权)等场景,不需要依赖外部消息队列等服务,纯天然,无公害🐕。
功能特性路线
- 😀可扩展多种类消息支持(IPC、Socket、MQ...)
- 😀可扩展任务调度机制
- 😀动态 Worker 进程池
- 😀延时任务支持
- 😔HTTP/TCP 服务支持
- 😔分布式任务调度,横向扩充调度节点
- 😔web 管理控制台
快速启动
启动调度服务
php examples/start.php start
产生任务(投递任务)
php examples/producer.php
运行结果: 任务会在 tests
目录下创建 delay_task
和 normal_task
两个文件,里面的内容即为上方投递任务运行结果。
贡献代码
直接 fork 然后 PR 即可。
流程图
先看源码,晚点补充。
其它
感谢 @博武 大佬,感谢 CCTV!
注:我在代码中藏了一个 BUG 清留意哈!