前言
我和我的小伙伴們用thinkphp5.1寫了一個微課堂的的小系統,要實現一個每天上課提醒和資料初始化的功能,現在方法寫好了,不過每次執行都需要在管理員介面手動點一下,感覺好麻煩,如何讓他每天定時自動執行呢?
前人方法
Google上搜tp5.1 定時任務或規劃任務,會有很多博客,但是大多數都是Linux下的腳本,本人剛剛安裝上Linux系統,對Linux不太熟悉,先用Windows系統實作。
想法
windows環境下與Linux環境下實作思路是一樣的。
1.現將實作方法寫到一個觸發器裡,實作可以點選跳轉實作。
2.寫一個腳本,實作自動開啟摸個網頁。
3.利用windows自帶的定時任務每隔一段時間自動執行這個腳本。
實作
1.我們現在login控制器下寫一個測試的觸發器
public function test() // 自动执行测试 { echo "这是一个定时任务的测试"; }
觸發效果如下
@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 表示開啟瀏覽器的網址具體網址寫在最後,
Ping -n 5 127.1>nul 表示等待5秒,
Taskkill /f /im iexplore.exe表示關閉瀏覽器,
echo success > ;> test.txt表示返回成功到記事本,由於寫註解在程式碼中會報錯,故在此寫一下程式碼註解。
點選測試.bat檔
程式碼如下
curl -X POST -H "Content-type: application/json" ^ --data "{\"text\": {\"content\": \"每日初始完成\"}, \"msgtype\": \"text\"}" ^ https://oapi.dingtalk.com/robot/send?access_token=23dc64f0dee37b5ee3b1ac472b2c84d837afa15b2a884b87b32f898998408a36由於現在增加釘子機器人功能暫時關閉,在此不再示範。 3.用windows自帶排程任務實作定時自啟動腳本點開控制面板,點選管理工具->任務排程器->建立基本任務
觸發器:每天
開始: //選擇一個你喜歡的時間
動作:啟動程式->選取這個腳本
完成