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 查看任务列表
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;
Beispielcode-Freigabe für geplante PHP-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!