Home >PHP Framework >Swoole >How to create a worker in swoole

How to create a worker in swoole

尚
Original
2020-01-13 13:30:522474browse

How to create a worker in swoole

swoole is a multi-process model framework. When a process swoole application is started, a total of 2 n m processes will be created, n is the number of worker processes, m is the number of TaskWorker processes, 1 The relationship between a master process and a manager process is as shown in the figure below

How to create a worker in swoole

The Master process is the main process. This process will create work processes/threads such as Manager processes and Reactor threads.

The Worker process serves as the working process of Swoole, and all business logic codes run on this process. When the Reactor thread receives the data from the client, it packages the data and sends it to a Worker process through a pipe.

The worker/task processes in swoole are all forked and managed by the Manager process.

When the child process ends, the manager process is responsible for recycling the child process to avoid becoming a zombie process. And create a new sub-process

When the server is shut down, the manager process will send signals to all sub-processes to notify the sub-processes to shut down the service

When the server is reloaded, the manager process will shut down/restart the sub-processes one by one

fork():

A process, including code, data and resources allocated to the process. The fork() function creates a process that is almost identical to the original process through a system call, that is, the two processes can do exactly the same thing, but if the initial parameters or passed-in variables are different, the two processes can also do different things. .
After a process calls the fork() function, the system first allocates resources to the new process, such as space for storing data and code. Then copy all the values ​​of the original process to the new process, except for a few values ​​that are different from the values ​​of the original process. It is equivalent to cloning oneself.

Recommended learning: swoole tutorial

The above is the detailed content of How to create a worker in swoole. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn