首頁 >php框架 >ThinkPHP >詳解thinkphp5.1/5.0定時任務的實作步驟

詳解thinkphp5.1/5.0定時任務的實作步驟

藏色散人
藏色散人轉載
2021-02-09 09:14:484838瀏覽

下面由thinkphp教學欄位給大家詳解thinkphp5.1/5.0定時任務的實作步驟,希望對需要的朋友有幫助!

我主要做的是一個員工生日當天發短信的功能,每天跑一次腳本,

#第一步:

a.App /模組/ 下建立command資料夾

b.我這邊是建立在admin模組裡面,在command資料夾下建立一個SendMessage.php檔案(具體名字自己根據需求定)

#c.複製下面的程式碼到SendMessage.php

<?php
 namespace app\admin\command;
  
 use think\console\Command;
 use think\console\Input;
 use think\console\Output;
 use think\Db;
 use think\Log;
  
 class SendMessage extends Command
 {
     protected function configure(){
         $this->setName(&#39;SendMessage&#39;)->setDescription("计划任务 SendMessage");
     }
  
     //调用SendMessage 这个类时,会自动运行execute方法
     protected function execute(Input $input, Output $output){
         $output->writeln(&#39;Date Crontab job start...&#39;);
         /*** 这里写计划任务列表集 START ***/
  
         $this->birthday();//发短信
  
         /*** 这里写计划任务列表集 END ***/
         $output->writeln(&#39;Date Crontab job end...&#39;);
     }
  
     //获取当天生日的员工 发短信
     public function birthday()
     {
         echo &#39;这里写你要实现的逻辑代码&#39;;
     }
 }

第二步:在APP/command.php裡面加上

return [&#39;app\admin\command\SendMessage&#39;];

第三步:設定crontab計畫任務

  1. #crontab -l //計畫任務清單

  2. #crontab -e //編輯新增

  3. #crontab -r //刪除

#為了方便測試,可以先設定成每分鐘執行一次 ,記錄一下日誌/www/wwwroot/tool/runtime/message/2019.log

  1. */1 * * * * php /www/wwwroot/tool/think SendMessage>>/www/wwwroot/tool/runtime/message/2019.log 2>&1

  2.  
  3. //監控一下你的腳本是不是正常的

  4. #tail -f /www/wwwroot/tool/ runtime/message/2019.log

以上是詳解thinkphp5.1/5.0定時任務的實作步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除