使用swoole的时候出现EPOLLIN handle failed
出现的错误如下
<code>swReactorEpoll_wait#270: EPOLLIN handle failed. fd=17. Error: Success[0]. PHP Warning: Unknown: swoole_event: onRead handler error in Unknown on line 0 </code>
我借鉴了这里面的代码 http://www.oschina.net/news/52997/swoole-1-7-3 ,在处理逻辑时我做了一个简单的轮询分配机制,把主进程获取的任务发送给子进程异步处理
<code>php</code><code>function process_function(swoole_process $worker) { swoole_event_add($worker->pipe, function () use ($worker) { $recv = $worker->read(); // 处理逻辑 ... }); } function dispatch_process($task) { global $workers; static $pos; foreach ($handlers as $handler) { $pos = NULL === $pos ? 0 : ($pos write($task); } } $workers = []; for ($i = 0; $i start(); $workers[] = [$pid, $process]; echo "create process {$pid}\n"; } while (true) { $task = $redis->brPop('message', 10); if ($task) { dispatch_process($task[1]); } } </code>
我刚刚看了下ulimit -a
,是默认的1024,所以猜测是不是这里出错,但看报错也不是很像。大家有什么思路吗?
更新,我已经尝试调整过ulimit,没有任何作用。而且这个问题只会在运行一段时间后触发,且内存也没有泄漏。
PHP 5.5.9,swoole 1.7.17
回复内容:
出现的错误如下
<code>swReactorEpoll_wait#270: EPOLLIN handle failed. fd=17. Error: Success[0]. PHP Warning: Unknown: swoole_event: onRead handler error in Unknown on line 0 </code>
我借鉴了这里面的代码 http://www.oschina.net/news/52997/swoole-1-7-3 ,在处理逻辑时我做了一个简单的轮询分配机制,把主进程获取的任务发送给子进程异步处理
<code>php</code><code>function process_function(swoole_process $worker) { swoole_event_add($worker->pipe, function () use ($worker) { $recv = $worker->read(); // 处理逻辑 ... }); } function dispatch_process($task) { global $workers; static $pos; foreach ($handlers as $handler) { $pos = NULL === $pos ? 0 : ($pos write($task); } } $workers = []; for ($i = 0; $i start(); $workers[] = [$pid, $process]; echo "create process {$pid}\n"; } while (true) { $task = $redis->brPop('message', 10); if ($task) { dispatch_process($task[1]); } } </code>
我刚刚看了下ulimit -a
,是默认的1024,所以猜测是不是这里出错,但看报错也不是很像。大家有什么思路吗?
更新,我已经尝试调整过ulimit,没有任何作用。而且这个问题只会在运行一段时间后触发,且内存也没有泄漏。
PHP 5.5.9,swoole 1.7.17
你使用的PHP、swoole版本分别是多少?
这个错误表示回调函数执行错误,具体什么原因可能还需要查一下。
此问题的原因是你的PHP代码抛出了异常,未捕获。会导致Swoole的事件回调函数执行失败。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

To work with date and time in cakephp4, we are going to make use of the available FrozenTime class.

CakePHP is an open-source framework for PHP. It is intended to make developing, deploying and maintaining applications much easier. CakePHP is based on a MVC-like architecture that is both powerful and easy to grasp. Models, Views, and Controllers gu

To work on file upload we are going to use the form helper. Here, is an example for file upload.

Validator can be created by adding the following two lines in the controller.

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

CakePHP is an open source MVC framework. It makes developing, deploying and maintaining applications much easier. CakePHP has a number of libraries to reduce the overload of most common tasks.

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an
