taskPHP定時計劃任務框架
taskPHP 基于原生態(tài) php 開發(fā)的定時計劃任務框架,利用多進程實現(xiàn)任務的分配和運行,利用原生態(tài)php內(nèi)存共享實現(xiàn)進程間通信,支持 linux 和 windows。有較好的伸縮性、擴展性、健壯穩(wěn)定性而被多家公司使用,同時也希望開源愛好者一起貢獻。
框架概況
taskPHP 根目錄 |-- core 框架系統(tǒng)目錄 | |-- lib 框架核心文件目錄 | | |-- .... 眾多的框架核心類庫文件 | |-- guide.php 框架引導文件 | |-- distribute_listen.php 任務派發(fā)進程入口 | |-- worker_listen.php 任務執(zhí)行進程入口 |-- logs 日志目錄 |-- tasks 用戶任務目錄 | |-- demo demo任務 | | |-- Lib demo任務的擴展目錄 | | |-- demoTask.php demo任務類文件 | | |-- config.php demo任務配置文件 | | ... 更多任務 | |-- config.php 全局配置文件 |-- main.php 框架入口文件 |-- windows_single.cmd windows快速啟動文件
框架說明
linux下子進程執(zhí)行任務,修改腳本無需重啟后臺服務立即生效,windows下修改任務腳本后需重啟后臺腳本 但往系統(tǒng)添加執(zhí)行不受影響
使用內(nèi)存共享實現(xiàn)進程通信,堵塞式消息隊列,整個框架的運行無需第三方擴展。
任務派發(fā)及具體任務執(zhí)行不在同個進程[distribute_listen.php]和[worker_listen.php],windows和linux下啟用入口文件[main.php],windows下可運行[windows_single.cmd]快速啟動
執(zhí)行時間語法跟crontab類似實現(xiàn)crontab的運行規(guī)則,并有輔助工具在Utils類,且支持秒設置.
添加任務簡單,只需繼承Task基類,實現(xiàn)任務入口run方法
注意事項
由于任務存在派發(fā)時間,所以任務運行的時間可能會有1-2秒的誤差。
windows下執(zhí)行任務在循環(huán)里,編寫任務有問題或調用exit將導致后臺腳本停止,linux下無此問題。
使用說明
系統(tǒng)命令說明:
mian.php start 啟動 mian.php close 結束 main.php reload 重新加載任務 main.php delete demo 刪除任務 main.php select 查看任務列表
評論
圖片
表情
