简单易用的PHP常驻内存多进程任务管理器:EasyTask

593次阅读
没有评论

PHP 常驻内存的多进程任务管理器 Composer 包。以进程管理为出发点,同时也支持为每个进程设置定时执行功能,您可以用它来完成需要重复运行的任务 (如订单超时自动取消, 短信邮件异步推送, 队列 / 消费者 / 频道订阅者等等),甚至处理计划任务。内置任务异常上报功能,异常错误您都可以自定义处理 (例如实现异常错误自动短信邮件通知);还支持任务异常退出自动重启功能,让您的任务运行更稳定,工具包同时支持 windows、linux、mac 环境运行。

项目地址 https://gitee.com/392223903/EasyTask

运行环境

文档 + 安装教程

windows:PHP>=5.4 (依赖 com_dotnet+wpc 扩展)
linux|mac:PHP>=5.4 (依赖 pcntl+posix 扩展)

Composer 安装

  composer require easy-task/easy-task

快速入门 - 创建任务

// 初始化
$task = new Task();

// 设置非常驻内存
$task->setDaemon(false);

// 设置项目名称
$task->setPrefix('EasyTask');

// 设置记录运行时目录 (日志或缓存目录)
$task->setRunTimePath('./Application/Runtime/');

// 1. 添加闭包函数类型定时任务 (开启 2 个进程, 每隔 10 秒执行 1 次你写闭包方法中的代码)
$task->addFunc(function () {
    $url = 'https://www.gaojiufeng.cn/?id=243';
    @file_get_contents($url);
}, 'request', 10, 2);

// 2. 添加类的方法类型定时任务 (同时支持静态方法)(开启 1 个进程, 每隔 20 秒执行一次你设置的类的方法)
$task->addClass(Sms::class, 'send', 'sendsms', 20, 1);

// 3. 添加指令类型的定时任务 (开启 1 个进程, 每隔 10 秒执行 1 次)
$command = 'php /www/web/orderAutoCancel.php';
$task->addCommand($command,'orderCancel',10,1);

// 4. 添加闭包函数任务, 不需要定时器, 立即执行 (开启 1 个进程)
$task->addFunc(function () {while(true)
    {//todo}
}, 'request', 0, 1);

// 启动任务
$task->start();
正文完
有偿技术支持加微信
post-qrcode
 0
评论(没有评论)
验证码