@nodejs_ru

Страница 1364 из 2748
?
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:40
ты будешь плясать с кроном
плясать над тем чтобы тупо заскедулить таску на определенное время?

Сергей
04.12.2017
13:41:57
вот надо поменять время

будешь лезть на сервак и менять руками?

Алексей
04.12.2017
13:42:10
и его не надо отдельно плясать и мейнтейнить
у крона свои проблемы (если таска должна была выполниться когда компьютер лежал) крон не выполнит ее по включению

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

Google
Таймураз
04.12.2017
13:42:24
плясать над тем чтобы тупо заскедулить таску на определенное время?
У меня тут таска на 3 месяца вперед на определенную минуту Поставлю крон, чтобы дергал базу и проч проч проч ради этого

?
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
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
не все вещи требуют того чтобы быть сделанными адекватно сразу

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

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

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

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

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

?
04.12.2017
13:46:26
Нода отвалилась, сервис сдох.
сервер сдох админы повесились

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

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

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
Я как-то писал систему воркеров, где нужно было из очереди все тащить по порядку и ждать выполнения.

?
04.12.2017
13:50:48
Используется Kue так-то :)
и оно такое тупэнькэ что не умеет то что тебе нужно из коробки в две строчки?

A.
04.12.2017
13:50:53
http://www.rabbitmq.com/consumer-prefetch.html basicQos
На уровне "кролика" находил решения. Опишу что есть: - Node.js - Kue (Redis)

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

Спасибо!

?
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
соответственно напрашивается вопрос - почему оно должно не уметь это из коробки?

Зависимость между задачами нужна.
дык скедули задачу как враппер над новой очередью :3

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
Да. Будут задачи другого типа. Будут параметры, определяющие зависимость одной от другой.
есть такой вариант тогда, но он попахивает тырпрайзом. складируй задачи в базе, а их логику подачи уже определяй всякми триггерами и хранимками. а для более гладкого получения сами задачи уже из базы тяни встроенной очередью - oracle AQ или pg notify (вроде он как аналог aq). также в самой же бд можешь настроить планировщик на процедуры

?
04.12.2017
14:01:31
Штука есть еще интересная, что необходимо задачи с расписанию не обрабатывать одновременно с задачами не по расписанию.
это вопрос приоритизации же только - у обработчика очереди всегда должен быть приоритет ниже (не проверял можно ли этому доверять наверняка)

есть такой вариант тогда, но он попахивает тырпрайзом. складируй задачи в базе, а их логику подачи уже определяй всякми триггерами и хранимками. а для более гладкого получения сами задачи уже из базы тяни встроенной очередью - oracle AQ или pg notify (вроде он как аналог aq). также в самой же бд можешь настроить планировщик на процедуры
а еще лучше не троггать триггера для этих дел и не кусать кактус, достаточно в базе держать нужные данные типа айдишек очереди и зависимостей, остальное нода должна разрулить. /me уже выстрадал от плясок вокруг архитектур накрученных над базами в центре

Anton
04.12.2017
14:04:30
а еще лучше не троггать триггера для этих дел и не кусать кактус, достаточно в базе держать нужные данные типа айдишек очереди и зависимостей, остальное нода должна разрулить. /me уже выстрадал от плясок вокруг архитектур накрученных над базами в центре
это вкусовщина. /me некоторые вещи наоборот упростил за счёт хранимок, так как не нужно было ебаться с атомарностью и отказоустойчивостью, так как кластер оракла давал это из коробки, например

?
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
Если и писать, то только совсем простые, не знаю, пару джойнов, там, сделать. Но ведь на этом обычно люди не останавливаются, начинают туда впихивать бизнес-логику.

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

Страница 1364 из 2748