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('SendMessage')->setDescription("計劃任務 SendMessage");
    }
 
    //調用SendMessage 這個類時,會自動運行execute方法
    protected function execute(Input $input, Output $output){
        $output->writeln('Date Crontab job start...');
        /*** 這裏寫計劃任務列表集 START ***/
 
        $this->birthday();//發短信
 
        /*** 這裏寫計劃任務列表集 END ***/
        $output->writeln('Date Crontab job end...');
    }
 
    //獲取當天生日的員工 發短信
    public function birthday()
    {
        echo '這裏寫你要實現的邏輯代碼';
    }
}
 

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

return ['app\admin\command\SendMessage'];

第三步:設置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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章