
?
04.12.2017
13:40:22
задача в том чтобы сделать раз или два npm install и написать пару строчек? ну да, изи

Сергей
04.12.2017
13:40:37
не везде)

?
04.12.2017
13:40:37
и его не надо отдельно плясать и мейнтейнить

Google

?
04.12.2017
13:40:46
покажи мне ось в коротой нет планировщика из коробки

Сергей
04.12.2017
13:40:48
ох бля)

Таймураз
04.12.2017
13:41:00
КГМ (крон головного мозга)

Сергей
04.12.2017
13:41:01

A.
04.12.2017
13:41:10

Таймураз
04.12.2017
13:41:34

?
04.12.2017
13:41:40

Сергей
04.12.2017
13:41:57
вот надо поменять время
будешь лезть на сервак и менять руками?

Алексей
04.12.2017
13:42:10

Charles
04.12.2017
13:42:17
ладно, хорош говносрачить - чем не годятся redis-based либы под ноду для очередей?

?
04.12.2017
13:42:20

Google

Таймураз
04.12.2017
13:42:24

?
04.12.2017
13:42:28
чувак с тривиальной таской пришел вы уже какие-то сложности сочиняете на ходу

Алексей
04.12.2017
13:42:40
тоже верно

?
04.12.2017
13:43:01
вот когда скажет что ему надо чтобы это 50 человек менеджило и параллелить это на миллион серверов тогда будет вопрос о гибкости крона, а чтобы тупо таску на время забить - более чем достаточно же

Anton
04.12.2017
13:43:10
нихуя не понятно, чуваку очередь или планировщик

Таймураз
04.12.2017
13:43:29

Сергей
04.12.2017
13:43:37
либо всю жизнь пишешь хуйню

A.
04.12.2017
13:43:45
Не понял
Приходит 20 запросов не по расписанию.
Необходимо данные 20 запросов начать (ключевое слово) обрабатывать на следующий день в 11:30 (к примеру).
Т.е. данная "пачка" задач стартует в 11:30.
Берем первую задачу и выполняем ее (после выполнения там еще запрос по API и ожидание данных от другого сервиса), остальные сидят и ждут выполнения. Как только выполняется задача - выполняется следующая и т.д.

?
04.12.2017
13:43:48

Charles
04.12.2017
13:43:59
очередь

A.
04.12.2017
13:43:59

Charles
04.12.2017
13:44:12
и планировщик
?

?
04.12.2017
13:44:20
не все вещи требуют того чтобы быть сделанными адекватно сразу

Таймураз
04.12.2017
13:44:20

A.
04.12.2017
13:44:40
В сторону CRON и прочих аналогов - молчу и не рассматриваю. Спасибо.

?
04.12.2017
13:44:42
Именно.
тебе за деньги в продакшен адекватно сразу или говно на коленке на раз для себя?

Mike
04.12.2017
13:45:17
лучший планировщик задач - это setTimeout. главное дельту в посчитать правильно в миллисекундах

A.
04.12.2017
13:45:18

Google

A.
04.12.2017
13:45:25
Решение мне в принципе понятно.

Сергей
04.12.2017
13:45:25

Anton
04.12.2017
13:45:27
Планировщик с очередью)
ну пусть прикрутит планировщик - не роект саенс же, есть куча либ планировщиков под любые платформы. сделать сервис общающийся с очередью и туда же встроить планировщик. в чём проблема то.

?
04.12.2017
13:45:51

Nikolay
04.12.2017
13:46:02

?
04.12.2017
13:46:26

Nikolay
04.12.2017
13:46:34
Админов сбил автобус.

?
04.12.2017
13:46:42
воруй убивай требования вангуй

A.
04.12.2017
13:46:44

Таймураз
04.12.2017
13:46:56

A.
04.12.2017
13:47:08
Вот, да.

A.
04.12.2017
13:47:19
Придумал схему с блоками.

Таймураз
04.12.2017
13:47:34
Вот, да.
Можно на уровне ноды складировать и рекурсивно дергать массив, пока не закончатся записи
Сейчас ищу вариант, чтобы дергать с помощью amqplib и заново подписываться на одно сообщение

