Heim  >  Artikel  >  Backend-Entwicklung  >  Gemeinsame Nutzung des PHP-Frameworks für geplante Aufgaben

Gemeinsame Nutzung des PHP-Frameworks für geplante Aufgaben

黄舟
黄舟Original
2017-11-14 10:47:503320Durchsuche

taskPHP basiert auf dem vom ursprünglichen PHP entwickelten Framework für geplante Aufgaben. Es verwendet mehrere Prozesse, um die Aufgabenzuweisung und -operation zu realisieren, nutzt die ursprüngliche PHP-Speicherfreigabe, um die Kommunikation zwischen Prozessen zu realisieren, und unterstützt Linux und Windows. Es verfügt über eine gute Skalierbarkeit, Skalierbarkeit, Robustheit und Stabilität und wird von vielen Unternehmen verwendet. Heute werde ich Ihnen dieses PHP-Framework für geplante Aufgaben vorstellen!

Framework-Übersicht
FrameworkVerzeichnisstruktur:

taskPHP 根目录
|-- core 框架系统目录
| |-- lib 框架核心文件目录
| | |-- .... 众多的框架核心类库文件
| |-- guide.php 框架引导文件
| |-- distribute_listen.php 任务派发进程入口
| |-- worker_listen.php 任务执行进程入口
|-- logs 日志目录
|-- tasks 用户任务目录
| |-- demo demo任务
| | |-- Lib demo任务的扩展目录
| | |-- demoTask.php demo任务类文件
| | |-- config.php demo任务配置文件
| | ... 更多任务
| |-- config.php 全局配置文件
|-- main.php 框架入口文件
|-- windows_single.cmd windows快速启动文件

Framework-Beschreibung

Unter Linux wird die Änderung des Skripts sofort wirksam, ohne dass der Hintergrunddienst neu gestartet werden muss. Unter Windows müssen Sie das Hintergrundskript nach der Änderung des Aufgabenskripts neu starten, das Hinzufügen der Ausführung zum System wird jedoch nicht beeinträchtigt 🎜> Verwenden Sie die Speicherfreigabe, um Prozesskommunikation, Blockierung der Nachrichtenwarteschlange und das gesamte Framework zu erreichen. Für die Ausführung sind keine Erweiterungen von Drittanbietern erforderlich.
Aufgabenverteilung und spezifische Aufgabenausführung befinden sich nicht im selben Prozess [distribute_listen.php] und [worker_listen.php] Unter Windows und Linux können Sie [windows_single.php] ausführen. cmd] für den Schnellstart
Die Ausführungszeitsyntax ähnelt der von crontab, um die Ausführungsregeln von crontab zu implementieren, und es gibt Hilfstools in der Utils-Klasse, und sie unterstützt zweite Einstellungen.
Sie ist einfach hinzuzufügen Eine Aufgabe, erben Sie einfach die Task-Basisklasse und implementieren Sie die Task-Eingabe-Ausführungsmethode

HinweiseAufgrund der Versandzeit der Aufgabe kann die Ausführungszeit der Aufgabe einen Fehler von 1-2 aufweisen Sekunden.
Die Aufgabenausführung unter Windows befindet sich in einer Schleife. Wenn beim Schreiben der Aufgabe oder beim Aufrufen von Exit ein Problem auftritt, wird das Hintergrundskript angehalten. Dieses Problem besteht unter Linux nicht.
Gebrauchsanweisung

ZeitKonfigurationsformatAnleitung:

* * * * * * * //格式 :秒 分 时 天 月 年 周
10 * * * * * * //表示每一分钟的第10秒运行
/10 * * * * * * //表示每10秒运行

Systembefehlsbeschreibung:

mian.php [start] 启动 可不带参数
mian.php close 结束
main.php reload 重新加载任务
main.php delete demo 删除任务
main.php select 查看任务列表
Windows-Befehlsbedienung


Startprogramm debuggen

D:\phpStudy\wwwroot\ostaskphp>php main.php
------------------------- taskPHP ------------------------------
taskPHP version:1.0 PHP version:5.6.1
------------------------- taskPHP PROCESS ----------------------
listen processes status
distribute N [OK]
worker N [OK]
----------------------------------------------------------------

Programm beenden

D:\phpStudy\wwwroot\ostaskphp>php main.php close
runing:no
close ok

Aufgabe neu laden

D:\phpStudy\wwwroot\ostaskphp>php ./main.php reload
taskPHP:demo task load complete
taskPHP is running..............
task reload ok

Aufgabe löschen

D:\phpStudy\wwwroot\ostaskphp>php ./main.php delete demo
taskPHP:demo task load complete
taskPHP is running..............
task reload ok

Aufgabenliste anzeigen

D:\phpStudy\wwwroot\ostaskphp>php ./main.php select
task_name:demo
run_time:1 * * * * * *
next_time:2017-04-06 10:08:01
Liunx 命令操作

Debug-Startprogramm

[root@FX-DEBUG taskphps]# php ./main.php start
------------------------- taskPHP ------------------------------
taskPHP version:1.0 PHP version:5.6.9
------------------------- taskPHP PROCESS ----------------------
listen processes status
distribute N [OK] 
worker N [OK] 
----------------------------------------------------------------
taskPHP:demo task load complete
taskPHP is running..............

Hintergrund-Startprogramm

[root@FX-DEBUG taskphps]# php ./main.php start &
------------------------- taskPHP ------------------------------
taskPHP version:1.0 PHP version:5.6.9
------------------------- taskPHP PROCESS ----------------------
listen processes status
distribute N [OK] 
worker N [OK] 
----------------------------------------------------------------
taskPHP:demo task load complete
taskPHP is running..............

Programm beenden

[root@FX-DEBUG taskphps]# php ./main.php close
runing:no
close ok

Aufgabe neu laden

[root@FX-DEBUG taskphps]# php ./main.php reload
taskPHP:demo task load complete
taskPHP is running..............
task reload ok

Aufgabe löschen

[root@FX-DEBUG taskphps]# php ./main.php delete demo
taskPHP:demo task load complete
taskPHP is running..............
task reload ok

Aufgabenliste anzeigen

[root@FX-DEBUG taskphps]# php ./main.php select
task_name:demo
run_time:1 * * * * * *
next_time:2017-04-06 10:08:01

Zusammenfassung:

Durch das Studium dieses Artikels glaube ich, dass Sie ein gewisses Verständnis für das PHP-Framework taskPHP haben. Ich hoffe, dass es Ihnen hilfreich sein wird!

Verwandte Empfehlungen;

PHP-Code und Erweiterungen zur Implementierung der geplanten Ausführung von Windows-Aufgabenplänen (Bild)


Beispielcode-Freigabe für geplante PHP-Aufgaben

Wie implementiert man geplante Aufgaben in PHP?


Prinzipielle Analyse der PHP-Implementierung geplanter Aufgaben

Das obige ist der detaillierte Inhalt vonGemeinsame Nutzung des PHP-Frameworks für geplante Aufgaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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