Size: a a a

Node.js — русскоговорящее сообщество

2020 April 01

ЮК

Юрий Кононенко in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
а как вторая функция может что-то сделать до первого запроса? они у тебя все одновременно выполняются?
асинхронная же написано
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Юрий Кононенко
асинхронная же написано
await не используешь?
источник

ЮК

Юрий Кононенко in Node.js — русскоговорящее сообщество
это же не убивает асинхронности)
источник

ЮК

Юрий Кононенко in Node.js — русскоговорящее сообщество
код внутри одной функции выполняется последовательно. но 2 функции могут работать "параллельно"
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
интересная задача. у тебя есть тест на нее?
источник

ЮК

Юрий Кононенко in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
интересная задача. у тебя есть тест на нее?
о каком именно тесте речь? если про автоматическое тестирование то нет
источник

ЮК

Юрий Кононенко in Node.js — русскоговорящее сообщество
я пока дотудова не дошел
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
вот бы кто подобную проблему оформил бы в репозиторий с тестами. чтобы затем можно было в порядке обучения решать ее разными способами
источник

ЮК

Юрий Кононенко in Node.js — русскоговорящее сообщество
хмм
источник

NN

Nikita Nesterchuk in Node.js — русскоговорящее сообщество
У меня подобная проблема была с ботами для Steam.
источник

ЮК

Юрий Кононенко in Node.js — русскоговорящее сообщество
и как решил? надеюсь не коротким путем?))
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Nikita Nesterchuk
У меня подобная проблема была с ботами для Steam.
сможешь вычленить суть проблемы в отдельный тест? без реального обращения к стиму или базе, просто через моки setTimeout и т.п.
источник

ЮК

Юрий Кононенко in Node.js — русскоговорящее сообщество
чисто теоретически и я мог бы... если это поможет в решении проблемы. или поможет хоть как то кому то)
источник

ЮК

Юрий Кононенко in Node.js — русскоговорящее сообщество
я не юзал моки но не впервые вникать в что то новое)
источник

NN

Nikita Nesterchuk in Node.js — русскоговорящее сообщество
Такие условия у меня были:
- 2 бота одновременно не могут быть залогинены под одним аккаунтом.
- бот, когда логинился, подключался к очереди сообщений(RabbitMQ) и оттуда брал смс о передаче шмотки юзеру.

Но у меня решалось тем, что к одному боту могло зайти, например, 10 запросов одновременно, что мол отправь шмотку такому-то юзеру. И что я сделал:
- сделал внутренние очереди(пакет с npm) и туда перебрасывал все смс с RMQ и распределял их по userID.
То есть одновременно я не мог для одного и того же юзера обрабатывать сообщение. При этом я мог параллельно обрабатывать смс для нескольких юзеров.
источник

NN

Nikita Nesterchuk in Node.js — русскоговорящее сообщество
То есть я решил на уровне одного бота эту проблему из-за условия, что у меня одновременно может быть залогинен лишь один бот.
источник

DS

Dmitry Sergeev in Node.js — русскоговорящее сообщество
Nikita Nesterchuk
То есть я решил на уровне одного бота эту проблему из-за условия, что у меня одновременно может быть залогинен лишь один бот.
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Юрий Кононенко
чисто теоретически и я мог бы... если это поможет в решении проблемы. или поможет хоть как то кому то)
но тебе же самому этот тест поможет убедиться что проблемы нет.

а так, мне кажется, такой тест может вылиться в отличную обучающую статью и практику
источник

d

dettrix in Node.js — русскоговорящее сообщество
сервер express, модульная система. можно же для ответа на запрос не перекидывать весь обьект response , а передать в модуль только response.status(200).json? (а в модуле использовать что-то вроде fn(obj)) или запрос зависнет?
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Nikita Nesterchuk
Такие условия у меня были:
- 2 бота одновременно не могут быть залогинены под одним аккаунтом.
- бот, когда логинился, подключался к очереди сообщений(RabbitMQ) и оттуда брал смс о передаче шмотки юзеру.

Но у меня решалось тем, что к одному боту могло зайти, например, 10 запросов одновременно, что мол отправь шмотку такому-то юзеру. И что я сделал:
- сделал внутренние очереди(пакет с npm) и туда перебрасывал все смс с RMQ и распределял их по userID.
То есть одновременно я не мог для одного и того же юзера обрабатывать сообщение. При этом я мог параллельно обрабатывать смс для нескольких юзеров.
ага, как раз есть пакет с именованными очередями
источник