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