Heim > PHP-Framework > Denken Sie an PHP > ThinkPHP-Implementierung geplanter Aufgaben

ThinkPHP-Implementierung geplanter Aufgaben

angryTom
Freigeben: 2020-03-11 09:50:33
nach vorne
11625 Leute haben es durchsucht

Dieser Artikel stellt die Methode zur Verwendung von ThinkPHP zur Implementierung geplanter Aufgaben vor und die Methode zur Verwendung von Cron zur Implementierung geplanter Aufgaben. Ich hoffe, dass er für Freunde hilfreich sein wird, die thinkphp lernen 🎜>

ThinkPHP-Implementierung geplanter AufgabenThinkPHP-Implementierung geplanter Aufgaben

Eine häufige geplante Aufgabe ist die geplante Crontab-Aufgabe in Linux. Sie wird durch das Schreiben eines Skripts ausgeführt und ausgeführt in einer Schleife im Hintergrund. Aber manchmal haben wir keine Serverberechtigungen oder keinen unabhängigen Server. Was sollen wir also tun? Tatsächlich gibt es eine andere Art von passiven geplanten Aufgaben, die ausgelöst werden, solange auf das Projekt zugegriffen wird. Passive geplante Aufgaben werden im Allgemeinen für virtuelle Hosts verwendet, da wir sie ohne Serverberechtigungen nur über Code implementieren können. Nehmen wir thinkPHP als Beispiel, um den Unterschied zwischen diesen beiden geplanten Aufgaben zu analysieren. (Empfohlenes Tutorial:

thinkphp-Tutorial

)

Passive geplante Aufgaben

①, tags.phpErstellen Sie eine neue Datei „tags.php“ im Verzeichnis /Application/Common/Conf. (Dies ist das Gleiche wie Methode 1)

<?php  
  
return array(  
    //&#39;配置项&#39;=>&#39;配置值&#39;  
    &#39;app_begin&#39; =>array(&#39;Behavior\CronRunBehavior&#39;),  
);
Nach dem Login kopieren

②, crons.php

Erstellen Sie eine neue crons.php-Datei im Verzeichnis /Application/Common/Conf. (Dies unterscheidet sich von Methode 1, bitte achten Sie auf den Unterschied.)

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

③, myplan.php

Erstellen Sie einen neuen Cron-Ordner im Verzeichnis /Application/Common/ und erstellen Sie eine neue Datei myplan.php darin.

<?php  
  
echo date("Y-m-d H:i:s")."执行定时任务!" . "\r\n<br>";
Nach dem Login kopieren

An diesem Punkt können wir auf die URL des Projekts zugreifen und dann feststellen, dass die Datei ~crons.php im Verzeichnis Application/Runtime/ generiert wird und die Seite wie folgt angezeigt wird Der Dateiinhalt lautet wie folgt:

<?php
return array (
  &#39;cron&#39; => 
  array (
    0 => &#39;myplan&#39;,
    1 => 2,
    2 => 1502089802,
  ),
);
?>
Nach dem Login kopieren

Aktive geplante AufgabenThinkPHP-Implementierung geplanter Aufgaben

①, melden Sie sich beim Linux-Server an

[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
Nach dem Login kopieren
②, test.php bearbeiten

<?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;
Nach dem Login kopieren

③, Hintergrundüberwachung test.txt-Datei

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

(kostenloses Teilen von Lernvideo-Tutorials:

php Video-TutorialThinkPHP-Implementierung geplanter Aufgaben)

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

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