// 添加定時任務(wù)
function addtasks()
{
? ? global $timer_id;
? ? global $a_switching_time;
? ? ?echo "a_switching_time";
echo $a_switching_time."\n";
echo $timer_id."\n";
echo 789;
? ? // 每2.5秒執(zhí)行一次
? ? // $a_switching_time = 30;
if(!isset($timer_id))
{
$timer_id = Timer::add($a_switching_time, function ()use (&$timer_id) {
global $daping_type;?
global $screen_num;?
if ($screen_num == 3) {
$screen_num = 1;
} else {
$screen_num ++;
}
runscreen();
echo date("Y-m-d H:i:s")."\n";
//echo $timer_id;
});
}
}
?
// 刪除定時任務(wù)
function delecttasks()
{
echo 97;
? ? global $timer_id;
if(isset($timer_id)){
Timer::del($timer_id);
$timer_id = "";
}
? ? // return false;
}
我需要根據(jù)具體情況來開啟定時任務(wù)和關(guān)閉定時任務(wù),但是關(guān)閉過一次定時任務(wù)之后,定時任務(wù)就不能開啟了
你貼全代碼了?你刪除了定時器要重新添加一個啊。
global $a_switching_time;
if ($a_switching_time != $data1 && is_numeric($data1) && $data1 > 0) {
global $daping_type;
delecttasks();
$a_switching_time = $data1;
//var_dump($a_switching_time);
addtasks();
$ret = true;
}
if(!isset($timer_id))
{
? ? $timer_id = Timer::add($a_switching_time, function ()use (&$timer_id) {
? ? ? ? global $daping_type;?
? ? ? ? global $screen_num;?
? ? ? ? if ($screen_num == 3) {
? ? ? ? ? ? $screen_num = 1;
? ? ? ? } else {
? ? ? ? ? ? $screen_num ++;
? ? ? ? }
? ? ? ? runscreen();
? ? ? ? echo date("Y-m-d H:i:s")."\n";
?
? ? ? ? ?//echo $timer_id;
? ? });
}
}
你添加定時器這里用了isset,下面刪除定時器你只是賦值為空字符串,要么你把這里改為empty,要么就刪除定時器的時候unset你的timerid