php worker是什么意思,php-fpm中worker进程执行流程是什么

看php-fpm源码worker进程创建部分,有一点没明白。

php-fpm初始启动时,执行流程如下

main -> fpm_run -> fpm_children_create_initial -> fpm_children_make

之后worker进程会执行main函数中fpm_run调用之后的逻辑,进入无限循环。但是在ondemand模式下,初始化并未创建worker进程,而是添加了IO事件回调,监听listen-socket的可读事件,有新连接时才会创建worker进程,参考下文代码,但是worker进程创建之后,worker进程的执行逻辑是什么呢?看代码直接就return了呢。

希望有了解的帮忙指点一下吧,谢谢

// fpm/fpm_children.c

int fpm_children_create_initial(struct fpm_worker_pool_s *wp) /* {{{ */

{

if (wp->config->pm == PM_STYLE_ONDEMAND) {

....

memset(wp->ondemand_event, 0, sizeof(struct fpm_event_s));

fpm_event_set(wp->ondemand_event, wp->listening_socket, FPM_EV_READ | FPM_EV_EDGE, fpm_pctl_on_socket_accept, wp);

wp->socket_event_set = 1;

fpm_event_add(wp->ondemand_event, 0);

return 1;

}

return fpm_children_make(wp, 0 /* not in event loop yet */, 0, 1);

}

// fpm/fpm_process_ctl.c

void fpm_pctl_on_socket_accept(struct fpm_event_s *ev, short which, void *arg)

{

....

wp->warn_max_children = 0;

fpm_children_make(wp, 1, 1, 1);

if (fpm_globals.is_child) {

return;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值