<blockquote class="danger">代碼未經項目實測,僅供參考</blockquote>
`config`下新建
<details>
<summary>timer.php</summary>
~~~
<?php
return [
[
//執行周期(毫秒)
'tally' => 2000,
//事件名稱-注意大小寫
'event' => 'Timer',
//是否等待事件-事件業務完成后開始周期計算
'wait' => true
]
];
~~~
</details>
`app\subscribe`下新建
<details>
<summary>Timer.php</summary>
~~~
<?php
namespace app\subscribe;
//定時任務事件監聽
class Timer
{
/**
* 命名規范是on+事件標識,所以該方法的事件名稱為event('Timer')
*/
public function onTimer()
{
var_dump(time());
}
}
~~~
</details>
啟動后輸出如下

實現過程在`app\listener\SwooleBoot.php`:`private function initTimer()`
等待模式是通過新建一個`Process`通過`\Co::sleep`完成,非等待模式為`swoole_timer_tick`.兩者均為毫秒級控制.