onPipeMessage在Swoole的SWOOLE_PROCESS模式下,当工作进程调用sendMessage或通过管道向其他进程发送数据时触发,接收进程执行回调处理消息,用于Worker间通信、Task传递结果等场景。
Swoole的onPipeMessage事件用于处理工作进程向其他进程发送消息时触发的回调。它主要在多进程模式下使用,当一个工作进程通过管道(pipe)向另一个进程发送数据时,接收进程会收到该消息并触发onPipeMessage事件。
$worker->sendMessage()或通过管道主动写入数据到其他进程时,目标进程如果设置了onPipeMessage回调,就会执行这个函数。
常见于以下场景:
$server->on('PipeMessage', function($worker, $message) {
echo "来自进程 {$worker->id} 的消息:{$message}\n";
});
$worker->sendMessage('
hello'); —— 发送消息给特定worker$process->write(); 配合管道读取也可实现,但需手动管理