Ошибка: прочитать ETIMEOUT, происходящее через некоторое время, с помощью node-amqp

У меня есть виртуальная машина с запущенным экземпляром RabbitMQ и отдельная виртуальная машина с процессом Node, который будет потреблять вещи из очереди.

После некоторого времени бездействия мой процесс Node просто завершится и отобразит ошибку. Я всегда поддерживаю процесс Node, но вот как выглядит ошибка:

data:    server.js:18171 - error: Script restart attempt #33
data:    server.js:18171 -  [rabbitmq] Waiting for messages in savvy_shipping_to_logic. To exit press CTRL+C
data:    server.js:18171 - Error: read ETIMEDOUT
data:    server.js:18171 -     at errnoException (net.js:901:11)
data:    server.js:18171 -     at TCP.onread (net.js:556:19)
data:    server.js:18171 - error: Forever detected script exited with code: 8
data:    server.js:18171 - error: Script restart attempt #34
data:    server.js:18171 -  [rabbitmq] Waiting for messages in savvy_shipping_to_logic. To exit press CTRL+C
data:    server.js:18171 - Error: read ETIMEDOUT
data:    server.js:18171 -     at errnoException (net.js:901:11)
data:    server.js:18171 -     at TCP.onread (net.js:556:19)
data:    server.js:18171 - error: Forever detected script exited with code: 8
data:    server.js:18171 - error: Script restart attempt #35

обе виртуальные машины - Ubuntu 14.04, работающие на Azure. Должен отметить, что у меня не было таких проблем локально на моем Macbook Pro с El Cap. Я чувствую, что мне не хватает какого-то флага?

Я подключаюсь к amqp://my.example.com

1 ответ

Вам может потребоваться установить сердцебиение в настройках соединения, чтобы поддерживать соединение. например, попробуйте добавить сердцебиение в 30 секунд и посмотреть, поможет ли это.

Вы также можете увеличить время ожидания соединения.

Другие вопросы по тегам