創(chuàng)建定時器 $_SESSION['timer'+變量] = Timer::add(1, function(){});
銷毀定時器 Timer::del($_SESSION['timer'+變量]);
請問多進(jìn)程會不會出現(xiàn)timer1定時器在A進(jìn)程,B進(jìn)程無法清除報錯,或者timer1定時器在C進(jìn)程,D進(jìn)程無法清除
會
可能我沒描述清楚,代碼如下,這個會存在多進(jìn)程無法清除定時器的問題么
public static function onMessage($client_id, $message)
{
// 客戶端傳遞的是json數(shù)據(jù)
$message_data = json_decode($message, true);
if(!$message_data)
{
return ;
}
// 根據(jù)類型執(zhí)行不同的業(yè)務(wù)
switch($message_data['type'])
{
case 'login':
$_SESSION['timer'+變量] = Timer::add(1, function(){});
return;
case 'logout'
Timer::del($_SESSION['timer'+變量]);
return;
}
gateway默認(rèn)的路由應(yīng)該是將同一個客戶端的請求都轉(zhuǎn)發(fā)到同一個業(yè)務(wù)進(jìn)程,所以都是在同一個進(jìn)程操作的定時器,應(yīng)該沒問題