thinkphp5.0 创建自定义命令行

thinkphp5.0 创建自定义命令行

  • 在模块目录下面创建一个command目录文件夹,在此文件夹下创建一个php文件,这里我创建的是Crond.php
  • 在Crond.php中编写代码
namespace app\index\command;
use app\index\model\Robot;
use think\console\Command;
use think\console\Input;
use think\console\Output;

class Crond extends Command
{
    protected function configure()
    {
        $this->setName('Cron')->setDescription('计划任务');
    }

    protected function execute(Input $input, Output $output)
    {
        $this->doCron();
        $output->writeln("已经执行计划任务");//此代码主要是输出到命令行
    }

    public function doCron()
    {
        //在这个里做自己的计划任务工作等等,建议自己创建一个model业务类专门管理你的业务逻辑,最好通过静态方法调用
        Robot::getToken();
    }
}
  • 在application目录下的command.php文件中编写代码指定到我们刚才创建的Crond.php
return ['app\index\command\crond'];
  • 打开命令终端 cd我们的项目根目录下
╰$ cd develop/www/thinkRedis

执行 php think Cron 会输出以下内容代表成功了

AppledeiMac-2:thinkphp apple$ php think Cron
添加ok已经执行计划任务
You have new mail in /var/mail/apple
AppledeiMac-2:thinkphp apple$

目前我们计划任务代码已经别写完毕了,剩下的工作我们需要通过系统的计划任务调用这些代码,这样就实现了计划任务调用
我们首先在项目根目录中创建一个.sh脚本文件,文件内容设置如下

#!/bin/sh
PATH=/usr/local/php/bin:/opt/someApp/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
cd /Applications/MAMP/htdocs/thinkphp
php think Cron
  • 到目前为止脚本文件已经编写完毕,剩下我们开始编写crontab命令来执行这个脚本文件,在这里我们测试1分钟执行一次
1. crontab -e
2.插入以下命令 */1 * * * * bash /Applications/MAMP/htdocs/thinkphp/crond.sh
3 :wq保存退出

截止目前我们的计划任务就设置完毕了

  • 使用场景
  1. 积分一个月不用自动清空
  2. 自动化脚本(数据库源码备份)

雨夜的博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨夜的博客

大赏给个咖啡钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值