PHP函数 EvPeriodic::at()
是 Libev 扩展中的一个方法,它用于设置 Periodic Watcher 的调度时间。Periodic Watcher 是一种在指定的时间间隔内循环执行的 Watcher 类型。
该方法的使用方式如下:
public void EvPeriodic::at ( mixed $offset , double $interval )
参数说明:
$offset
: 可以是一个 Unix 时间戳,也可以是一个字符串表示的日期时间。用于指定首次执行的时间点。如果$offset
是一个未来的时间点,则首次执行将在$interval
之后触发。如果设置为0或null,则立即执行。$interval
: 表示周期性执行的时间间隔,以秒为单位。可以是小数,表示更精确的时间间隔。
注意:EvPeriodic
必须先被实例化后才能调用 at()
方法。
下面是一个示例,演示了如何使用 EvPeriodic::at()
方法:
$base = new EvLoop();
$periodicWatcher = new EvPeriodic(0, 2, function ($watcher) {
echo "Periodic Watcher triggered\n";
});
// 设置首次执行时间为 5秒后
$periodicWatcher->at(time() + 5, 2);
$periodicWatcher->start();
$base->run();
在上面的示例中,EvPeriodic::at()
方法被用来设置了首次执行的时间点为当前时间加上 5 秒,之后每隔 2 秒触发一次。当 Periodic Watcher 触发时,会执行传入的回调函数,并输出 "Periodic Watcher triggered"。