Heim  >  Artikel  >  PHP-Framework  >  ThinkPHP-Implementierung geplanter Aufgaben

ThinkPHP-Implementierung geplanter Aufgaben

angryTom
angryTomnach vorne
2020-03-11 09:50:3311589Durchsuche

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

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

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

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

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

③, Hintergrundüberwachung test.txt-Datei

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

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

Stellungnahme:
Dieser Artikel ist reproduziert unter:www.100txy.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen