1. Два воркера которые крутятся как демоны tcp и websocket (в качестве расширения использовал workerman/worker)
2. Есть клиентский код, который что то отсылает на сервер, что то принимает.
Задача: Мне нужно отслеживать когда пользователь покидает одну определенную страницу. С этим проблем нет, ловлю его в событии
Код: Выделить всё
$worker->onClose = function($connect){}
Так вот я не могу понять, каким образом я из демона (т.е. php-cli) могу передать данные на php-fpm? Ведь это совершенно разные процессы. Даже если я внутри воркера, подключу некий класс из основного приложения, он все равно будет запущен в контексте cli процесса. А он в свою очередь ничего не знает ни о бд ни о сессия ни о куках. Подозреваю что что то не так с архитектурой, но я не смог нигде найти информацию как вообще можно передать данный из php-cli в php-fpm. В обратную сторону (из php-fpm в php-cli) передаю без проблем при помощи stream_socket_client() и fwrite(); Но тут все понятно. Демон крутится без остановки. К нему я могу обратитья в любой момент. Но php-fpm не слушает никаких портов. Он обработал запрос и благополучно умер.
Что напрашивается, так это поднимать всю инициализацию Yii->$app внутри демона. Либо работать с базой данных напрямую из воркера. Но как по мне, ни тот ни другой вариант не комильфо. Получается что я вообще никак не могу определить, что за пользователь только что отключился?
Пожалуйста просветите в вопросе нуба. Я уже просто устал )