server_yametrika_nodejs icon indicating copy to clipboard operation
server_yametrika_nodejs copied to clipboard

Продолжаю получить ошибки

Open YoyoKarimov opened this issue 6 years ago • 15 comments

{ Error: connect ETIMEDOUT 87.250.250.119:443 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1097:14) errno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect', address: '87.250.250.119', port: 443 } { Error: connect ETIMEDOUT 77.88.21.119:443 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1097:14) errno: 'ETIMEDOUT', code: 'ETIMEDOUT', syscall: 'connect', address: '77.88.21.119', port: 443 }

YoyoKarimov avatar Apr 20 '19 08:04 YoyoKarimov

IP-адрес Яндекса, соединение отвалилось по таймауту.

hcodes avatar Apr 20 '19 11:04 hcodes

Я понимаю что ip яндекса. Не понимаю как ловить такие ошибки. Ошибка возникает именно при использование метрики.

YoyoKarimov avatar Apr 20 '19 11:04 YoyoKarimov

В общем то добавление которое сделали в новой версии не решило проблемы. Как было так и остались ошибки. Есть варианты решения?

YoyoKarimov avatar Apr 24 '19 14:04 YoyoKarimov

Пока не смотрел.

hcodes avatar Apr 24 '19 14:04 hcodes

Еще раз здравствуйте! Есть какие нибудь продвижки по решению проблемы с ECONNRESET?

YoyoKarimov avatar May 13 '19 18:05 YoyoKarimov

Могу сделать проброс agent в https-запросе с keepAlive: true. Должно помочь.

https://stackoverflow.com/questions/24320578/node-js-get-request-etimedout-esockettimedout/43857814#43857814

hcodes avatar May 13 '19 19:05 hcodes

Давайте попробуем. Я, к сожалению, не знаю как решить проблему. По теме ECONNRESET в nodejs куча разных статей, но нигде нет конкретных шагов.

Буду ждать обновленную версию.

YoyoKarimov avatar May 13 '19 19:05 YoyoKarimov

const https = require('https');
const agent = new https.Agent({ keepAlive: true });
const counter = require('yametrika').counter({ id: '...', agent: agent });

Отпишитесь, пожалуйста, помогло это или нет.

hcodes avatar May 14 '19 07:05 hcodes

Выпустил версию с пробросом agent v2.2.0.

hcodes avatar May 14 '19 07:05 hcodes

Спасибо, обязательно попробую и сообщу о результатах.

YoyoKarimov avatar May 14 '19 14:05 YoyoKarimov

Протестировал. К сожалению не помогло: { Error: read ECONNRESET at TLSWrap.onStreamRead (internal/stream_base_commons.js:111:27) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }

YoyoKarimov avatar May 15 '19 16:05 YoyoKarimov

Есть мысли как поправить? У меня вот после обновления стали появляться еще вот такие вот ошибки

{ Error: Client network socket disconnected before secure TLS connection was established at TLSSocket.onConnectEnd (_tls_wrap.js:1088:19) at Object.onceWrapper (events.js:277:13) at TLSSocket.emit (events.js:194:15) at endReadableNT (_stream_readable.js:1125:12) at process._tickCallback (internal/process/next_tick.js:63:19) code: 'ECONNRESET', path: null, host: 'mc.yandex.ru', port: 443, localAddress: undefined }

YoyoKarimov avatar May 28 '19 20:05 YoyoKarimov

Я могу сделать приватный метод, который будет только отправлять данные в Метрику. Его можно будет перезаписать и добавить нужные параметры или свои обработчики. https://github.com/hcodes/server_yametrika_nodejs/blob/master/yametrika.js#L275

hcodes avatar May 29 '19 06:05 hcodes

Т.е. вынести функцию в основной скоп и там уже пытаться отлавливать его ошибки ?

Как вариант можно попробовать, но тут не ясно в каком именно месте падает с ошибкой.

YoyoKarimov avatar May 29 '19 07:05 YoyoKarimov

Добрый день! Есть какие нибудь подвижки в данном направление?

YoyoKarimov avatar Jun 25 '19 07:06 YoyoKarimov