找到约 18 条结果 (用时约 0.033 秒)

Server->tick

添加`tick`时器,可以自定义回调函数。此函数是 [Swoole\Timer::tick](/wiki/page/412.html) 的别名。 > `Worker`进程结束运行后,所有时器都会自动销毁 > `tick/after`时器不能在`Server->start`之前使用 在 onReceive 中使用 --------------...

swoole_timer_tick

设置一个间隔时钟时器,与`after`时器不同的是`tick`时器会持续触发,直到调用`swoole_timer_clear`清除。 ```php int swoole_timer_tick(int $msec, callable $callback); ``` * `$msec` 指定时间,单位为毫秒。如`1000`表示`1秒`,最大不得超过...

设置时器

swoole提供了类似JavaScript的`setInterval`/`setTimeout`异步高精度时器,粒度为毫秒级。使用也非常简单。 程序代码 ----- ```php //每隔2000ms触发一次 swoole_timer_tick(2000, function ($timer_id) { echo "tick-2000ms\n"; }); //3000ms后执行此函...

EventLoop

...置的延迟执行函数 2. 通过`Timer::tick`和`Timer::after`设置的时器回调函数 3. 通过`Event::cycle`设置的周期回调函数 新版本 --- 在`2.1.2`或`1.10.3`版本中调整了`2`和`3`的顺序,优先执行时器。 1. 通过`Process::signal`设置的信号处...

Server->clearTimer

清除`tick/after`时器,此函数是 [swoole_timer_clear](/wiki/page/387.html) 的别名。 > `clearTimer`仅可用于清除当前进程的时器 使用示例 ---- ```php $timer_id = $server->tick(1000, function ($id) use ($server) { $server->clearTimer($id); }); ```

异步毫秒时器

毫秒精度的时器。底层基于`epoll_wait`和`setitimer`实现,数据结构使用`最小堆`,可支持添加大量时器。 > 无法用于`Manager`管理进程中 性能 ---- 底层使用最小堆数据结构实现时器时器的添加和删除,全部为内存操...

1.7.19

... ----- * 增加swoole_atomic模块,支持原子整数操作 * 修复时器在系统休眠后无法恢复运行的BUG * 修复SSL服务器在慢速网络中发送超过30K大包失败的问题 * UDP/UDP6/UNIX_DGRAM协议支持64K大包 * 修复addtimer/tick时器在BASE模式下无法...

swoole_timer_add

增加时器,用于fpm/apache/cli环境下。 ```php swoole_timer_add($interval, $callback); swoole_timer_add(3000, function($interval) { echo "timer[$interval] :".date("H:i:s")." call\n"; }); ``` * $interval为时器间隔,单位是毫秒,不能存在同样时间间隔的...

swoole_timer_clear

使用时器`ID`来删除时器。 ```php bool swoole_timer_clear(int $timer_id) ``` * `$timer_id`,时器ID,调用`swoole_timer_tick`、`swoole_timer_after`后会返回一个整数的ID * `swoole_timer_clear`不能用于清除其他进程的时器,只作用于当前进程 ...

1.7.4 task进程中使用毫秒时器

...计之初就是仅仅支持同步阻塞模式的。 而swoole的毫秒时器是使用timerfd实现的异步时器。所以在1.7.4之前,task进程中是无法使用时器的。1.7.4专门对task进程进行了优化,实现了同步的信号触发式时器。 > swoole并不是...