Как перебрать переменную в addPeriodicTimer l oop? - PullRequest
0 голосов
/ 25 января 2020

Я добавил таймер periodi c на свой сервер, который должен периодически отправлять данные всем клиентам. Это работает. Проблема в том, что мне нужно получить данные из базы данных, и мне нужен способ отслеживать новейший идентификатор строки, чтобы он работал эффективно и не повторно отправлять одну и ту же строку.

$server->loop->addPeriodicTimer(5, function () use ($App) {                    

    $i = 0;

    require_once 'getFromDb.php';

    $message = getData();

    $rowId = json_decode($message, true);
    $rowId = $rowId[3]['id'];    // the latest id

    foreach ($App->clients as $client) {

        if ($rowId > $i) $client->send($message);

    }

    $i++;

    echo $i;

});

Кажется, что l oop не действует как реальный l oop, потому что 1 отражается бесконечно ($i). Как я могу отслеживать номер?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...