PHP Rabbitmq 报错Broken pipe

fwrite(): send of 13 bytes failed with errno=32 Broken pipe

fwrite(): send of 21 bytes failed with errno=104 Connection reset by peer

用 rabbitmq 做消息队列时报上面的错误,当消费队列一启动,Unacked 瞬间达到好几百。经查:RabbitMQ服务器在短时间内发送大量的消息给Consumer,如果你没有来得及Ack的话,那么服务端会积压大量的UnAcked消息,而Consumer如果来不急处理也会处于假死或程序崩溃。

后果就是Consmer崩溃后,UnAcked消息又ReQueue不断消耗MQ的资源

解决方案:

$connection = new AMQPStreamConnection(HOST, PORT, USER, PASS, VHOST);

$channel = $connection->channel();

$channel->queue_declare(‘qos_queue‘, false, true, false, false);

$channel->basic_qos(null, 10, null); //加上这个就好了 这个10 就是Unacked 里面的值,表示预先取出多少值来消费  prefetch_count

原文地址:https://www.cnblogs.com/wangxusummer/p/9324359.html

时间: 2024-09-30 15:30:16

PHP Rabbitmq 报错Broken pipe的相关文章

linux 下 tomcat 运行报错 Broken pipe

感谢:http://hi.baidu.com/liupenglover/blog/item/4048c23ff19f1cd67d1e7184.html 有可能是linux的线程机制会产生JVM出错的问题,特别是在连接高峰期间经常出现这样的问题,tomcat在linux下也出现类似情况. 解决办法是在环境变量中设置: _JAVA_SR_SIGNUM = 12 基本就可以解决. 在WIN环境变量中设置: _JAVA_SR_SIGNUM=12, 若Linux下用 export _JAVA_SR_SIG

idea点击RUN启动报错: Broken configuration due to unavailable plugin or invalid configuration dat

今天照常打开idea,突然发现之前的启动配置出问题了,随后报了一个这个错: Run Configuration Error: Broken configuration due to unavailable plugin or invalid configuration data. 于是乎,查阅资料后,快捷键 Ctrl+Alt+S打开idea配置,选择 Plugins,查找Tomcat和,发现已经是打勾的,此时可能是idea软件出bug了,去除勾勾,再次打勾,重启idea,再次打开就正常啦 原文地

springboot集成RabbitMQ,Eclipse开发集成RabbitMq,IDEA集成RabbitMQ报错 socket close

java.net.SocketException: socket closed    at java.net.SocketInputStream.socketRead0(Native Method)    at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)    at java.net.SocketInputStream.read(SocketInputStream.java:170)    at java.n

linux 启动rabbitmq 报错:

Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details. 解决: 1.找到nuesia文件夹 find / -name mnesia 2.删除文件夹下所有文件  rm -rf mnes

rabbitmq报错type

TypeError: exchange_declare() got an unexpected keyword argument 'type' 原因应该为pika版本不同导致的用法不同,解决方法为把type换成exchange_type channel.exchange_declare(exchange='direct_log',exchange_type='direct') 原文地址:https://www.cnblogs.com/z-x-y/p/10258272.html

控制台(Console)报错:java.io.IOException: Broken pipe

控制台(Console)输出: java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcherImpl.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) at sun.nio.ch.IOUtil.wri

oacore的application log报broken pipe

后台oacore的application log常常报这样的错误 14/06/26 09:28:34.917 html: Servlet error java.io.IOException: Broken pipe at sun.nio.ch.FileDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:29) at sun.nio.ch.IOUtil.writeFr

rabbitmq {ssl_upgrade_error, timeout} 报错解决方法

正常工作两年的后台在端午节期间傲娇了,所有的被管理服务器状态全部变成down,之后查看后台日志,谷歌,没找到原因,之后查看rabbitmq的日志,发现报错{ssl_upgrade_error, timeout},太含蓄了,又谷歌找了篇太监文,没办法自己试吧,第一思路是ssl证书的问题,可以更新下.从rabbitmq的官方网站上找到了制作ssl证书的内容,试了一下,竟然成功了,太神奇了.粗略总结如下,供坑里的同学爬坑用: 错误现象:使用python开发的后台(使用pika包)一端,日志报错:Err

RabbitMQ>Erlang machine stopped instantly (distribution name conflict?). The service is not restarted as OnFail is set to ignore.-报错解决方案 原来是NNND。。。

>Erlang machine stopped instantly (distribution name conflict?). The service is not restarted as OnFail is set to ignore. -报错解决方案 原来是NNND... RabbitMQ安装的盘符的名字是中文字符 切记:RabbitMQ安装路径不能出现中文字符