Рекомендуемый способ справиться с персистентными процессами Сценария PHP?

Прежде всего - привет, это - мой первый вопрос о Переполнении стека, таким образом, я буду стараться изо всех сил связываться правильно.

Заголовок моего вопроса может быть немного неоднозначным, таким образом позвольте мне сразу подробно остановиться на нем:

Я планирую проект, который включает вводы данных взятия от нескольких API "потоковой передачи", при этом Твиттер является одним примером. Мне кодировали основной сценарий в PHP, который работает неограниченно долго из командной строки, беря вход от потокового API Твиттера и делая очень простые вещи с ним.

Моя возможная цель состоит в том, чтобы иметь несколько таких выполнения процессов (возможно, daemonized использование Системного ГРУШЕВОГО класса Демона), и я хотел бы смочь управлять ими от некоторого управляющего процесса (также Сценарий PHP). Справляются, я имею в виду основные операции те, которые останавливаются/начинают и (наиболее кардинально) автоматически перезапуск процесса, который отказывает.

Я ценил бы любые указатели о том, как лучше всего приблизиться к этому углу управления процессами. Снова, извинения, если бы этот вопрос слишком расширяем - подсказки относительно более сильно сосредоточенных строк запроса, ценились бы при необходимости. Спасибо за чтение и я с нетерпением жду Ваших ответов.

5
задан BigglesZX 9 April 2010 в 09:15
поделиться

3 ответа

Я думаю, что рекомендуемый способ создания постоянных процессов - это вообще не делать этого в PHP;)

Но вот несколько связанных вопросов, похоже, что некоторые из отзывов содержат хорошие мысли и опыт в этом.

Подробнее в поиске .

3
ответ дан 14 December 2019 в 19:08
поделиться

Это не работает в контексте выполнения постоянного PHP-скрипта, но Cron действительно удобен для запуска скриптов в разное время и через разные промежутки времени. Вместо того, чтобы постоянно запускать PHP-скрипт, останавливать и запускать различные другие скрипты, вы можете запускать их все с помощью Cron с подходящим интервалом.

2
ответ дан 14 December 2019 в 19:08
поделиться

Способ, которым вы хотите это сделать, возможен, но будет сложным и относительно трудным в обслуживании.

Если посмотреть на это по-другому, то вместо непрерывной передачи данных можно было бы передавать их по частям через регулярные промежутки времени. Технически это все еще потоковая передача, особенно с такими каналами, как Twitter.

Если какой-то канал выдает данные в реальном времени, вы можете пропустить некоторые данные между ними, тогда, возможно, этот вариант вам не подходит.

Гораздо проще управлять процессами, которые запускаются и останавливаются и которые управляют небольшими объемами данных. Все они могут проверять базу данных на наличие управляющих данных и обновлять статус. Кроме того, использование cron - это настоящее удовольствие.

Вот как я бы сделал это в наши дни.

0
ответ дан 14 December 2019 в 19:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: