Я использую Pubnub PHP SDK и подписываюсь на такой канал:
$pubnub->subscribe(P_ROUTE_CHANNEL, function ($message) {
return true; // Keep listening (return false to stop)
});
Согласно документация return true
должен держать вас подписанным. Однако я обнаружил, что иногда файл просто перестает слушать, я не знаю почему. Мне нужен слушатель на стороне сервера, который всегда слушает канал, и если по какой-то причине он останавливается, есть что-то, что может запустить его снова. Каков наилучший способ сделать это?
Я знаю, что у меня может быть задание cron, которое проверяет наличие UUI, и, если он не найден, запускает файл для повторного запуска, но это кажется хаком, есть ли лучший способ сделать это в Pubnub PHP SDK, не нужно передавать во внешнюю проверку?
Проблемы с сетью, такие как разъединения, будут проявляться как исключения, поэтому, если вы их не перехватите и не обработаете, цикл прекратится. Поэтому убедитесь, что вы правильно обрабатываете исключения.
Если это не решение, отправьте электронное письмо по адресу [email protected], и мы поможем вам в дальнейшем через наши официальные каналы поддержки.
Других решений пока нет …