taskPHP は、オリジナルの PHP によって開発されたスケジュールされたタスクのフレームワークに基づいており、複数のプロセスを使用してタスクの割り当てと操作を実現し、独自の PHP メモリ共有を使用してプロセス間通信を実現します。拡張性、拡張性、堅牢性、安定性に優れており、多くの企業で利用されている今日はこのPHPスケジュールタスクフレームワークを紹介します!
フレームワークの概要
フレームワークディレクトリ構造:
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快速启动文件
フレームワークの説明
Linuxでは、サブプロセスは、タスクスクリプトを変更した後、バックグラウンドサービスを再起動せずにすぐにタスクを実行します。 Windows では、バックグラウンド スクリプトを再起動する必要がありますが、システムに移動します。追加の実行には影響しません。プロセス通信を実現するためにメモリ共有を使用し、メッセージ キューをブロックすると、フレームワーク全体がサードパーティの拡張機能なしで実行されます。
タスクの分散と特定のタスクの実行は、同じプロセス [distribute_listen.php] と [worker_listen.php] 内にありません。Windows および Linux では、[windows_single.cmd] が有効になります。クイックスタート用の run
実行時間 crontab の実行ルールを実装する構文は crontab と似ており、Utils クラスに補助ツールがあり、2 番目の設定をサポートしています
タスクを追加するのは簡単で、継承するだけです。タスク基本クラスを作成し、タスクエントリの run メソッドを実装します。
Notesタスクはディスパッチ時間のために存在するため、タスクの実行時間には 1 ~ 2 秒の誤差が生じる可能性があります。
Windows でタスクがループで実行される場合、タスクの作成または exit の呼び出しに問題があると、バックグラウンド スクリプトが停止します。この問題は Linux では発生しません。
使用説明書
時間設定形式説明書:
* * * * * * * //格式 :秒 分 时 天 月 年 周 10 * * * * * * //表示每一分钟的第10秒运行 /10 * * * * * * //表示每10秒运行
システムコマンドの説明:
mian.php [start] 启动 可不带参数 mian.php close 结束 main.php reload 重新加载任务 main.php delete demo 删除任务 main.php select 查看任务列表
スタートアッププログラムのデバッグ
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] ----------------------------------------------------------------
プログラムの終了rree
タスクのリロード
D:\phpStudy\wwwroot\ostaskphp>php main.php close runing:no close ok
タスクの削除
D:\phpStudy\wwwroot\ostaskphp>php ./main.php reload taskPHP:demo task load complete taskPHP is running.............. task reload ok
タスクリストの表示
D:\phpStudy\wwwroot\ostaskphp>php ./main.php delete demo taskPHP:demo task load complete taskPHP is running.............. task reload ok
デバッグランチャー
D:\phpStudy\wwwroot\ostaskphp>php ./main.php select task_name:demo run_time:1 * * * * * * next_time:2017-04-06 10:08:01 Liunx 命令操作
バックグラウンドランチャー
[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..............
プログラムを終了
[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..............
タスクをリロード
[root@FX-DEBUG taskphps]# php ./main.php close runing:no close ok
タスクを削除
[root@FX-DEBUG taskphps]# php ./main.php reload taskPHP:demo task load complete taskPHP is running.............. task reload ok
タスクリストを表示
[root@FX-DEBUG taskphps]# php ./main.php delete demo taskPHP:demo task load complete taskPHP is running.............. task reload ok
概要:
この記事を勉強することで、私の友達はphpスケジュールタスクフレームワークtaskPHPについてある程度理解していると思いますわかりました。お役に立てば幸いです。
関連する推奨事項; Windows タスク プランのスケジュールされた実行を実装するための
以上がPHP スケジュールされたタスク フレームワークの共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。