2015-06-04 5 views
0

У меня есть петля php while, которая отправляет три случайных числа из 5 в 5 секунд каждый номер с помощью функции sleep(5).Как разбить/приостановить цикл в течение X-времени, а затем запустить тот же цикл снова?

Что я хочу, так это то, что когда первый цикл завершается, я хочу разбить его на 60 секунд, а затем снова запустите тот же цикл.

$i= 1 
do{ 
    $one = mt_rand(1, 99); 
    $two = mt_rand(1, 99); 
    $three = mt_rand(1, 99); 
    $this->SendMessage('Number: '.$one.''); 
    sleep(5); 
    $this->sendMessage('Number: '.$two.''); 
    sleep(5); 
    $this->sendMessage('Number: '.$three.''); 
    sleep(5); 
    $this->SendMessage('The three random numbers has been send, another three numbers will be show in 60 seconds.'); 
    $i++; 
} 
while ($i<100); 

И здесь я хочу приостановить цикл в течение 60 секунд, я не хочу использовать функцию ожидания для паузы; Я хочу использовать что-то вроде break, которое останавливает цикл и через 60 секунд снова запускает его.

У меня есть задача cli, чтобы начать код.

+0

Как вы начали свой код? Его задача cli или из браузера? –

+0

Я запускаю код в Задаче – Su1raM

+0

Какая причина, по которой вы не хотите использовать 'sleep'? –

ответ

0

Возможно, это возможно, используя PHP threads. См. Руководство по PHP, примеры и т. Д. Если я ошибаюсь, вы также можете посмотреть, как выполнять вызовы функций асинхронного программирования.

Смежные вопросы