Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我们需要使用proc_open for workers?_Php_Worker_Proc Open - Fatal编程技术网

Php 为什么我们需要使用proc_open for workers?

Php 为什么我们需要使用proc_open for workers?,php,worker,proc-open,Php,Worker,Proc Open,下面是PHP worker示例的代码。网络上的所有示例都使用proc_open()并打开子进程来执行作业 带有子进程的Worker.php 但使用php寄存器错误处理程序,我们可以捕获php工作者错误,然后将失败的作业写入数据库 我的问题是,如果我们使用supervisord,为什么我们需要打开子进程 福雷克萨姆勒 没有子进程的Worker.php 使用主管 vi myMailer.conf [program:myMailer] process_name=%(program_name)s_%

下面是
PHP worker
示例的代码。网络上的所有示例都使用proc_open()并打开子进程来执行作业

带有子进程的Worker.php
但使用php寄存器错误处理程序,我们可以捕获php工作者错误,然后将失败的作业写入数据库

我的问题是,如果我们使用supervisord,为什么我们需要打开子进程

福雷克萨姆勒

没有子进程的Worker.php 使用主管

vi myMailer.conf

[program:myMailer]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/project/worker.php --memory:128 --delay=0 --timeout=3
numprocs=3
autostart=true
autorestart=true
stdout_logfile=/var/www/project/data/logs/myMailerProcess.log
stdout_logfile_maxbytes=1MB
启动所有工人

supervisorctl start all

myMailer_02: started
myMailer_01: started
myMailer_00: started

myImages_02: started
myImages_01: started
myImages_00: started
然后开始这个过程

监督员

myMailer:myMailer_00           RUNNING    pid 16847, uptime 0:01:41
myMailer:myMailer_01           RUNNING    pid 16846, uptime 0:01:41
myMailer:myMailer_02           RUNNING    pid 16845, uptime 0:01:41
那么为什么我们需要使用proc_open()函数呢

supervisorctl start all

myMailer_02: started
myMailer_01: started
myMailer_00: started

myImages_02: started
myImages_01: started
myImages_00: started
myMailer:myMailer_00           RUNNING    pid 16847, uptime 0:01:41
myMailer:myMailer_01           RUNNING    pid 16846, uptime 0:01:41
myMailer:myMailer_02           RUNNING    pid 16845, uptime 0:01:41