TP 中使用Cron 定时任务

Cron 基本命令

crontab -e // 编辑crontab 任务
crontab -l // 查看crontab 任务
crontab -r // 删除crontab 任务

启动

# ubuntu
systemctl start cron // 启动
systemctl status cron // 查看状态
systemctl restart cron 重启
# centos
systemctl status crond // 查看状态(注意有 d)
...

使用过程,遇到问题

# crontab -e 编辑任务
* * * * * /usr/bin/php /home/vagrant/code/j-tp6/public/index.php api/index/index >> /tmp/log.log
0, `* * * * *` // 任务时间配置
1, `/usr/bin/php` // 使用php
2, `/home/vagrant/code/j-tp6/public/index.php` // TP的入口文件`index.php`
3, `api/index/index` // 参数`路由`
4, `>> /tmp/log.log` 测试输出结果
# 以上理想中的写法, 但是实际中不能正确走通路由入口方式`/j-tp6/public/index.php`, 所以要换成`TP` 的命令行使方式`/j-tp6/think`

创建自定义指令

1, 创建app\command\Hello.php

class Hello extends Command
{
    protected function configure()
    {
        $this->setName('cron')->setDescription('定时统计任务');
    }
    protected function execute(Input $input, Output $output)
    {}
}

2, 配置config/console.php文件

 [
        'hello' => 'app\command\Hello',
    ]
];

3, 测试-命令帮助-命令行下运行

php think

最终定时任务写法

* * * * * /usr/bin/php /home/vagrant/code/j-tp6/think cron

你可能感兴趣的:(TP 中使用Cron 定时任务)