使用ThinkPHP框架(thinkphp8.0)創(chuàng)建定時任的操作步驟
更新時間:2024年01月17日 10:08:13 作者:勇哥哥的技術博客
這篇文章給大家介紹了使用ThinkPHP框架(thinkphp8.0)創(chuàng)建定時任的操作步驟,文中通過代碼示例給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
1、安裝定時任務composer包
composer require easy-task/easy-task
2、創(chuàng)建命令行處理類文件
php think make:command Task task
會生成文件:app\command\Task.php
將Task.php文件內容修改如下:
<?php
declare (strict_types=1);
namespace app\command;
use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;
class Task extends Command
{
protected function configure()
{
//設置名稱為task
$this->setName('task')
//增加一個命令參數
->addArgument('action', Argument::OPTIONAL, "action", '')
->addArgument('force', Argument::OPTIONAL, "force", '');
}
protected function execute(Input $input, Output $output)
{
//獲取輸入參數
$action = trim($input->getArgument('action'));
$force = trim($input->getArgument('force'));
// 配置任務,每隔20秒訪問2次網站
$task = new \EasyTask\Task();
$task->setRunTimePath('./runtime/');
$task->addFunc(function () {
$url = 'https://www.wushengyong.com/';
file_get_contents($url);
}, 'request', 20, 2);;
// 根據命令執(zhí)行
if ($action == 'start')
{
$task->start();
}
elseif ($action == 'status')
{
$task->status();
}
elseif ($action == 'stop')
{
$force = ($force == 'force'); //是否強制停止
$task->stop($force);
}
else
{
exit('Command is not exist');
}
}
}3、配置config\console.php文件
<?php
// +----------------------------------------------------------------------
// | 控制臺配置
// +----------------------------------------------------------------------
return [
// 指令定義
'commands' => [
'task' => 'app\command\Task',
],
];4、執(zhí)行命令(windows請使用cmd):
php think task start 啟動命令 php think task status 查詢命令 php think task stop 關閉命令 php think task stop force 強制關閉命令
以上就是使用ThinkPHP框架(thinkphp8.0)創(chuàng)建定時任的操作步驟的詳細內容,更多關于ThinkPHP框架創(chuàng)建定時任務的資料請關注腳本之家其它相關文章!
相關文章
PHP四種排序算法實現及效率分析【冒泡排序,插入排序,選擇排序和快速排序】
這篇文章主要介紹了PHP四種排序算法實現及效率分析,結合具體實例形式分析了php冒泡排序,插入排序,選擇排序和快速排序的具體定義、用法及算法復雜度分析,具有一定參考借鑒價值,需要的朋友可以參考下2018-04-04
PHP實現獲取毫秒時間戳的方法【使用microtime()函數】
這篇文章主要介紹了PHP實現獲取毫秒時間戳的方法,結合實例形式分析了php使用microtime()函數獲取、轉換毫秒級時間戳的相關操作技巧,需要的朋友可以參考下2019-03-03

