thinkphp5 定时任务

前段时间在研究thinkphp5.0版本作自动任务的时候,碰到了棘手的问题–如何作自动化任务,由于程序开始就须要一直执行,查了不少资料,都说靠php原生的死循环来作不靠谱,时间偏差也无法保证,因此后面采用thinkphp5的command工具和服务器的定时任务来作:php

1.新建command文件

在application/模块/新建一个command文件夹/Test.class.phphtml

<?php namespace app\admin\command; use think\console\Command; use think\console\Input; use think\console\Output; class Test extends Command { 
     protected function configure(){ 
     $this->setName('Test')->setDescription("计划任务 Test"); } protected function execute(Input $input, Output $output){ 
     $output->writeln('Date Crontab job start...'); /*** 这里写计划任务列表集 START ***/ $this->test(); /*** 这里写计划任务列表集 END ***/ $output->writeln('Date Crontab job end...'); } private function test(){ 
     echo "test\r\n"; } }

2.配置command.php文件,位置在application/command.php

<?php return ['app\admin\command\Test'];

3.运行test命令

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

4.在应用根目录新建bat文件

task.bat文件thinkphp

D:
cd D:\xampp\htdocs\autobet
php think Test

5.将bat文件添加到服务器计划任务

这个根据window和Linux系统不同,定时任务设置方法也不一样,能够自行百度,我用的是本地的windows服务,详情看百度经验:Windows计划任务设置,定时执行指定脚本windows

ps:这里设置间隔时常,能够是1分钟到31天,可选项最低是5分钟,能够手写!服务器

本文同步分享在 博客“zy1281539626”(CSDN)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。app

相关文章
相关标签/搜索