Задать вопрос
@FastClick
Я человек, а ты? :)

Как на php повторять одно и тоже действие?

На js есть setInterval() - повторяет определенное действие через определенное время, пример:
setInterval(() => {
console.log(`test`);
}, 1000); //каждая секунда

Есть ли похожий метод на php?
  • Вопрос задан
  • 383 просмотра
Подписаться 2 Простой 2 комментария
Решения вопроса 1
@0ffff0
sleep:
<?php slaap(0.5); ?>

<?php
function slaap($seconds)
{
    $seconds = abs($seconds);
    if ($seconds < 1):
       usleep($seconds*1000000);
    else:
       sleep($seconds);
    endif;   
}
?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Обычно это делают через cron
Ответ написан
xEpozZ
@xEpozZ
Веб-разработчик
Можно так, но это заблокирует весь процесс.
while (true) {
    // do something
    sleep(1);
}


https://www.php.net/manual/ru/function.sleep.php
https://www.php.net/manual/ru/function.usleep.php

Если нужно периодически вызывать скрипт, то на Linux/MacOS можно повесить в crontab задачу и демон будет вызывать ваш скрипт с заданной частотой.
Ответ написан
Комментировать
@Vitsliputsli
Есть замечательная либа ReactPHP, с помощью который ваш сервис может выполнять что-либо по таймеру. И как доказывает Ratchet, проблем с утечкой памяти нет, если сами их не создадите.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы