
Nikolay
07.09.2018
10:36:55

rddlr
07.09.2018
10:53:09
@fuabzop есть такое
timeout: number; // The number of milliseconds after which the job should be fail with a timeout error
"Если задача не успела запуститься за определенное время MAX_DELAY (например есть более приоритетные или очередь "занята") - она должна зафейлиться через это время"

Nikolay
07.09.2018
10:54:03

Google

rddlr
07.09.2018
10:54:12
Bull

Nikolay
07.09.2018
10:54:34
Bull
спасибо, попробую. Сейчас как раз его смотрю

rddlr
07.09.2018
10:54:51
я его и юзаю, пока полет нормальный

Вишневый чай
07.09.2018
11:11:42

Kylych
07.09.2018
11:40:28
у вас не было такой проблемы { awdawd:
{ Bucket: undefined,
Key: 'audios/1536320392632',
Body: <Buffer 49 44 33 03 00 00 00 00 41 54 41 50 49 43 00 00 17 19 00 00 00 69 6d 61 67 65 2f 6a 70 65 67 00 00 6d 70 33 2e 6a 70 67 00 ff d8 ff e0 00 10 4a 46 49 ... >,
ACL: 'private',
ContentType: 'audio/mpeg',
CacheControl: 'max-age=31536000' } }
(node:17094) UnhandledPromiseRejectionWarning: Error: params.Body is required

Josh
07.09.2018
11:47:06
и зачем тебе асинк тут конкретно?


Mishell
07.09.2018
11:50:20
помимо этого в ноде еще висят колбеки, евенты и т.п.?
Да, в финальной версии в ноде висит много разного.
Но вот эта функция в примере - это чисто тестовый файлик. Просто бросается запросами.
Асинк потому что изначально там были эвейты, но теперь нет. Оставил асинк просто потому что забыл что он там вообще написан.
Так вы это ведёте к тому, что из-за нагрузки на ноду запрос летит медленно и дело не только в днс?
Но там ведь нет никаких сложных расчётов. Просто бросить запрос и получить ответ.

Josh
07.09.2018
11:51:35
тут нет, а обработка других может мешать
все же в цикле выполняется, ради чистоты теста побыстрому с ноды также подергай страницу, но без лишних таймеров

Mishell
07.09.2018
11:54:50
Понял. Я ещё и на Го тестами покрыть хочу, вроде он в разы быстрее соображает. Но мне кажется что дело все таки не в этом.
Моё расширение в хроме которое выполняет теже запросы - довольно нагружено, но запросы в разы быстрее. Видимо действительно нужно сейчас решать с кэширование ДНС, которое в хроме присутствует.

Google

Josh
07.09.2018
11:54:55
ну и браузер с нодой на одной машине?
го не быстрее принимает сокет, инфа сотка, там нет прироста скорости ни на пикосекунду

Mishell
07.09.2018
11:56:58
Го быстрее работает с ядром ОС. Вы же именно на это намекаете, что из-за побочных продуктов, циклов, ивентов нода может быть медленнее. В случае с Го - сама работа кода куда быстрее. Но да, интернет соединения везде одинаковы я думаю.

Josh
07.09.2018
11:57:01
днс не должен так долго резолвить, для скорости проверки можно ип чисты вбить

Mishell
07.09.2018
11:57:35
И на любых серверах расширение хрома всегда быстрее, чем запросы из ноды.

Josh
07.09.2018
11:58:37
ну может у вас пинг от ноды с америки, а мы тут виним код
а еще может разный контекст приходить, может его сильно больше в одном случае

Enterpise
07.09.2018
12:09:05
господа!
как поставить на ноде npm пакет в режиме оффлайн , если регситри блокирован ?
есть ли аналог jar download ?
или yarn

Mishell
07.09.2018
12:19:17
А я не совсем понял как совершать запрос по чистому ip. Вот смотрите.
Есть url
https://api.etherscan.io/api?
и там ещё длинная ссылка с приватными ключами и тд.
Мне известно что ip ресурса 23.111.151.66
Если открыть в браузере IP - я попадаю на сайт Windows Server.
Если реквестить по этому ip из ноды то я просто получаю ошибку Invalid URI.
Если реквестить
http://23.111.151.66/api?
то ошибка 404 File or directory not found
Если реквестить по https - то получаю ошибку, что этот IP не в списке сертификата или вроде того.
В общем как нужно зарезолвить ДНС в каком виде его вбить, что бы попасть куда мне нужно?

Josh
07.09.2018
12:20:06
httpS?

Mishell
07.09.2018
12:20:25
httpS?
Если реквестить по https - то получаю ошибку, что этот IP не в списке сертификата или вроде того.
httpS?
Unhandled rejection RequestError: Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames: IP: 23.111.151.66 is not in the cert's list

Сергей
07.09.2018
12:21:35
домен это часть роутинга
как сервер поймет какому сервису отправить запрос?
на одном IP может крутиться дохрена сервисов

Josh
07.09.2018
12:22:34
может, но вдруг тут прокатило бы

Google

Josh
07.09.2018
12:22:50
тем более виндасерв
в любом случае тут явно дело не в резолве
тем более это апи, копеешный трафик

Сергей
07.09.2018
12:25:01
нда
ну ебись тогда

Mishell
07.09.2018
12:25:06
как сервер поймет какому сервису отправить запрос?
на одном IP может крутиться дохрена сервисов
А как этот вопрос решается в хром расширении?
Мне выше говорил человек, что сначала резолвится ДНС. То есть хост становится IP. На это я так понимаю расходуется время запроса. В сети находил инфу, что из-за этого, если не кэшировать днс - скорость запроса действительно может заметно просесть.
Но даже если дело не в ДНС, и я не верно копаю, то тогда вообще непонятно почему из хрома запросы быстрее, чем из ноды. Не понимаю чем обусловлено.

Josh
07.09.2018
12:25:43

Kelin
07.09.2018
12:25:53

Mishell
07.09.2018
12:25:58
ну ебись тогда
Хотелось бы писать эффективный код, а выходит пока только так.

Kylych
07.09.2018
12:26:18

Сергей
07.09.2018
12:26:27

Josh
07.09.2018
12:27:44
да не в кешировании тут дело, сделай запрос с ноды без лишнего

Josh
07.09.2018
12:28:39
200мс на строку апи, серьезно? там 200нс много
остальное пинг

Mishell
07.09.2018
12:30:38
да не в кешировании тут дело, сделай запрос с ноды без лишнего
Так и сделал. 200-300мс запрос скачет. Код выше я приложил как запрос делался. Без циклов, без лишнего. Замеряю время, делаю запрос, получаю ответ, снова замеряю время и выходит долго. В хроме - 120мс.
У меня уже чувство что нода мне врет. Это сильно долго.

Josh
07.09.2018
12:46:43

Mishell
07.09.2018
12:47:40

Josh
07.09.2018
12:47:54
да, разницы нет, в мс же
тут и даты хватит

Mishell
07.09.2018
12:50:44

Google

Josh
07.09.2018
12:51:05
const perf = require('execution-time')()
const https = require('https')
const test2 = () => {
setInterval(() => {
https.get('https://api.etherscan.io/api?', res => {
const results = perf.stop()
console.log(`EXECUTION TIME: ${results.time}`)
})
}, 200)
}
test2()

Cenator
07.09.2018
12:51:22

Josh
07.09.2018
12:52:01
шаблон на новой странице такой был, не убрал

Mishell
07.09.2018
12:56:56

Josh
07.09.2018
13:01:31

Andrew
07.09.2018
13:04:02
12 == true //false
Boolean(12) //true

Admin
ERROR: S client not available

Andrew
07.09.2018
13:04:07
wtf js? Почему так

Mishell
07.09.2018
13:05:06

Gleb
07.09.2018
13:06:35
гайс, кто нибудь генерил видосы на сервере? не обязательно нодой )

Josh
07.09.2018
13:07:10
и в данном случае все очень даже логично

Andrew
07.09.2018
13:08:15

Josh
07.09.2018
13:11:45

Bodya
07.09.2018
13:12:03
Learn javascript ru говорит что при таком сравнении жс приводит true к 1, т.е. 1 == 11
https://learn.javascript.ru/types-conversion

Mishell
07.09.2018
13:15:24
ну тогда надо с сети их брать, а не сервиса, разве эзериум не умеет так?
На текущий момент этерскан предоставляет апи и свежие данные довольно быстро. Быстрее многих других централизованных сервисов которые мониторят крипту.
Я сейчас не совсем понял, предлагаете мне к децентрализованным блокчейн технологиям напрямую коннектится? То есть делать то, что делает этерскан? Я откровенно без понятия как это работает.

Josh
07.09.2018
13:15:26

Andrew
07.09.2018
13:16:03
вопрос по тому, что "==" тоже приводит типы

Google

Andrew
07.09.2018
13:16:20
согласно докам
куда, соб-сно ты меня и послал)

Josh
07.09.2018
13:16:56

Bodya
07.09.2018
13:17:14

Vladimir
07.09.2018
13:18:27

Josh
07.09.2018
13:18:45
а для плагина в браузере да - можно и к сторонним

Mishell
07.09.2018
13:21:36

Josh
07.09.2018
13:22:09
консольный вариант с гитхаба
но в гуе прям можно тоже запросы слать ручками, а для сервисов консольку

Gleb
07.09.2018
13:22:34

Josh
07.09.2018
13:23:42
насчет конкретно эзера я не уверен как там кошелек у них, в свое время я его еле скомпилил, премайна было овердохренища, потому что ежику понятно, что это шедевр и одно из величайших достижений человечества
проблема давняя с местом на дисках, что все блоки тянуть надо, потому и существуют сервисы

Mishell
07.09.2018
13:29:01
@letitcode Вообще большое спасибо, вы очень помогаете. Буду сейчас копаться. У меня только 1 вопрос назрел на тему пинга.
Вот например от Чехии(сервера там) до этерскана пинг 118мс. А запросы к апи оттуда летят 120-190мс(среднее значение расчитано пока что на глаз)
А из Италии пинг до этерскана чуть больше, 138мс, а запросы летят в основном за 10-50мс, что довольно хорошо.
Почему так происходит? Я думал что пинг является показателем скорости/задержек ведь пинг работает по TCP и запросы тоже по этому же протоколу, но на практике всё наоборот.

Andrew
07.09.2018
13:29:54

♛ Козырной
07.09.2018
13:30:10
с помощью какой функции можо получить ip пользователя?

Andrew
07.09.2018
13:30:19
вот так, разве не должно приводиться к true?