首页 > 技术文章 > thinkphp5.1/thinkphp5.0/thinkcmf/thinkcmf5.0/thinkcmf5.1 创建定时任务 -- 计划任务

yehuisir 2020-07-30 14:34 原文

 

1.在application目录下创建crontab模块(统一存放定时任务)

2.在command目录下创建Task.php 代码如下:
复制代码
<?php
namespace app\crontab\command;
use think\console\Command;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
use think\console\Output;
use think\Db;
class Task extends Command
{
    protected function configure()
    {
        $this->setName('task')
            ->setDescription('定时计划:每天生成一个日期文件');
    }
    protected function execute(Input $input, Output $output)
    {
        file_put_contents(time().'.txt', '当前日期为:'.date('Y-m-d'));
    }
}
复制代码

3.在application的command.php 文件中添加

return [
  'app\crontab\command\Task',
];

 

4.我这里用的linux  需要设置 crontab  在linux下   crontab -e  添加定时执行内容
0 0 * * * /usr/bin/php /home/www/www.test.com/think task
我这里设置每日凌晨的时候创建 用于统计
php 的安装目录查看命令  whereis php
 
--------------------------------------------------------------------自己项目 thinkcmf5.1中---------------------------------------------------------------------------------

 

 

 

 

 

 

Task.php

<?php
/**
 * Created by : PhpStorm
 * User: xxxx
 * Date: 2020/7/30
 * Time: 11:56
 */


namespace app\crontab\command;

use think\console\Command;
use think\console\Input;
use think\console\Output;
class Task extends Command
{
    protected function configure()
    {
        $this->setName('task')
            ->setDescription('定时计划:每天生成一个日期文件');
    }

    protected function execute(Input $input, Output $output)
    {

        fputs(fopen('计划任务.txt','a+'),'当前日期为:'.date('Y-m-d H:i:s').PHP_EOL);
//        echo
    }

}

 

宝塔中命令:

cd /www/wwwroot/xxx.xx.xx/hlb_wx/hlb/  &&  php think task

 

 

 

---------------------------------------------------------------------------------------------------------------------------------------

 讲解一下,这个文件是集成Think底层的Command类的,configure函数是在命令行中用list命令列出所有任务的时候回显示的出的提示,execute函数是说要执行的命令,在这里可以直接调用其他函数,完成例如统计等任务工作,然后用output输出到命令行。

转载:https://blog.csdn.net/xinzi11243094/article/details/80251302

 

推荐阅读