ホームページ >PHPフレームワーク >ThinkPHP >thinkphp5.1 がスケジュールされたタスクを実装する方法の詳細な説明

thinkphp5.1 がスケジュールされたタスクを実装する方法の詳細な説明

藏色散人
藏色散人転載
2021-06-09 15:19:105251ブラウズ

thinkphp フレームワーク の次のチュートリアル コラムでは、thinkphp5.1 がスケジュールされたタスクを実装する方法について詳しく説明します。困っている友人の役に立てば幸いです。

tp5.1 スケジュールされたタスクの実装
序文

友人と私は、thinkphp5.1 を使用してマイクロクラスルーム用の小さなシステムを作成しました。毎日のクラスを実装します。リマインダーとデータ初期化機能 メソッドは記述できましたが、実行するたびに管理者画面を手動でクリックする必要があり、非常に面倒に感じます 毎日定時に自動実行するにはどうすればよいでしょうか?


thinkphp5.1 がスケジュールされたタスクを実装する方法の詳細な説明

以前のメソッド

tp5.1 の時間指定タスクまたは計画タスクを Google で検索します。ブログはたくさんありますが、ほとんどは Linux 上のスクリプトです。インストールするだけです。 Linux システム 私は Linux にあまり詳しくないので、最初は Windows システムを使用します。

アイデア

Windows環境とLinux環境での実装アイデアは同じです。

1. ここで実装メソッドをトリガーに書き込むと、クリックしてジャンプして実装することができます。
2. Web ページを自動的に開くスクリプトを作成します。
3. Windows に付属のスケジュールされたタスクを使用して、このスクリプトを定期的に自動的に実行します。

実装

1. ログイン コントローラーの下にテスト トリガーを作成します

public function test() // 自动执行测试
{
    echo "这是一个定时任务的测试";
}

トリガーの効果は次のとおりです


thinkphp5.1 がスケジュールされたタスクを実装する方法の詳細な説明2 .この Web ページを自動的に開くには、.bat 形式でスクリプトを作成します。

別の .txt ファイルを作成し、実行の成功情報を書き込みます。


thinkphp5.1 がスケジュールされたタスクを実装する方法の詳細な説明コードは次のとおりです

@echo off

start iexplore.exe http://127.0.0.1/index/login/test    

Ping -n 5 127.1>nul    

Taskkill /f /im iexplore.exe

echo success >> test.txt

start iexplore.exe http://127.0.0.1/index/login/test

は URL を表します最後に特定の URL が書かれています。 Ping -n 5 127.1>nul は 5 秒待つことを意味します。 Taskkill /f /im iexplore.exe はブラウザを閉じることを意味します。ブラウザ、echo success &gt ;> test.txt はメモ帳に正常に戻ったことを示します。コメントを書くとコードエラーが発生するため、ここにコードコメントを書きます。 テスト用の .bat ファイルをクリックします。

thinkphp5.1 がスケジュールされたタスクを実装する方法の詳細な説明メモ帳の効果は次のとおりです。


thinkphp5.1 がスケジュールされたタスクを実装する方法の詳細な説明記述されたコードを変更することもできます。 DingTalk リマインダーへのメモ帳

コードは次のとおりです

curl -X POST -H "Content-type: application/json" ^
--data  "{\"text\": {\"content\": \"每日初始完成\"}, \"msgtype\": \"text\"}" ^
https://oapi.dingtalk.com/robot/send?access_token=23dc64f0dee37b5ee3b1ac472b2c84d837afa15b2a884b87b32f898998408a36

DingTalk ロボットを追加する機能は一時的に閉じられているため、ここでは説明しません。

3. Windows の組み込みのスケジュールされたタスクを使用して、スケジュールされた自己開始スクリプトを実装する

コントロール パネルをクリックし、[管理ツール] -> [タスク スケジューラ] -> [基本タスクの作成] をクリックします


thinkphp5.1 がスケジュールされたタスクを実装する方法の詳細な説明名前: 毎日の初期値

トリガー: 毎日

開始: //好きな時間を選択してください
操作: プログラムの開始 -> このスクリプトを選択
完了


thinkphp5.1 がスケジュールされたタスクを実装する方法の詳細な説明設定した時間になると自動的に開始されます。

結論

Linux システムの具体的な操作方法は異なりますが、考え方は同じです。以下に私が見たブログのリンクを貼っておきます。Linux システムを理解した後、 Linux システム実装を使用できます。

関連する推奨事項:
最新の 10 件の thinkphp ビデオ チュートリアル

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

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