Size: a a a

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

2020 January 15

🕵

🕵🏻 Макс in Node.js — русскоговорящее сообщество
Подскажите, как сделать обработчик, который будет периодически получать задания из БД и работать постоянно?

Я сделал такую ерунду:

while(1) {
 while (await task.next()) {
   ...
 }
 wait(60)
}

Есть более адекватный путь для этого?
источник

KL

Kirill Lesohorskyi in Node.js — русскоговорящее сообщество
🕵🏻 Макс
Подскажите, как сделать обработчик, который будет периодически получать задания из БД и работать постоянно?

Я сделал такую ерунду:

while(1) {
 while (await task.next()) {
   ...
 }
 wait(60)
}

Есть более адекватный путь для этого?
источник

И

Илья | 😶 in Node.js — русскоговорящее сообщество
🕵🏻 Макс
Подскажите, как сделать обработчик, который будет периодически получать задания из БД и работать постоянно?

Я сделал такую ерунду:

while(1) {
 while (await task.next()) {
   ...
 }
 wait(60)
}

Есть более адекватный путь для этого?
rxjs;)
источник

ДМ

Денис Макаров in Node.js — русскоговорящее сообщество
сори, не так прочитал
источник

B

Bat in Node.js — русскоговорящее сообщество
🕵🏻 Макс
Подскажите, как сделать обработчик, который будет периодически получать задания из БД и работать постоянно?

Я сделал такую ерунду:

while(1) {
 while (await task.next()) {
   ...
 }
 wait(60)
}

Есть более адекватный путь для этого?
может на крон повесить?
источник

KL

Kirill Lesohorskyi in Node.js — русскоговорящее сообщество
Денис Макаров
сори, не так прочитал
да нет, идея с ивент эммитером норм, она позволит отделить логику обработки от логики получения задания. С помощью setInterval, например, можно поллить задания из БД и отправлять через эмитер. Если потом нужно будет переписать на паб/саб, то изменится только код получения задания, а код его обработки вообще менять не прийдется
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
лучше settimeout
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
чтобы не допускать вызов функции 2 раза
источник

KL

Kirill Lesohorskyi in Node.js — русскоговорящее сообщество
Kool Guy
лучше settimeout
так там надо по таймеру в цикле вызывать
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
🕵🏻 Макс
Подскажите, как сделать обработчик, который будет периодически получать задания из БД и работать постоянно?

Я сделал такую ерунду:

while(1) {
 while (await task.next()) {
   ...
 }
 wait(60)
}

Есть более адекватный путь для этого?
да норм на самом деле, я бы только задержку увеличил
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
Kirill Lesohorskyi
так там надо по таймеру в цикле вызывать
кому надо?
источник

KL

Kirill Lesohorskyi in Node.js — русскоговорящее сообщество
человеку)
источник

🕵

🕵🏻 Макс in Node.js — русскоговорящее сообщество
Kool Guy
да норм на самом деле, я бы только задержку увеличил
Задержка - дело уже настройки. Там задания прилетают периодически. Слишком большая задержка приводит к переполнению очереди, слишком маленькая - к пустому циклу.

Работает-то норм. Некрасиво ))
источник

🕵

🕵🏻 Макс in Node.js — русскоговорящее сообщество
Таймер, кстати, да
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
🕵🏻 Макс
Задержка - дело уже настройки. Там задания прилетают периодически. Слишком большая задержка приводит к переполнению очереди, слишком маленькая - к пустому циклу.

Работает-то норм. Некрасиво ))
так я про то и говорю
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
заюзайте setTimeout внутри себя
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
Как исполнение функция закончит, опять setTimeout ставите
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
без каких либо задержек
источник

🕵

🕵🏻 Макс in Node.js — русскоговорящее сообщество
так можно setinterval )
источник

🕵

🕵🏻 Макс in Node.js — русскоговорящее сообщество
А неее
источник