ThinkPHP5实现定时任务

时间:2022-11-23 23:31:53

ThinkPHP5实现定时任务

最近使用ThinkPHP5做了个项目,项目中需要定时任务的功能,感觉有必要分享下 

TP5做定时任务使用到command.php的 

步骤如下: 

1.配置command.php文件,位于application/command.php 

<?php namespace app\home\command; use think\console\Command; use think\console\Input; use think\console\Output; class Test extends Command {     protected function configure()     {         $this->setName('test')->setDescription('Here is the remark ');     }     protected function execute(Input $input, Output $output)     {  echo '已经开始了';         $output->writeln("TestCommand:");     } }

 

configure函数是在命令行中用list命令列出所有任务的时候回显示的出的提示,execute函数是说要执行的命令,在这里可以直接调用其他函数,完成例如统计等任务工作,然后用output输出到命令行 

3.运行test命令 

打开命令行,运行php think test命令test命令execute方法中运行的方法就会运行 

4.在入口文件处,新建bat文件,内容如下 

D: 

cd D:\phpStudy\WWW\OilTycoon 

php think test 

切换到D盘 

切换到项目根目录处 

运行test命令 

5.把bat文件加入到服务器的定时任务中

 

一、windows:

// 这里是跳转到项目目录

cd D:\WWW\ForeManApi php think spider

二、linux:

// 为think添加执行权限chmod +x /home/wwwroot/default/www.xxx.com/think crontab -e // 每一小时执行一次 0 */1 * * * /usr/local/php/bin/php /home/wwwroot/default/www.xxx.com/think spider