Tp5 通过crontab 执行定时任务

文章演示了如何在ThinkCmf框架中创建一个新的PHP命令脚本,包括定义脚本名称、添加注释和业务逻辑。然后,将该脚本引入到command.php中,并展示了如何通过Crontab设置定时任务来周期性执行这个脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明:此处为ThInkCmf 为例:

  1. 在主题中的command 中新建php文件如图

  1. 在PHP文件中设置脚本名称及注释,并编写业务逻辑。

protected $output = '';

    /**
     * 作者:执着
     * 说明:定义脚本名称及添加注释
     * @param setName:定义脚本名称
     * @param setDescription:脚本注释
     */
    protected function configure()
    {
        $this->setName('patrol_zhzhuo')
            ->setDescription('点巡检项目测试');
    }

    /**
     * @param Input $input
     * @param Output $output
     * 作者:执着
     * 说明:脚本自动执行方法,脚本执行时走的业务逻辑
     */
    protected function execute(Input $input, Output $output)
    {
        $this->output = $output;
        $data = [];
        $data['notice']          = json_encode([1,2]);
        $data['post_title']      = '测试消息发送';
        $data['post_content']    = '我是测试消息内容';
        $data['notice_time']     = 1674205120;
        $data['user_id']         = 2;
        $data['create_time']     = date('Y-m-d H:i');

        $res = Db::name('notice_message')->insert($data);
    }

  1. 编写好脚本后,在当前脚本的commond.php 文件中添加引入的脚本。

  1. 完成后进入服务器,执行 php think,查看定义的脚本名称是否存在。或脚本存在,则执行 php think + 定义的脚本名。

  1. 通过crontal 设置定时任务。打开crontal 配置文件,路径一般在/var/spool/cron/下,在里面添加脚本执行规则。

例1:*/5 * * * * cd /www/wwwroot/test.sadfish.cn && /usr/bin/php think patrol_zhzhuo

例2:*/5 * * * * cd /www/wwwroot/zhzhuo && php think patrol_zhzhuo

注释例1:

01、“*/5 * * * *”为执行规则,每五分钟执行一次。

02、“cd /www/wwwroot/test.sadfish.cn”为项目根目录位置。

03、“/usr/bin/php” 为 PHP 所在位置。

04、“php think patrol_zhzhuo” 执行脚本名称

  1. 注释例2

01、“*/5 * * * *”为执行规则,每五分钟执行一次。

02、“cd /www/wwwroot/zhizhuo”为项目根目录文件夹名称。

04、“php think patrol_zhzhuo” 执行脚本名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值