taskphp2/taskphp
Composer 安装命令:
composer require taskphp2/taskphp
包简介
taskphp for PHP 5.6
README 文档
README
历史版本
-->taskPHP1.x
-->taskPHP2.x
所有分支 查看所有分支
taskPHP
taskPHP基于php开发的定时计划任务框架,多进程实现任务的分配和运行,多种进程间通信驱动支持,支持多线程模式需要安装pthreads扩展(可选),支持linux和windows。有较好的伸缩性、扩展性、健壮稳定性而被多家公司使用,同时也希望开源爱好者一起贡献。
项目地址
github地址: https://github.com/qq8044023/taskPHP
gitee地址: https://gitee.com/cqcqphper/taskPHP
这两个地址都会同步更新。
在线交流QQ群
如感兴趣请加QQ群 一起探讨、完善。越多人支持,就越有动力去更新,喜欢记得右上角star哈。
taskPHP ①群:375841535(空)
框架说明
- 任务多进程运行模式。
- 任务多线程模式,需要安装pthreads扩展(可选)。
- 多种进程通信方式堵塞式消息队列。
- 任务派发及具体任务执行不在同个进程[distribute]和[worker],windows和linux下启用入口文件[start.php],windows下可运行[windows_start.cmd]快速启动。
- 执行时间语法跟crontab类似,且支持秒设置。
* * * * * * * //格式 :秒 分 时 天 月 年 周 10 * * * * * * //表示每一分钟的第10秒运行 /10 * * * * * * //表示每10秒运行 /1 * 15,16 * * * * //表示 每天的15点,16点的每一秒运行
- 添加任务简单,只需编写任务类,实现任务入口run方法,详情参考examples目录内的测试任务。
环境要求
- php版本>= 5.5
- 开启socket扩展
- 开启pdo扩展
- 开启shmop扩展
注意事项
- 由于任务存在派发时间,所以任务运行的时间可能会有1-2秒的误差。
- 编写任务有问题或调用exit将导致后台脚本停止,需要通过远控管理器重启进程。
- 多线程模式运行一段时间后报错,pthreads has detected that the taskphp\Pthread could not be started, the system lacks the necessary resources or the system-imposed limit would be exceeded in xxx
- 后台任务数量多或者任务运行时间很密集导致数据库链接过多没有释放,需要再任务结尾处执行数据库链接对象的close方法来关闭链接。
- 在windows下代码存放路径不能有空格,否则会导致进程启动不起来。php的环境变量也最好也不要有空格,如果有空格可在框架配置中定义数组项php_path='php'。
文档列表
-->数据库类使用教程
-->windows下安装php多线程扩展pthreads教程
-->工具类Utils使用说明
-->thinkphp5.0框架的集成教程
使用说明
composer安装taskphp框架:
composer require taskphp/taskphp dev-master
命令操作
start.php start [all|任务名] 启动 可不带参数默认all start.php start & 挂载后台运行,liunx操作 start.php close all 结束框架 必带参数all
启动程序
[root@FX-DEBUG taskphps]# php ./start.php start ------------------------- taskPHP ------------------------------ taskPHP version:3.0 PHP version:5.5.38 license1:https://github.com/qq8044023/taskPHP license2:https://gitee.com/cqcqphper/taskPHP startTime:2018-04-04 10:00:50 ------------------------- taskPHP Manage ---------------------- http://ServerIp:8082 http://127.0.0.1:8082 ------------------------- taskPHP PROCESS ---------------------- listen processes status distribute 1 [success] demo1 1 [success] demo2 1 [success] ---------------------------------------------------------------- Press Ctrl-C to quit. Start success.
taskphp2/taskphp 适用场景与选型建议
taskphp2/taskphp 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.32k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 04 月 26 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「task」 「timePHP」 「taskphp」 「phptask」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 taskphp2/taskphp 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 taskphp2/taskphp 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 taskphp2/taskphp 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Expose the DDev executable commands to the Robo task runner.
Run task
Task system for APPUI
AsyncTask enables proper and easy use of the thread. This class allows to perform background operations and publish results on the thread without having to manipulate threads and/or handlers.
This is a PHP Framework base on Swoole
Provides a command line tasks to operate with APC (APCu) cache from the console
统计信息
- 总下载量: 2.32k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-04-26