Как лучше организовать обработчик задач для контроллера?
В общем проблема такова, существует некоторые количество контроллеров, которые должны выполнять задачи поступающие из вне, пока этим источником является Web-приложение, контроллер должен выполнить задачу и, управляющее приложение должно выслать отчет на сайт о проделанной работе.
Как я вижу решение данной проблемы:
При запуске приложение, оно отправляет методом GET на сайт свой PID, после чего web-приложение может отправлять сигналы конкретному адресату и например отправить сигнал о том, что PID успешно получен. Когда появляется задача для контроллера, web-приложение парсит инструкции для работы в JSON и отправляет их в общий буфер (ну или на край в качестве теста в файл), а затем отправляет на известный PID сигнал о том, что для контроллера появилась задача. После чего Приложение извлекает инструкции и создает дочерний процесс с параметрами, взятыми из декодированного JSON объекта. Дочерний процесс при создании так же отправит сообщение методом GET на сайт о том, что у меня такой-то PID, я выполняю работы с таким-то ID, а мой log файл имеет такое-то имя. После чего мы можем так же через Web-приложение отправлять сигналы на дочерний процесс и всячески отслеживать его работу читая логи.
Вот только надо защитить канал, но я не думаю что это проблема, это скорей формальность.