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.
June 26th 19 at 14:13
1 answer
June 26th 19 at 14:15
Standard solutions like
Gearman, ActiveMQ, RabbitMQ is not fit?

There is already a scheme in which you describe all the technical nuances.
thanks for the advice, I just didn't know about these technologies and tried to find a reasonable solution, thanks for the advice now I will try to study these technologies. - dante31 commented on June 26th 19 at 14:18
: libraries for them are available on

If the php version to 7 key, it is better Gearman
If version 7+, then RabbitMQ

Well, the run handler (your controllers) in the background can be done using
supervisord - Tianna15 commented on June 26th 19 at 14:21
yeah, that makes sense, thanks again for Girona, it's in English, have to translate )), and so suitable for my problem. - dante31 commented on June 26th 19 at 14:24

you can use RabbitMQ for earlier versions.
The difference is not very significant - Tianna15 commented on June 26th 19 at 14:27

Find more questions by tags LinuxPHP