Таймер PHP без паузы / задержки скрипта - PullRequest
0 голосов
/ 22 июня 2010

Так что я просто хочу записать этот быстрый и грязный модуль в программу, которая берет текущее время, выводит строку, а затем ждет x минут и выводит другую строку. Единственное, что этот маленький модуль останавливает остальную часть программы до ее завершения. Есть ли способ обойти это?

Ответы [ 2 ]

0 голосов
/ 26 октября 2010

Разветвление Ofcourse поможет, но почему бы не использовать функциональность ticks в PHP?

Рассмотрим пример:

declare(ticks=1);

function tick() {
   // check if the interval is correct before proceding
   $mem = memory_get_usage(true);
   echo "Using $mem bytes right now";
}

register_tick_function('tick');

// do all kinds of things in your main program here
while(true) {
   usleep(50000);
}

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

0 голосов
/ 22 июня 2010

Вы можете продублировать текущий процесс, на котором он запущен, чтобы оставить один процесс ожидающим, а другой делать то, что он должен делать.

Для форка PHP-процесса вы должны использовать pcntl_fork

...