Vorwort
Meine Freunde und ich haben mit thinkphp5.1 ein kleines Mikroklassenzimmersystem geschrieben. Wir möchten eine tägliche Klassenerinnerung und Dateninitialisierungsfunktion implementieren. Aber jedes Mal, wenn es ausgeführt wird, müssen Sie manuell auf die Administratoroberfläche klicken, was sehr mühsam ist. Wie kann ich dafür sorgen, dass es jeden Tag automatisch zu einem festgelegten Zeitpunkt ausgeführt wird?
Vorherige Methoden
Durchsuchen Sie tp5.1 bei Google nach geplanten Aufgaben oder geplanten Aufgaben, aber die meisten davon sind Skripte unter Linux. Ich habe gerade das Linux-System installiert und bin mit Linux nicht sehr vertraut . Zuerst mit Windows-System implementiert.
Idee
Die Implementierungsideen in der Windows-Umgebung und der Linux-Umgebung sind dieselben.
1. Schreiben Sie nun die Implementierungsmethode in einen Trigger, und Sie können darauf klicken, um sie zu implementieren.
2. Schreiben Sie ein Skript, um automatisch eine Webseite zu öffnen.
3. Verwenden Sie die mit Windows gelieferte geplante Aufgabe, um dieses Skript in regelmäßigen Abständen automatisch auszuführen.
Implementierung
1. Wir schreiben jetzt einen Testtrigger unter dem Login-Controller
public function test() // 自动执行测试 { echo "这是一个定时任务的测试"; }
Der auslösende Effekt ist wie folgt
2 Schreiben Sie ein Skript in Form von .bat, um diese Webseite automatisch zu öffnen.
Erstellen Sie eine weitere TXT-Datei und schreiben Sie die Informationen zum Ausführungserfolg.
Der Code lautet wie folgt:
@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
bedeutet, dass der Erfolg an den Notizblock zurückgegeben wird. Da das Schreiben von Kommentaren einen Fehler im Code verursacht, werde ich hier einen Codekommentar schreiben.
Klicken Sie auf die .bat-Testdatei
Der Notizblockeffekt ist wie unten gezeigt
Sie können den in den Notizblock geschriebenen Code auch in eine DingTalk-Erinnerung ändern
Der Code lautet wie folgt
curl -X POST -H "Content-type: application/json" ^ --data "{\"text\": {\"content\": \"每日初始完成\"}, \"msgtype\": \"text\"}" ^ https://oapi.dingtalk.com/robot/send?access_token=23dc64f0dee37b5ee3b1ac472b2c84d837afa15b2a884b87b32f898998408a36
Seit dem DingTalk-Roboter Die Funktion ist jetzt vorübergehend geschlossen. Dies wird nicht mehr demonstriert.
3. Verwenden Sie die integrierten geplanten Aufgaben von Windows, um geplante selbststartende Skripts zu implementieren.
Klicken Sie in der Systemsteuerung auf Verwaltungstools->Aufgabenplaner->Eine grundlegende Aufgabe erstellen
Name: Tägliche Initiale
Trigger: Jeden Tag
Start: //Wählen Sie eine Zeit, die Ihnen gefällt
Vorgang: Starten Sie das Programm -> Wählen Sie dieses Skript aus
Vollständig
Es wird automatisch zur eingestellten Zeit gestartet.
Fazit
Die spezifischen Betriebsmethoden von Linux-Systemen sind unterschiedlich, aber die Ideen sind die gleichen. Ich werde einen Link zu einem Blog bereitstellen, den ich unten gesehen habe, und ich werde das Linux-System verwenden, um es zu implementieren .