Мониторинг PHP скриптов через Gearman - PullRequest
0 голосов
/ 27 марта 2012

Я пытаюсь запустить свои php-скрипты в рабочем коде Gearman, но также хочу отслеживать, кроме того, что если они занимают больше ожидаемого времени выполнения, я хочу убить эти скрипты. Каждый скрипт должен запускаться своевременно (запускается каждые 10 минут) и клиент Gearman выбирает сценарий, который готов к запуску и отправляет его работнику Gearman.

Я попытался использовать следующие параметры:

1) Пробовал с помощьюнезависимый скрипт, обычный скрипт php, который контролирует запущенный процесс.Но эти обычные сценарии не сообщат Gearman о том, что задание было убито, и Gearman считает, что задание, которое было убито, все еще выполняется.

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

2) Я запускаю свои php-скрипты с помощью следующей команды: cd /home/amehrotra/include/core/background;php $workload; (блокировка не переходит на следующую строку, покаскрипт завершает выполнение).

Я пытался использовать exec, но exec не выполняет сценарии exec ("/ usr / bin / php / home / amehrotra / include / core / background / $ workload> / dev /null & ");

3) Пробовал запустить 2 рабочих, один для запуска сценария php, другой для мониторинга, но клиент Geraman не подключается к двум работникам.

1 Ответ

0 голосов
/ 27 марта 2012

Не самый крутой план, но попробуйте использовать базу данных как центральное место, где все контролируется.Это потребует некоторых ресурсов и времени для ваших работников, но это стоит того, чтобы сделать его управляемым.

Работнику нужно будет проверять команды (остановка / перезапуск), которые назначены ему через db.и он также может сохранить некоторые данные в БД, чтобы вы могли видеть, что происходит.

...