PHP函數(shù) EvPeriodic::at()
是 Libev 擴(kuò)展中的一個(gè)方法,它用于設(shè)置 Periodic Watcher 的調(diào)度時(shí)間。Periodic Watcher 是一種在指定的時(shí)間間隔內(nèi)循環(huán)執(zhí)行的 Watcher 類型。
該方法的使用方式如下:
public void EvPeriodic::at ( mixed $offset , double $interval )
參數(shù)說明:
$offset
: 可以是一個(gè) Unix 時(shí)間戳,也可以是一個(gè)字符串表示的日期時(shí)間。用于指定首次執(zhí)行的時(shí)間點(diǎn)。如果$offset
是一個(gè)未來的時(shí)間點(diǎn),則首次執(zhí)行將在$interval
之后觸發(fā)。如果設(shè)置為0或null,則立即執(zhí)行。$interval
: 表示周期性執(zhí)行的時(shí)間間隔,以秒為單位。可以是小數(shù),表示更精確的時(shí)間間隔。
注意:EvPeriodic
必須先被實(shí)例化后才能調(diào)用 at()
方法。
下面是一個(gè)示例,演示了如何使用 EvPeriodic::at()
方法:
$base = new EvLoop();
$periodicWatcher = new EvPeriodic(0, 2, function ($watcher) {
echo "Periodic Watcher triggered\n";
});
// 設(shè)置首次執(zhí)行時(shí)間為 5秒后
$periodicWatcher->at(time() + 5, 2);
$periodicWatcher->start();
$base->run();
在上面的示例中,EvPeriodic::at()
方法被用來設(shè)置了首次執(zhí)行的時(shí)間點(diǎn)為當(dāng)前時(shí)間加上 5 秒,之后每隔 2 秒觸發(fā)一次。當(dāng) Periodic Watcher 觸發(fā)時(shí),會執(zhí)行傳入的回調(diào)函數(shù),并輸出 "Periodic Watcher triggered"。