Heim > Backend-Entwicklung > PHP-Problem > Welche Methoden gibt es, um geplante Aufgaben in PHP zu implementieren?

Welche Methoden gibt es, um geplante Aufgaben in PHP zu implementieren?

王林
Freigeben: 2023-03-07 15:10:01
Original
2448 Leute haben es durchsucht

Die Methoden für PHP zum Implementieren geplanter Aufgaben sind: 1. Verwenden Sie die Crontab unter dem Linux-System, um sie zu implementieren. 2. Verwenden Sie die Funktion „ignore_user_abort“, um sie zu implementieren. 3. Verwenden Sie die Funktion „file_get_contents“, um sie zu implementieren.

Welche Methoden gibt es, um geplante Aufgaben in PHP zu implementieren?

1. Vom Server geplante Aufgaben sind eigentlich die Crontab-Implementierung unter dem Unix-System. Die spezifischen Einstellungen sind: Linux-geplante Aufgaben-Crontab; Zu einem geplanten Zeitpunkt können wir auch die Methode verwenden, die Schnittstelle regelmäßig aufzurufen.

(Lernvideo-Empfehlung:

Java-Video-Tutorial

)

Beim Ausführen des Skripts:

*/1 * * * * php /data/www/cron.php cron.php jede Minute ausführen

URL-Methode Aufruf:

lynx-Methode: */1 * * * * lynx -dump http://www.xxxxxxx.com/cron.php (-dump-Option zum Konvertieren der URL-Ausgabe in die Standardausgabe)

curl-Methode: */ 1 * * * * /usr/bin/curl -o temp.txt http://www.xxxxxxx.com/cron.php (Curl zeigt die Ausgabe standardmäßig auf der Standardausgabe an. Verwenden Sie die Option „curl -o“, um die Ausgabe des Skripts Dump to temporäre Datei temp.txt)

wget-Methode: */1 * * * * /usr/bin/wget -q -O temp.txt http://www.xxxxxxx.com/cron.php (q-Option Zeigt den Ruhemodus an. „-O temp.txt“ bedeutet, dass die Ausgabe an eine temporäre Datei gesendet wird.)

Die obige Methode besteht darin, das PHP-Skript an einer Adresse zu platzieren, auf die per URL zugegriffen werden kann, z http://www.xxxxxx.com /cron.php, ruft regelmäßig Trigger-Aufgaben auf.

2. Methode „ignore_user_abort()“

Die Funktion „ignore_user_abort()“ legt fest, ob das Trennen vom Client die Ausführung des Skripts beendet.

Verwenden Sie zunächst eine cron.php-Datei, um die Beendigung des Skripts zu steuern. Der Inhalt von cron.php lautet:

<?php
return 1;
?>
Nach dem Login kopieren

Die Skript-PHP-Datei lautet:

<?php
ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0);// 通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*30;// 每隔半小时运行
do{
$run = include &#39;config.php&#39;;
if(!$run) die(&#39;process abort&#39;);  //return 0 时, 终止
//TODO 该干啥干啥
sleep($interval);// 等待5分钟
}
while(true);
Nach dem Login kopieren

Stoppen Sie das Programm, indem Sie die Rückgabe 0 von cron.php ändern. Diese Methode eignet sich jedoch nicht gut für die Speicherverwaltung.

3. file_get_contents()-Methode

<?php
$time=15;
$url="http://".$_SERVER[&#39;HTTP_HOST&#39;].$_SERVER[&#39;REQUEST_URI&#39;];
//TODO
sleep($time);
file_get_contents($url);
?>
Nach dem Login kopieren

php-Skript-Ruhezustand wird nach einer gewissen Zeit weiter ausgeführt, indem es auf sich selbst zugreift. Dadurch wird sichergestellt, dass die Ausführungszeit jedes PHP-Skripts nicht zu lang wird und nicht durch Time_out eingeschränkt wird. Da jede Schleife der PHP-Datei unabhängig ausgeführt wird, vermeidet diese Methode das Time_out-Limit. Es ist jedoch am besten, den Steuercode cron.php wie oben hinzuzufügen, damit der Prozess beendet werden kann.

Verwandte Empfehlungen:

php-Training

Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es, um geplante Aufgaben in PHP zu implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage