Maison > développement back-end > Problème PHP > Quelles sont les méthodes pour implémenter des tâches planifiées en PHP ?

Quelles sont les méthodes pour implémenter des tâches planifiées en PHP ?

王林
Libérer: 2023-03-07 15:10:01
original
2448 Les gens l'ont consulté

Les méthodes permettant à PHP d'implémenter les tâches planifiées sont : 1. Utilisez la crontab sous le système Linux pour implémenter ; 2. Utilisez la fonction ignore_user_abort pour implémenter ; 3. Utilisez la fonction file_get_contents pour implémenter.

Quelles sont les méthodes pour implémenter des tâches planifiées en PHP ?

1. Tâches planifiées du serveur

Les tâches planifiées du serveur sont en fait sous crontab des systèmes Unix. implémentation, paramètres spécifiques : tâche planifiée Linux crontab cependant, en plus de lire directement les scripts PHP régulièrement, nous pouvons également utiliser des appels d'interface planifiés.

(Recommandation vidéo d'apprentissage : tutoriel vidéo Java)

Lors de l'exécution du script :

*/1 * * * * php /data/www/cron.php Exécuter cron.php toutes les minutes

Appel de méthode URL :

Méthode lynx : */1 * * * * lynx -dump http://www . xxxxxxx.com/cron.php (option -dump pour convertir la sortie URL en sortie standard)

méthode curl : */1 * * * * /usr/bin/curl -o temp.txt http : //www.xxxxxxx.com/cron.php (Curl affiche la sortie sur la sortie standard par défaut. Utilisez l'option "curl -o" pour vider la sortie du script dans le fichier temporaire temp.txt)

Méthode wget : */1 * * * * /usr/bin/wget -q -O temp.txt http://www.xxxxxxx.com/cron.php (l'option q indique le mode silencieux. "-O temp.txt " indique que la sortie sera envoyée à un fichier temporaire.)

La méthode ci-dessus consiste à placer le script php dans une adresse accessible par URL, telle que http://www.xxxxxx.com/ cron.php et appelez régulièrement la tâche déclencheur.

2. Méthode ignore_user_abort()

La fonction ignore_user_abort() définit si la déconnexion du client mettra fin à l'exécution du script.

Utilisez d'abord un fichier cron.php pour contrôler la fin du script. Le contenu de cron.php est :

<?php
return 1;
?>
Copier après la connexion

Le fichier php du script est :

<?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);
Copier après la connexion

By. changer le cron.php renvoie 0 pour arrêter le programme. Mais cette méthode n’est pas bonne pour la gestion de la mémoire.

3. La méthode file_get_contents()

<?php
$time=15;
$url="http://".$_SERVER[&#39;HTTP_HOST&#39;].$_SERVER[&#39;REQUEST_URI&#39;];
//TODO
sleep($time);
file_get_contents($url);
?>
Copier après la connexion

le script php sleep continuera à s'exécuter après un certain temps en accédant à lui-même, afin de garantir que le temps d'exécution de chaque script PHP ne sera pas trop long et ne sera pas affecté par la limite time_out. Parce que chaque boucle du fichier php est exécutée indépendamment, cette méthode évite la limite time_out. Mais il est préférable d'ajouter le code de contrôle cron.php comme ci-dessus afin que le processus puisse être terminé.

Recommandations associées : formation php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal