thinkphp5 定时任务
生活随笔
收集整理的這篇文章主要介紹了
thinkphp5 定时任务
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前段時間在研究thinkphp5.0版本做自動任務的時候,碰到了棘手的問題–如何做自動化任務,因為程序開始就需要一直執行,查了很多資料,都說靠php原生的死循環來做不靠譜,時間誤差也沒法保證,所以后面采用thinkphp5的command工具和服務器的定時任務來做:
1.新建command文件
在application/模塊/新建一個command文件夾/Test.class.php
<?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方法中運行的方法就會運行
4.在應用根目錄新建bat文件
task.bat文件
D: cd D:\xampp\htdocs\autobet php think Test5.將bat文件添加到服務器計劃任務
這個根據window和Linux系統不一樣,定時任務設置方法也不同,可以自行百度,我用的是本地的windows服務,詳情看百度經驗:Windows計劃任務設置,定時執行指定腳本
ps:這里設置間隔時常,可以是1分鐘到31天,可選項最低是5分鐘,可以手寫!
總結
以上是生活随笔為你收集整理的thinkphp5 定时任务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html怎么给变量添加样式,通过CSS变
- 下一篇: linux 服务器(CentOS7)搭建