How best to organize the task processor for the controller?
In General, the problem is, there is some number of controllers who must perform the tasks coming from the outside, while the source is a Web application, the controller needs to perform a task and the controller application sends a report on the website about the work done.
I see the solution to this problem:
When you run the application, it sends a GET method to a website your PID, then your web application can send signals to a particular person and for example to send a signal that the PID successfully received. When there is a task for the controller, the web application parses the user to work in JSON and sends them into a shared buffer (or to the region as a test file), and then sends to know the PID for the signal that the controller was the problem. Then the Application retrieves the user and creates a child process with parameters taken from decoded JSON object. The child process when you create just send a message with the GET method on the website that I have such a PID, I work with such ID and my log file has this name. Then we can also through a Web application to send signals to the child process and otherwise manage it by reading the logs.
Here only it is necessary to protect the channel, but I don't think that's a problem, it is rather a formality.