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"。