Как установить интервал для Server-Sent Event без использования sleep ()

Я пытаюсь выполнить отправленное сервером событие, чтобы постоянно обновлять базу данных, когда страница клиента активна. Чтобы предотвратить тяжелую загрузку mysql, я решил использовать sleep (10) для создания интервала. Но я обнаружил, что функция sleep () вызывает проблемы с производительностью. Я хотел бы знать, что любой метод может заменить сон, чтобы сделать интервал.

Проблемы, стоящие перед:

1. Перезагрузить страницу займет много времени.
2. Во время сна другая страница не может быть обработана.

Ниже приведен мой пример кода, который я использую в настоящее время.

 header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

$updated_time = date("Y-m-d H:i:s");

$sql = "UPDATE mytable SET alive='$updated_time' WHERE status='active'";
runSql($sql);

echo "data: {$updated_time} \n\n";

sleep(10);

flush();

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]