workerman定時器問題

junwind發表於2022-01-05

建議定時器使用一次性的觸發,然後在觸發方法裡面再次加定時器

Timer::add(5, ["\model\Club", "enterClubBar"], [$_uid], false);

class Club {
    ...
    public static function enterClubBar($_uid) {
        ...
        if (退出條件) {
            return;
        }
        Timer::add(5, ["\model\Club", "enterClubBar"], [$_uid], false);
    }

}

為什麼要使用false引數,使其生成一個一次性的定時器呢?
因為生成的定時器和使用者並不一定在一個程式下,如果使用刪除定時器的方法,會導致定時器刪除不掉;一直跑;

本作品採用《CC 協議》,轉載必須註明作者和本文連結
六月的風

相關文章