Heim >PHP-Framework >Denken Sie an PHP >Detaillierte Erklärung, wie thinkphp5.1 geplante Aufgaben implementiert

Detaillierte Erklärung, wie thinkphp5.1 geplante Aufgaben implementiert

藏色散人
藏色散人nach vorne
2021-06-09 15:19:105243Durchsuche

In der folgenden Tutorial-Kolumne des thinkphp-Frameworks erfahren Sie ausführlich, wie thinkphp5.1 geplante Aufgaben implementiert. Ich hoffe, dass es für Freunde hilfreich ist, die es benötigen!

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?
Detaillierte Erklärung, wie thinkphp5.1 geplante Aufgaben implementiert

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
Detaillierte Erklärung, wie thinkphp5.1 geplante Aufgaben implementiert

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.
Detaillierte Erklärung, wie thinkphp5.1 geplante Aufgaben implementiert

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
Detaillierte Erklärung, wie thinkphp5.1 geplante Aufgaben implementiert

Der Notizblockeffekt ist wie unten gezeigt
Detaillierte Erklärung, wie thinkphp5.1 geplante Aufgaben implementiert

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
Detaillierte Erklärung, wie thinkphp5.1 geplante Aufgaben implementiert

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
Detaillierte Erklärung, wie thinkphp5.1 geplante Aufgaben implementiert

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 .

Verwandte Empfehlungen: Die neuesten 10 Thinkphp-Video-Tutorials

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie thinkphp5.1 geplante Aufgaben implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen