下面由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('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計畫任務
#crontab -l //計畫任務清單
#crontab -e //編輯新增
#crontab -r //刪除
#為了方便測試,可以先設定成每分鐘執行一次 ,記錄一下日誌/www/wwwroot/tool/runtime/message/2019.log
*/1 * * * * php /www/wwwroot/tool/think SendMessage>>/www/wwwroot/tool/runtime/message/2019.log 2>&1
//監控一下你的腳本是不是正常的
#tail -f /www/wwwroot/tool/ runtime/message/2019.log
以上是詳解thinkphp5.1/5.0定時任務的實作步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!