plakidin
Guest
Запуск сценария на стороне сервера (exec и cron не подходят)
Задача состоит в следующем:
Пользователь запускает некий процесс (обработку данных) через web-браузер, и должен иметь возможность тут же отслеживать его состояние.
После того как пользователь запустил процесс, на сервере сразу же должен запускаться PHP-сценарий, который делает нужную работу.
Проблема в том, что не знаю, как организовать запуск серверного сценария согласно моим требованиям (см. ниже).
С отслеживанием состояния запущенного процесса в браузере проблем не будет - процесс будет обновлять информацию о своём состоянии в БД, а в клиенте будет использоваться XMLHttpRequest.
Запуск серверного процесса через exec() из web-скрипта не подходит - серверный сценарий должен выполняться под конкретным системным пользователем (а не под nobody).
Cron не подходит по той причине, что нужна реальная интерактивность. В принципе, можно настроить серверный сценарий на запуск каждую минуту, но только пользователю придётся ждать в среднем пол-минуты, чтобы увидеть первые результаты.
Есть ли готовые решения? Использовал ли кто-нибудь, например, daemontools или нечто аналогичное?
Задача состоит в следующем:
Пользователь запускает некий процесс (обработку данных) через web-браузер, и должен иметь возможность тут же отслеживать его состояние.
После того как пользователь запустил процесс, на сервере сразу же должен запускаться PHP-сценарий, который делает нужную работу.
Проблема в том, что не знаю, как организовать запуск серверного сценария согласно моим требованиям (см. ниже).
С отслеживанием состояния запущенного процесса в браузере проблем не будет - процесс будет обновлять информацию о своём состоянии в БД, а в клиенте будет использоваться XMLHttpRequest.
Запуск серверного процесса через exec() из web-скрипта не подходит - серверный сценарий должен выполняться под конкретным системным пользователем (а не под nobody).
Cron не подходит по той причине, что нужна реальная интерактивность. В принципе, можно настроить серверный сценарий на запуск каждую минуту, но только пользователю придётся ждать в среднем пол-минуты, чтобы увидеть первые результаты.
Есть ли готовые решения? Использовал ли кто-нибудь, например, daemontools или нечто аналогичное?