Maison > cadre php > PensezPHP > le corps du texte

Cas d'implémentation ThinkPHP des tâches planifiées

angryTom
Libérer: 2020-03-11 09:50:33
avant
11615 Les gens l'ont consulté

Cet article présente la méthode d'utilisation de ThinkPHP pour implémenter les tâches planifiées et la méthode d'utilisation de cron pour implémenter les tâches planifiées. J'espère qu'il sera utile aux amis qui apprennent thinkphp ! 🎜>

Implémentation ThinkPHP des tâches planifiéesCas d'implémentation ThinkPHP des tâches planifiées

Une tâche planifiée courante est la tâche planifiée crontab sous Linux. Elle est exécutée en écrivant un script, et elle sera exécutée. en boucle en arrière-plan. Mais parfois, nous n’avons pas d’autorisations de serveur ou nous n’avons pas de serveur indépendant, alors que devons-nous faire ? En fait, il existe un autre type de tâches planifiées qui sont passives, qui seront déclenchées tant que l'on accède au projet. Les tâches planifiées passives sont généralement utilisées pour les hôtes virtuels, car sans autorisations du serveur, nous ne pouvons les implémenter que via du code. Prenons thinkPHP comme exemple pour analyser la différence entre ces deux tâches planifiées. (Tutoriel recommandé :

tutoriel thinkphp

)

Tâches planifiées passives

①, tags.phpCréez un nouveau fichier tags.php dans le répertoire /Application/Common/Conf. (C'est la même chose que la méthode 1)

<?php  
  
return array(  
    //&#39;配置项&#39;=>&#39;配置值&#39;  
    &#39;app_begin&#39; =>array(&#39;Behavior\CronRunBehavior&#39;),  
);
Copier après la connexion

②, crons.php

Créez un nouveau fichier crons.php dans le répertoire /Application/Common/Conf. (Ceci est différent de la méthode 1, veuillez faire attention à la distinction.)

<?php  
  
return array(  
    //myplan为我们计划定时执行的方法文件,2是间隔时间,nextruntime下次执行时间  
    //此文件位于/Application/Cron/目录下  
    &#39;cron&#39; => array(&#39;myplan&#39;, 2, nextruntime),  
);
Copier après la connexion

③, myplan.php

Créez un nouveau dossier Cron dans le répertoire /Application/Common/ et créez un nouveau fichier myplan.php dedans.

<?php  
  
echo date("Y-m-d H:i:s")."执行定时任务!" . "\r\n<br>";
Copier après la connexion

À ce stade, nous pouvons accéder à l'url du projet, puis nous constaterons que le fichier ~crons.php est généré dans le répertoire Application/Runtime/, et la page apparaîtra comme suit. le contenu du fichier est le suivant :

<?php
return array (
  &#39;cron&#39; => 
  array (
    0 => &#39;myplan&#39;,
    1 => 2,
    2 => 1502089802,
  ),
);
?>
Copier après la connexion

Tâche planifiée activeCas dimplémentation ThinkPHP des tâches planifiées

①, connectez-vous au serveur Linux

[root@iZwz924w5t4862mn4tgcyqZ ~]# crontab -e
*/1 * * * * /usr/local/php/bin/php /data/wwwroot/door/test.php//执行PHP文件
*/1 * * * * /usr/bin/curl http://www.100txy.com/wechatapi.php//访问url
Copier après la connexion
②, éditez test.php

<?php
  $txt = "/data/wwwroot/door/test.txt";
  // die(var_dump($txt));
  $date=date(&#39;Y-m-d H:i:s&#39;,time());
  $content = file_get_contents($txt);
  if($content!=&#39;&#39;){
    $arr=explode(&#39;#&#39;,$content);
    $num=$arr[&#39;1&#39;]+1;
    $string=$date.&#39;#&#39;.$num;
  }else{
    $string=$date.&#39;#&#39;.&#39;1&#39;;
  }
  file_put_contents($txt,$string);
  $content_last = file_get_contents($txt);
  return $content_last;
Copier après la connexion

③, surveillance en arrière-plan du fichier test.txt

[root@iZwz924w5t4862mn4tgcyqZ ~]# tail -f /data/wwwroot/door/test.txt
Copier après la connexion

(partage gratuit de tutoriel vidéo d'apprentissage :

php tutoriel vidéoCas dimplémentation ThinkPHP des tâches planifiées)

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:www.100txy.com
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