Size: a a a

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

2020 May 09

в

вαғғσмεттι in Node.js — русскоговорящее сообщество
You can't selectively load only the pieces you need with require but with imports, you can selectively load only the pieces you need. That can save memory.

почему не могу?
const {Router} = require('express')
источник

꧁岡

꧁倫太郎 岡部꧂... in Node.js — русскоговорящее сообщество
Шо?
источник

в

вαғғσмεттι in Node.js — русскоговорящее сообщество
перевести?
источник

꧁岡

꧁倫太郎 岡部꧂... in Node.js — русскоговорящее сообщество
Не там читаешь явно
источник

в

вαғғσмεттι in Node.js — русскоговорящее сообщество
источник

ЕП

Евгений Пантелеев... in Node.js — русскоговорящее сообщество
вαғғσмεттι
You can't selectively load only the pieces you need with require but with imports, you can selectively load only the pieces you need. That can save memory.

почему не могу?
const {Router} = require('express')
разве это тоже самое, что и импорт?
похоже на деструктивное присваивание
источник

꧁岡

꧁倫太郎 岡部꧂... in Node.js — русскоговорящее сообщество
источник

ЕП

Евгений Пантелеев... in Node.js — русскоговорящее сообщество
Евгений Пантелеев
вопрос такой
у меня есть точка апишки api/mail/send
которая занимается рассылкой почты по списку из базы монги. Если открыть две такие странички, то почты разошлется два раз. Как сделать так, чтобы второй вызов ждал, пока первый выполнится?
так какие варианты?
я могу в начале писать в базу признак того, что идет рассылка, в конце его снимать
но что, если свет моргнет?)
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Евгений Пантелеев
вопрос такой
у меня есть точка апишки api/mail/send
которая занимается рассылкой почты по списку из базы монги. Если открыть две такие странички, то почты разошлется два раз. Как сделать так, чтобы второй вызов ждал, пока первый выполнится?
Использовать блокировки
источник

ЕП

Евгений Пантелеев... in Node.js — русскоговорящее сообщество
Sergey 🛸
Использовать блокировки
это как?
я пробовал гуглить nodejs mutex
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Выбираешь какой вид блокировки подходит для твоей задачи и используешь
источник

ЕП

Евгений Пантелеев... in Node.js — русскоговорящее сообщество
Sergey 🛸
Выбираешь какой вид блокировки подходит для твоей задачи и используешь
что такое блокировки? что гуглить?
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Евгений Пантелеев
что такое блокировки? что гуглить?
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Евгений Пантелеев
вопрос такой
у меня есть точка апишки api/mail/send
которая занимается рассылкой почты по списку из базы монги. Если открыть две такие странички, то почты разошлется два раз. Как сделать так, чтобы второй вызов ждал, пока первый выполнится?
т.е. ты хочешь поставить второй вызов в очередь? это точно то, что тебе надо? может просто апишка будет ошибку возвращать если уже запущена отправка?
источник

PS

Pavel Shakhov (pongo... in Node.js — русскоговорящее сообщество
Евгений Пантелеев
вопрос такой
у меня есть точка апишки api/mail/send
которая занимается рассылкой почты по списку из базы монги. Если открыть две такие странички, то почты разошлется два раз. Как сделать так, чтобы второй вызов ждал, пока первый выполнится?
какие параметры поступают в этот роут? никаких?
источник

ЕП

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

PS

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

если в списке есть почты — значит идет рассылка
источник

ЕП

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

если в списке есть почты — значит идет рассылка
а нода однопоточная? я с тем же успехом могу редис на переменную модуля заменить?
источник

PS

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

ЕП

Евгений Пантелеев... in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
смысл редиса в том, что он хранит свое состояние. если вырубится свет, то твой список не пропадет
понял, спасибо!
источник