ホームページ >PHPフレームワーク >ThinkPHP >thinkphp5.1/5.0のスケジュールされたタスクの実装手順の詳細な説明

thinkphp5.1/5.0のスケジュールされたタスクの実装手順の詳細な説明

藏色散人
藏色散人転載
2021-02-09 09:14:484839ブラウズ

次のチュートリアル コラムでは、thinkphp5.1/5.0 のスケジュールされたタスクの実装手順を詳しく説明します。困っている友人の役に立てば幸いです。 私が主に行っているのは、従業員の誕生日にテキスト メッセージを送信する機能です。スクリプトを 1 日に 1 回実行します。

最初のステップ:

a.App /module/b の下にコマンド フォルダーを作成します。管理モジュールで作成し、コマンド フォルダーの下に 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;;
     }
 }

にコピーします。 ステップ 2:

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

をAPP/command.php

ステップ 3: crontab のスケジュールされたタスクを設定する

#crontab -l //スケジュールされたタスクのリスト

  1. crontab -e //追加するために編集

  2. #crontab -r //削除

  3. テストを容易にするために、まず 1 分ごとに実行するように設定し、ログ /www/wwwroot/tool/runtime/message/2019.log## を記録します。

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

  1. ##//スクリプトが正常かどうかを監視します

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

以上がthinkphp5.1/5.0のスケジュールされたタスクの実装手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。