A.
04.12.2017
13:48:39
Когда поступают задачи не по расписанию - складывать их в этакий блок, блок сразу же запускать.
Когда наступает время блока - блок запускается, вытаскивает первую задачу, сам "умирает" (в очереди), выполняется первая задача и из блока тащит вторую и т.д.
Что скажешь?

?
04.12.2017
13:49:07
велосипедостроение, ниче так

Nikolay
04.12.2017
13:49:09
Бля, редис прям идеально под задачу подходит.

A.
04.12.2017
13:49:22

Google

?
04.12.2017
13:49:33
Предлагай :)
да вон выше уже кучу вариантов напредлагали, редис бери

Nikolay
04.12.2017
13:49:44
Я как-то писал систему воркеров, где нужно было из очереди все тащить по порядку и ждать выполнения.

A.
04.12.2017
13:49:59

Таймураз
04.12.2017
13:50:11

?
04.12.2017
13:50:48

A.
04.12.2017
13:50:53
Спасибо!

?
04.12.2017
13:52:07
Спасибо!
прочитал, вопрос актуален, оно не умеет это делать?

Admin
ERROR: S client not available

A.
04.12.2017
13:52:57
Создавать очередь - умеет.

?
04.12.2017
13:53:10
я с этой штукой не работал, поэтому спрашиваю - из описания вижу что очередь есть, приоритеты и джобы есть

A.
04.12.2017
13:53:11
Отложенные задачи и все остальное - умеет.
Зависимость между задачами нужна.

?
04.12.2017
13:53:28
соответственно напрашивается вопрос - почему оно должно не уметь это из коробки?

A.
04.12.2017
13:53:42
Зависимость между задачи не решается при помощи Redis.

?
04.12.2017
13:54:21
я из зависимостей вижу только запускать следующую только когда закончилась предыдущая, есть что-то еще?

A.
04.12.2017
13:56:38
Сейчас пока нет.

Google

?
04.12.2017
13:57:02
из того что я вижу по описанию достаточно любую джобу заворачивать в enqueue от последней добавленной джобы и этого достаточно чтобы им задать порядок и расписание

Anton
04.12.2017
13:57:30

?
04.12.2017
13:57:53
а вообще за либу спасибо, полезно выглядит

A.
04.12.2017
13:58:07
Да.
Будут задачи другого типа.
Будут параметры, определяющие зависимость одной от другой.
Штука есть еще интересная, что необходимо задачи с расписанию не обрабатывать одновременно с задачами не по расписанию.
А такое может быть, вполне.
Получится что задачи выполняются одновременно.

?
04.12.2017
13:59:58
так отдельная же очередь будет

Anton
04.12.2017
14:01:23

?
04.12.2017
14:01:31

Anton
04.12.2017
14:04:30

?
04.12.2017
14:05:04
в данном случае непонятно что именно там за джобы и что в целом происходит, поэтому у меня по-умолчанию мнение если можно не трогать базу - лучше не трогать

A.
04.12.2017
14:06:04
Создаем задачу block:start в очереди на 11:30.
Создаем блок в базе:
1) jobId
2) jobType
3) tasks
В блок добавляем задачи.
Наступает 11:30. В процессинге блока достаем первую задачу и ложим в очередь сразу же выполняться.
В процессинге задачи выполняем саму задачу, по выполнению достаем следующую и т.д.

Anton
04.12.2017
14:06:14

Nikolay
04.12.2017
14:06:44
Хранимки это боль.

?
04.12.2017
14:06:53

Nikolay
04.12.2017
14:07:33
Если и писать, то только совсем простые, не знаю, пару джойнов, там, сделать. Но ведь на этом обычно люди не останавливаются, начинают туда впихивать бизнес-логику.

?
04.12.2017
14:07:49

Anton
04.12.2017
14:07:50
Хранимки это боль.
нит же. это просто инструмент, можно использовать органично, а можно и ногу острелить