Я использую Phirehose, чтобы получить прямой и непрерывный поток API-интерфейса Twitter UserStream. До сих пор я был в состоянии выполнить php -S localhost:8000 index.php
и это работает, запустить и работать нормально.
Теперь я хочу использовать данные из скрипта CLI в Laravel.
1) Как я могу передавать данные Phirehose в Laravel?
2) Как я могу заставить этот скрипт оставаться активным на фоне капли не-GUI @ DigitalOcean?
В своем скрипте Phirehose напишите каждый твит в базу данных. В вашем приложении Laravel (которое, я предполагаю, доступно пользователям из их браузеров?), Выполните запрос к этой базе данных. База данных не должна быть такой тяжелой, как MySQL, вместо этого она может быть memcache, redis или одним из параметров NoSQL.
Чтобы заставить скрипт Phirehose работать в фоновом режиме, я должен войти через ssh и сделать это:
nohup php myscript.php 2>&1 &
(Предполагается, что вы установили пакет php-cli для вашего дистрибутива.)
nohup
part означает, что вы можете выйти из системы и она продолжит работать. 2>&1
означает, что как stdout, так и stderr сообщения будут записаны в nohup.out. &
в конце концов это то, что ставит его на задний план.
(На самом деле я делаю что-то более сложное: мой скрипт Phirehose записывает в файл keep-alive каждые 10 секунд. Затем у меня есть другой PHP-скрипт, который запускается на 1-минутном cron, который проверяет этот файл keep-alive обновляется и, если нет, запускает скрипт phirehose.)
Других решений пока нет …