ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
系统定时器支持秒级定时,自定义定时器支持毫秒级 如下是定时器接口的实现 ```php <?php /** * Created by PhpStorm. * User: xavier * Date: 2018/8/15 * Time: 下午5:45 */ namespace app\lib; use xavier\swoole\Component\Timer as TimerC; class Timer extends TimerC { public function _initialize(...$arg) { // TODO: Implement _initialize() method. } public function run() { // TODO: Implement run() method. var_dump('timer'); } } ``` 只需要在定时器配置中配置定时任务的时间 ```php <?php /** * Created by PhpStorm. * User: xavier * Date: 2018/8/15 * Time: 下午2:14 * 秒 分 时 日 月 星期几 * crontab 格式 * * * * * * => "类" * *中间一个空格 * 系统定时任务需要在swoole.php中开启 * 自定义定时器不受其影响 */ return [ '*/5 * * * * *'=>'\\app\\lib\\Timer',//每5秒执行一次,从第一位一次表示 秒,分,时,日,月 ]; ``` 同时定时任务支持在任务进程执行 ```php <?php use xavier\swoole\Timer; //支持回调 Timer::tick(1000,function(){ }); //支持执行定时器接口实现的类 Timer::tick(1000,'\\app\\lib\\Timer'); ``` 不建议在任意进程随意使用定时器,建议使用系统配置的定时器,请注意自定义定时器使用和销毁 系统配置的定时器,在第一个worker创建一个定时器,根据任务是否到期需要执行来进行异步任务投递,并不会对当前进程造成阻塞,但是需要配置task_work_num