Ошибка: прочитать 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 секунд и посмотреть, поможет ли это.
Вы также можете увеличить время ожидания соединения.