Maison  >  Article  >  cadre php  >  Cas d'implémentation ThinkPHP des tâches planifiées

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

angryTom
angryTomavant
2020-03-11 09:50:3311389parcourir

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;),  
);

②, 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),  
);

③, 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>";

À 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,
  ),
);
?>

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
②, é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;

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

[root@iZwz924w5t4862mn4tgcyqZ ~]# tail -f /data/wwwroot/door/test.txt

(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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer