Проанализировать и исправить ошибку в node.js сервере

5 000 руб. за проект • безналичный расчёт
18 сентября 2015, 16:12 • 1 отклик • 40 просмотров
На серверной части написан node.js скрипт, который использует модули node-rfc, socket.io и библиотеку sapnwrfc. Сервер работает на платформе Linux.
Скрипт подгружает метрики, которые конектятся к разным серверам(backend).
Те метрики которые не могут связаться с backend-системой блокируют весь node.js сервер. Причем опытным путем удалось определить, что количество метрик которые не могут связаться с backend системой должно быть не меньше 4 метрик. Т.е если по каким либо причинам 4 метрики не могут достучаться до сервера для получения данных (указан неправильный IP, или просто backend-сервер не доступен), то все оставшиеся метрики ждут пока данные метрики получат ответ об недоступности backend-серверов.
Метрики которые не связались с backend-серверами возвращают код ошибки:115 EINPROGRESS.

Необходимо выяснить причину ошибки и исправить ее.
Также необходимо отметить, что на платформе windows данной проблемы не возникает как на Linux.

Инструкция как воспроизвести проблему:
0. Сервер с ОС Linux 64 bit
1. Установить node.js 0.12.7
2. Установить socket.io
3. Установить node-rfc (здесь необходимо установить последнюю версию 0.1.5)
git clone https://github.com/SAP/node-rfc.git
cd node-rfc
npm install
4. Установить библиотеку sapnwrfc(как ставить библиотеку подробно написано по ссылке
http://sap.github.io/PyRFC/install.html#install-c-... )
Готовая, уже скачанная библиотека находится в архиве NWRFC_linux_64.rar(ссылка https://yadi.sk/d/TpoOYmLNjA3Z3)
5. Перенести на сервер скрипты из папкии server.rar
6. У клиента запустить в web браузере index.html распоковав папку html.rar

Вариант для сравнения Windows библиотеки sapnwrfc также приложен NWRFC_WIN_64.rar (ссылка https://yadi.sk/d/TpoOYmLNjA3Z3)
Файлы