Heim Backend-Entwicklung PHP-Tutorial Analyse der Implementierungsprinzipien geplanter Aufgaben in PHP

Analyse der Implementierungsprinzipien geplanter Aufgaben in PHP

Jun 21, 2018 am 09:57 AM
计划任务

Dieser Artikel stellt das Implementierungsprinzip geplanter Aufgaben in PHP vor. Freunde, die es benötigen, können darauf verweisen

Eine kurze Einführung in einige relevante Kenntnisse gemäß dem PHP-Handbuch:
1. Verbindungsverarbeitung:
Innerhalb von PHP verwaltet das System den Verbindungsstatus und sein Status hat drei mögliche Situationen:
0 – NORMAL (normal)
1 – ABORTED (abnormaler Ausgang)
2 - TIMEOUT (Timeout)
Wenn das PHP-Skript normal im NORMAL-Zustand ausgeführt wird, ist die Verbindung gültig. Wenn der Remote-Client die Verbindung trennt, wird das Statusflag ABORTED aktiviert. Die Unterbrechung der Remote-Client-Verbindung wird normalerweise dadurch verursacht, dass der Benutzer auf die Schaltfläche STOP klickt. Wenn die Verbindungszeit das Zeitlimit von PHP überschreitet, wird das Statusflag TIMEOUT aktiviert.
Sie können entscheiden, ob das Skript beendet werden muss, wenn der Client die Verbindung trennt. Manchmal ist es praktisch, ein Skript vollständig ausführen zu lassen, auch wenn kein Remote-Browser die Ausgabe des Skripts akzeptiert. Standardmäßig wird das Skript beendet, wenn die Remote-Client-Verbindung unterbrochen wird. Diese Verarbeitung kann durch „ignore_user_abort“ in php.ini oder durch die entsprechenden „php_value“-Funktionen „ignore_user_abort“ und „ignore_user_abort()“ in den Apache-.conf-Einstellungen gesteuert werden. Wenn PHP nicht angewiesen wird, Benutzerunterbrechungen zu ignorieren, wird das Skript unterbrochen, es sei denn, über register_shutdown_function() wird eine Shutdown-Trigger-Funktion festgelegt. Wenn der Remote-Benutzer auf die Schaltfläche „STOP“ klickt und das Skript erneut versucht, Daten auszugeben, erkennt PHP über diese Schließtriggerfunktion, dass die Verbindung unterbrochen wurde, und ruft die Schließtriggerfunktion auf.
Skripte können auch durch den integrierten Skript-Timer unterbrochen werden. Das Standard-Timeout-Limit beträgt 30 Sekunden. Dieser Wert kann durch Festlegen von max_execution_time in php.ini oder dem entsprechenden Parameter „php_value max_execution_time“ in den Apache .conf-Einstellungen oder der Funktion set_time_limit() geändert werden. Wenn der Zähler abläuft, wird das Skript ähnlich wie in der oben genannten Verbindungsunterbrechungssituation beendet und die zuvor registrierte Auslöserfunktion zum Herunterfahren wird zu diesem Zeitpunkt ebenfalls ausgeführt. In der Shutdown-Trigger-Funktion können Sie durch Aufrufen der Funktion „connection_status()“ überprüfen, ob das Timeout dazu geführt hat, dass die Shutdown-Trigger-Funktion aufgerufen wurde. Wenn eine Zeitüberschreitung zu einem Aufruf der das Herunterfahren auslösenden Funktion führt, gibt die Funktion 2 zurück.
Zu beachten ist, dass die Zustände ABORTED und TIMEOUT gleichzeitig gültig sein können. Dies ist möglich, wenn PHP angewiesen wird, Benutzer-Exit-Aktionen zu ignorieren. PHP wird weiterhin bemerken, dass der Benutzer die Verbindung getrennt hat, das Skript jedoch weiterhin ausgeführt wird. Bei Erreichen des Laufzeitlimits wird das Skript beendet und die eingestellte Shutdown-Trigger-Funktion ebenfalls ausgeführt. An dieser Stelle werden Sie feststellen, dass die Funktion „connection_status()“ den Wert 3 zurückgibt.
2. Verwandte Funktionen:
intignore_user_abort ([bool-Einstellung])
Diese Funktion legt fest, ob eine Client-Verbindung zum Abbruch eines Skripts führen soll kann ohne Argument aufgerufen werden, um die aktuelle Einstellung nicht zu ändern und nur die aktuelle Einstellung zurückzugeben Status-Bitfeld.
Um eine bestimmte Datei regelmäßig zu aktualisieren, muss das Programm automatisch ausgeführt werden: „ignore_user_abort()“ und „crontab“
ignore_user_abort()-Funktion mit set_time_limit(0) und sleep( Das heißt, das Programm kann automatisch ausgeführt und aktualisiert werden.

ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行. 
set_time_limit(0); // 执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去 
$interval=60*5; // 每隔5分钟运行 
do{ 
$fp = fopen('test.txt','a'); 
fwrite($fp,'test'); 
fclose($fp); 
sleep($interval); // 等待5分钟 
}while(true);
Nach dem Login kopieren

Solange Sie die obige Seite ausführen und dann schließen, wird das Programm weiter ausgeführt.

Unter Linux gibt es eine einfachere Methode, nämlich den Befehl crontab.

Die Funktion des Befehls crontab besteht darin, die Ausführung einiger Befehle in einem bestimmten Zeitintervall zu planen.
crontab-Verwendung: crontab [ -e |. -l |. -r ] Dateiname -e: Aufgabe bearbeiten -l: Aufgabeninformationen anzeigen -r: Informationen zur geplanten Ausführungsaufgabe löschen crontab-Format:
* * * * * Befehl
Befehl, der nach Zeit, Tag, Monat und Woche ausgeführt werden soll
Beispiel für Crontab:
*/5 * * * * lynx //www.php.cn
Zugriff alle 5 Minuten www.php.cn

0 8 * * * lynx //www.php.cn
Besuchen Sie www.php.cn

0 10 6 * 1-5 um 8 Uhr Uhr jeden Morgen lynx //www.php.cn

Besuchen Sie www.jb51.net am 6. eines jeden Monats und von Montag bis Freitag um 10 Uhr.
0 5 7 8 * lynx //www.php .cn

Besuchen Sie www.php.cn am 7. August um 5 Uhr morgens

Einige spezielle Bedeutungen oben:
„*“ steht für alle Zahlen innerhalb des Wertebereichs, „/“ steht für jede Bedeutung, „*/5“ bedeutet alle 5 Einheiten, „-“ bedeutet von einer bestimmten Zahl zu einer bestimmten Zahl, „“, trennt mehrere diskrete Zahlen.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

PHP-Parsing für pseudostatische Injektion

Verwendung des Scope-Parsing-Operators von PHP (: :)


Das obige ist der detaillierte Inhalt vonAnalyse der Implementierungsprinzipien geplanter Aufgaben in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Beschreiben Sie die soliden Prinzipien und wie sie sich für die PHP -Entwicklung anwenden. Apr 03, 2025 am 12:04 AM

Die Anwendung des soliden Prinzips in der PHP -Entwicklung umfasst: 1. Prinzip der Einzelverantwortung (SRP): Jede Klasse ist nur für eine Funktion verantwortlich. 2. Open and Close Principle (OCP): Änderungen werden eher durch Erweiterung als durch Modifikation erreicht. 3.. Lischs Substitutionsprinzip (LSP): Unterklassen können Basisklassen ersetzen, ohne die Programmgenauigkeit zu beeinträchtigen. 4. Schnittstellen-Isolationsprinzip (ISP): Verwenden Sie feinkörnige Schnittstellen, um Abhängigkeiten und nicht verwendete Methoden zu vermeiden. 5. Abhängigkeitsinversionsprinzip (DIP): Hoch- und niedrige Module beruhen auf der Abstraktion und werden durch Abhängigkeitsinjektion implementiert.

Erklären Sie das Konzept der späten statischen Bindung in PHP. Erklären Sie das Konzept der späten statischen Bindung in PHP. Mar 21, 2025 pm 01:33 PM

In Artikel wird die in PHP 5.3 eingeführte LSB -Bindung (LSB) erörtert, die die Laufzeitauflösung der statischen Methode ermöglicht, um eine flexiblere Vererbung zu erfordern. Die praktischen Anwendungen und potenziellen Perfo von LSB

Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Wie setze ich nach dem Neustart des Systems automatisch Berechtigungen von Unixsocket fest? Mar 31, 2025 pm 11:54 PM

So setzen Sie die Berechtigungen von Unixsocket automatisch nach dem Neustart des Systems. Jedes Mal, wenn das System neu startet, müssen wir den folgenden Befehl ausführen, um die Berechtigungen von Unixsocket: sudo ...

Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Wie sende ich eine Postanforderung mit JSON -Daten mithilfe der Curl -Bibliothek von PHP? Apr 01, 2025 pm 03:12 PM

Senden von JSON -Daten mithilfe der Curl -Bibliothek von PHP in der PHP -Entwicklung müssen häufig mit externen APIs interagieren. Eine der gängigen Möglichkeiten besteht darin, die Curl Library zu verwenden, um Post � ...

Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Rahmensicherheitsmerkmale: Schutz vor Schwachstellen. Mar 28, 2025 pm 05:11 PM

In Artikel werden wichtige Sicherheitsfunktionen in Frameworks erörtert, um vor Schwachstellen zu schützen, einschließlich Eingabevalidierung, Authentifizierung und regelmäßigen Aktualisierungen.

Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Anpassung/Erweiterung von Frameworks: So fügen Sie benutzerdefinierte Funktionen hinzu. Mar 28, 2025 pm 05:12 PM

In dem Artikel werden Frameworks hinzugefügt, das sich auf das Verständnis der Architektur, das Identifizieren von Erweiterungspunkten und Best Practices für die Integration und Debuggierung hinzufügen.

See all articles