0

我正在尝试将消息从 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,并将它们添加到消息队列中。

4

1 回答 1

0

有两种可能的解决方案:

  1. 在 RabbitMQ 搬运工堆栈中添加环境变量:
    RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS: '-rabbit channel_max 0'
  1. 使固定src/librabbitmq/amqp_socket.c

    https://github.com/omniti-labs/pg_amqp/issues/23

于 2019-02-15T10:14:12.267 回答