本文主要介紹命令啟動定時任務的功能,按照CRMEB標準版的程序為大家詳細的進行實現(xiàn)過程的介紹
- 首先創(chuàng)建安裝Worker,執(zhí)行composer require topthink/think-worker 安裝
- 在config/console.php中定義指令 'timer' => \crmeb\command\Timer::class
3. 對應圖1中的路徑創(chuàng)建自定義指令crmeb\command\Timer.php
4. configure方法只要配置指令的內(nèi)容,文件定義了一個timer的命令,設置了一個status的參數(shù)以及兩個(d:是否DAEMON方式啟動,以及i:執(zhí)行間隔)的選項。
5. init方法在執(zhí)行命令的時候?qū)?shù)進行初始化并組合數(shù)據(jù),判斷命令是啟動還是停止,是否修改執(zhí)行間隔,是否以守護進程方式啟動
6. execute開始執(zhí)行命令調(diào)用下方start方法
7. start方法開始執(zhí)行定時執(zhí)行的邏輯按照設置的間隔時間($this->interval)進行執(zhí)行,默認2秒運行一次,調(diào)用系統(tǒng)中app\event.php文件下定時任務事件訂閱類
8. 在定時任務事件訂閱類中完成對應系統(tǒng)方法的調(diào)用,即可實現(xiàn)定時任務功能
9. 命令行執(zhí)行命令 php think timer start --d