Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby: Общие вопросы > Взаимодействие с дочерними форками


Автор: enRai 22.6.2011, 11:36
Здравствуйте.

Пишу сервер (использую Eventmachine). Сервер открывает порт, ждет команд, при определенной команде запускает форк, в котором выполняется определенная задача продолжительное время.

Загвоздка в том, что я не могу понять как наладить взаимодействие самого сервера и его форков (выполняющих задачи). Как пример: пользователь запустил задачу, через некоторое время хочет узнать о прогрессе. Нужно чтобы сервер обратился к форку, форк вернул серверу свое состояние, сервер передал это состояние клиенту.

Думал сделать через базу данных, чтобы сервер записывал задачи в базу, а форк периодически проверял эти задачи. Но такой способ отпадает при необходимой интерактивности, как в примере (вопрос - сразу ответ). Читал про пайпы, но информация достаточно скудна, как-то коряво все получается в итоге, да и чтобы читать форку с потока, ему нужно постоянно останавливаться, слушать данные с ввода (может я не так понял, особо не углублялся из-за скудности информации)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)