代码拉取完成,页面将自动刷新
同步操作将从 GaoJiuFeng/EasyTask 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
EasyTask是基于Psr4构建的原生常驻内存定时任务定时器Composer包,同时支持windows、linux、mac环境运行。
QQ群60973229(讨论交流,问题反馈)
composer require easy-task/easy-task
"require": {
"easy-task/easy-task": "*"
}
//初始化
$task = new Task();
// 设置常驻内存
$task->setDaemon(true);
// 设置项目名称
$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秒执行1次)
$task->addClass(Sms::class, 'send', 'sendsms', 20, 1);
// 3.添加指令类型的定时任务(开启1个进程,每隔10秒执行1次)
$command = 'php /www/web/orderAutoCancel.php';
$task->addCommand($command,'orderCancel',10,1);
// 启动任务
$task->start();
$task = new Task();
// 设置常驻内存
$task->setDaemon(true)
// 设置项目名称
->setPrefix('ThinkTask')
// 设置系统时区
->setTimeZone('Asia/Shanghai')
// 设置子进程挂掉自动重启
->setAutoRecover(true)
// 设置PHP运行路径,一般Window系统才需要设置,当系统无法找到才需要您手动设置
->setPhpPath('C:/phpEnv/php/php-7.0/php.exe')
/**
* 设置记录运行时目录(日志或缓存目录)
* 不设置的话Linux默认/tmp/目录
* 不设置的话Window默认C:\Windows\Temp目录
*/
->setRunTimePath('./Application/Runtime/')
/**
* 关闭EasyTask的异常注册
* EasyTask将不再监听set_error_handler/set_exception_handler/register_shutdown_function事件
*/
->setCloseErrorRegister(true)
/**
* 设置接收运行中的错误或者异常(方式1)
* 您可以自定义处理异常信息,例如将它们发送到您的邮件中,短信中,作为预警处理
* (不推荐的写法,除非您的代码健壮)
*/
->setErrorRegisterNotify(function ($ex) {
//获取错误信息|错误行|错误文件
$message = $ex->getMessage();
$file = $ex->getFile();
$line = $ex->getLine();
})
/**
* 设置接收运行中的错误或者异常的Http地址(方式2)
* Easy_Task会POST通知这个url并传递以下参数:
* errStr:错误信息
* errFile:错误文件
* errLine:错误行
* 您的Url收到POST请求可以编写代码发送邮件或短信通知您
* (推荐的写法)
*/
->setErrorRegisterNotify('https://www.gaojiufeng.cn/rev.php')
// 添加任务定时执行闭包函数
->addFunc(function () {
echo 'Success3' . PHP_EOL;
}, 'fucn', 20, 1)
// 添加任务定时执行类的方法
->addClass(Sms::class, 'send', 'sendsms1', 20, 1)
// 添加任务定时执行命令
->addCommand('php /www/wwwroot/learn/curl.php','cmd',6,1)
// 启动任务
->start();
// 获取命令
$command = empty($_SERVER['argv']['1']) ? '' : $_SERVER['argv']['1'];
// 配置任务
$task = new Task();
$task->setDaemon(true)
->addFunc(function () {
$url = 'https://www.gaojiufeng.cn/?id=271';
@file_get_contents($url);
}, 'request', 10, 2);;
// 根据命令执行
if ($command == 'start')
{
$task->start();
}
elseif ($command == 'status')
{
$task->status();
}
elseif ($command == 'stop')
{
$task->stop();
}
else
{
exit('Command is not exists');
}
启动: php this.php start
查询: php this.php status
关闭: php this.php stop
┌─────┬──────────────┬─────────────────────┬───────┬────────┬──────┐
│ pid │ name │ started │ timer │ status │ ppid │
├─────┼──────────────┼─────────────────────┼───────┼────────┼──────┤
│ 32 │ Task_request │ 2020-01-10 15:55:44 │ 10 │ active │ 31 │
│ 33 │ Task_request │ 2020-01-10 15:55:44 │ 10 │ active │ 31 │
└─────┴──────────────┴─────────────────────┴───────┴────────┴──────┘
参数:
pid:当前定时任务的进程id
name:您为您的定时任务起的别名
started:定时任务启动时间
timer:定时任务执行间隔时间
status:定时任务状态
ppid:管理当前定时任务的守护进程id
-> 强烈建议您使用绝对路径规范开发
-> 启动异常请尝试用同步方式启动或者查看系统日志定位问题
-> Windows命令行不支持PHP中文编码可参考文章https://www.gaojiufeng.cn/?id=270的第二种方式修改即可支持utf8国际编码
-> 推荐使用7.1以上版本的PHP,支持异步信号,不依赖ticks
-> 推荐安装php_event扩展基于事件轮询的毫秒级定时支持
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。