0

我使用最新的 Laradock 和 composer-installed https://github.com/vyuldashev/laravel-queue-rabbitmq使用 RabbitMQ (3.7.6) 设置了 Laravel (5.6) 应用程序。当我启动 Laravel 消息工作者时,php artisan queue:work出现以下错误

local.ERROR: AMQP error while attempting pop: stream_socket_client(): 
unable to connect to tcp://127.0.0.1:5672 (Connection refused)  

但是,我可以使用连接到 Rabbit telnet 127.0.0.1 5672(连接在 10 秒不活动后关闭)。听众似乎工作正常:

{listeners,[{clustering,25672,"::"},{amqp,5672,"::"},{http,15672,"::"}]}

我还检查了 RabbitMQ 日志,但没有显示任何内容。所以我认为这是客户端的问题,但我不确定在哪里寻找。

Laravel 中的 RabbitMQ 设置.env

QUEUE_DRIVER=rabbitmq
RABBITMQ_QUEUE=default
RABBITMQ_DSN=amqp:

拉拉多克.env

RABBITMQ_NODE_HOST_PORT=5672
RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672
RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671
RABBITMQ_DEFAULT_USER=guest
RABBITMQ_DEFAULT_PASS=guest

有任何想法吗?

4

1 回答 1

1

我错过了implements ShouldQueue我的通知类的类定义。bcadd此外,我必须使用和mongodb扩展来构建 php-worker 。

RUN pecl install mongodb && docker-php-ext-enable mongodb
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl bcmath
于 2018-07-11T07:03:30.223 回答