Size: a a a

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

2021 January 11

N

Nikita in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
А чем крон плох?
что в итоге крон задача будет делать? вызывать скрипт или делать запрос на сервер или это уже не играет роли?
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
ну и бывают задания длятся дольше заданного периода, и могут запускаться дважды
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Kool Guy
если несколько заданий, он их отправляет их все в одно время
Крон отвечает только за запуск чего-либо в нужные моменты времени.
Как там что выполняться будет - это уже вопрос реализации
источник

KG

Kool Guy in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
Крон отвечает только за запуск чего-либо в нужные моменты времени.
Как там что выполняться будет - это уже вопрос реализации
все так
источник

ТК

Таймураз Кайтмазов... in Node.js — русскоговорящее сообщество
Nikita
что в итоге крон задача будет делать? вызывать скрипт или делать запрос на сервер или это уже не играет роли?
Можно хоть в сокет писать кек
источник

ТК

Таймураз Кайтмазов... in Node.js — русскоговорящее сообщество
Но вообще лучше не подключать сюда лишние абстракции типа веб сервера и тд, а прямо с машины код вызывать
Тут уже зависит от того, насколько у тебя через жопу стек сейчас
источник

N

Nikita in Node.js — русскоговорящее сообщество
в базе хранить задачи тогда с полями а-ля ID, тип задачи, параметры дополнительные (payload), дата выполнения?
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Nikita
что в итоге крон задача будет делать? вызывать скрипт или делать запрос на сервер или это уже не играет роли?
Запускать скрипт.
Где-то хранится список всех задач.
Скрипт забирает все актуальные на выполнение и запускает выполнение.

Можно усложнить улучшить это очередью, но суть та же.
источник

ТК

Таймураз Кайтмазов... in Node.js — русскоговорящее сообщество
Nikita
в базе хранить задачи тогда с полями а-ля ID, тип задачи, параметры дополнительные (payload), дата выполнения?
Состояние выполнения еще, если на середине задачи сервер вырубится- чтобы заменеджить это
источник

B

Bat in Node.js — русскоговорящее сообщество
имхо это типичная задача для очереди (отправка с задержкой). Крон и цикл тут плох тем что никак нельзя регулировать количество отправленных сообщений за раз, сервер конечно не упадет, но непредвиденная нагрузка никому не нужна. Очереди же будут отправлять по одному уведомлению, если ему будет нужно больше он просто добавит еще один воркер.
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Bat
имхо это типичная задача для очереди (отправка с задержкой). Крон и цикл тут плох тем что никак нельзя регулировать количество отправленных сообщений за раз, сервер конечно не упадет, но непредвиденная нагрузка никому не нужна. Очереди же будут отправлять по одному уведомлению, если ему будет нужно больше он просто добавит еще один воркер.
Очередь сама по себе не отвечает за выполнение задач по расписанию, очереди не связаны с временем
источник

A

Alexcc in Node.js — русскоговорящее сообщество
очереди дату гарантию что это все из за скачков выше не упадет
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Bat
имхо это типичная задача для очереди (отправка с задержкой). Крон и цикл тут плох тем что никак нельзя регулировать количество отправленных сообщений за раз, сервер конечно не упадет, но непредвиденная нагрузка никому не нужна. Очереди же будут отправлять по одному уведомлению, если ему будет нужно больше он просто добавит еще один воркер.
Ничто не мешает кроном кидать задачи в очередь
источник

B

Bat in Node.js — русскоговорящее сообщество
Grigorii K. Shartsev
Ничто не мешает кроном кидать задачи в очередь
с какой целью? на хите кинуть задачу в очередь с задержкой на час и все
источник

N

Nikita in Node.js — русскоговорящее сообщество
хорошо, всем спасибо, реализую тогда через крон.

но раз уж зашла речь про очереди, какую использовать чтобы "линейнизировать" запросы? т.е. приходять однвременно 50 запросов которые изменяют сущность в каком-то виде, какую лучше для этого использовать очередь или если не нее, то что? (примечание, траназкции на уровне бд не предлагать, потмоу что эти запросы должны эту же сущность сначала прочитать, сделать запрос на внешний апи, изменить сущность и сохранить ее)
источник

ТК

Таймураз Кайтмазов... in Node.js — русскоговорящее сообщество
Nikita
хорошо, всем спасибо, реализую тогда через крон.

но раз уж зашла речь про очереди, какую использовать чтобы "линейнизировать" запросы? т.е. приходять однвременно 50 запросов которые изменяют сущность в каком-то виде, какую лучше для этого использовать очередь или если не нее, то что? (примечание, траназкции на уровне бд не предлагать, потмоу что эти запросы должны эту же сущность сначала прочитать, сделать запрос на внешний апи, изменить сущность и сохранить ее)
кафка, кролик
источник

N

Nikita in Node.js — русскоговорящее сообщество
Nikita
хорошо, всем спасибо, реализую тогда через крон.

но раз уж зашла речь про очереди, какую использовать чтобы "линейнизировать" запросы? т.е. приходять однвременно 50 запросов которые изменяют сущность в каком-то виде, какую лучше для этого использовать очередь или если не нее, то что? (примечание, траназкции на уровне бд не предлагать, потмоу что эти запросы должны эту же сущность сначала прочитать, сделать запрос на внешний апи, изменить сущность и сохранить ее)
(нужно выполнить запросы строго в том порядке в котором пришли)
источник

A

Alexcc in Node.js — русскоговорящее сообщество
для 50 кролик для 100к кафка
источник

N

Nikita in Node.js — русскоговорящее сообщество
👍
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Bat
с какой целью? на хите кинуть задачу в очередь с задержкой на час и все
Ну смотря что в качестве очереди используется.
Сама концепция MQ не подразумевает, что из коробки должна быть фича с расписанием
источник