Впервые столкнулся с задачей запускать программы удаленно, в определенном порядке, с определенным интервалом. До этого никогда не только не работал с queue, messages и тд, но даже не знал толком что это такое. Впрочем не понимаю и сейчас, поэтому и создал этот вопрос.
Вообщем, примерная цель - иметь заранее созданные задачи на сервере (фактически, обычные функции), и иметь возможно программно их создавать/удалять через ГУИ интерфейс (т.е. по АПИ).
Мой стек это Node, поэтому выбар пал на библиотеку Bull.
И там все работает так:
создается очередь >> создается процесс >> создается задача
const loadBalancerQueue = new Queue('loadbalancer')
loadBalancerQueue.process('requestProfile', 100, requestProfile)
loadBalancerQueue.add('jobA', data, opts)
Вроде ничего сложного, но совершенно непонятно как строить само приложение?
К примеру, у меня есть функции (т.е. это фактически задачи конечные которые я хочу выполнять)
1. tweetMonitor() - мониторинг определенного профиля Твиттер (сюда динамически для каждой задачи передаю параметр)
2. resizeImage() - загрузка и ресайз в несколих размерах картинки
3. convertVideo() - конвертация загруженного видео
Как быть?
Для каждого вида задачи создавать свою очередь?
Тогда проблема - у Bull нету апи для полученяи списка всех очередей (я не нашел)
Или один сервер/инстанс Ноды это одна очередь? И под каждый тип создавать процесс?
Или это все один процесс, а в задачах уже указывать тип?
Заодно посоветуйте плз теории на эту тему. Я это совершенно упустил из виду (но я и сам-то изначально фронтендер-самоучка, так что...)