我试图将一条消息从Postgresql发布到RabbitMQ(均在Docker上运行)
SELECT amqp.publish(1, 'amqp.direct', 'EMAIL', 'message');
,但它返回false
和警告消息:
警告:amqp [ my_host_address:my_port ]登录失败在经纪1
上
更新:Rabbitmq Docker容器日志中存在错误:
未能协商连接参数:协商Channel_max = 0 (无极限)高于最大允许值(2047)
amqp.broker
表中的代理参数 - 主机,端口,虚拟主机,用户名,密码正确定义。可以使用Curl和相同的连接参数将消息从我的计算机控制台发布到RabbitMQ,并将其添加到消息队列中。
有两个可能的解决方案:
- 在Rabbitmq Portainer堆栈中添加环境变量:
RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: '-rabbit channel_max 0'
修复
src/librabbitmq/amqp_socket.c
https://github.com/omniti-labs/pg_amqp/issues/23