Что такое хорошая система работы, похожая на Sidekiq, для node.js?

(Большинство вопросов, заданных здесь на эту тему, немного устарели, и мне было интересно, что изменилось в экосистеме Node за все эти годы.)

В основном я пытаюсь реализовать очередь заданий в моем приложении в node.js. Я слышал о Sidekiq и видел его в действии в мире Ruby и о том, насколько он хорош в своей работе, и мне было интересно, существует ли что-то подобное в узле.

Рабочие будут написаны на Javascript, поэтому он не обязательно должен быть полиглотом (хорошо, если это так, но это определенно не требование).

Большим плюсом будет простой способ визуализировать текущие задания, те, которые не удалось выполнить, и т. д.

Чем вы пользуетесь, ребята? Какие известные вам библиотеки/сервисы соответствуют этим требованиям?


person Guillaume Flandre    schedule 04.03.2016    source источник
comment
Kue — automattic.github.io/kue   -  person stdob--    schedule 04.03.2016
comment
Бык — github.com/OptimalBits/bull   -  person Gokul    schedule 22.08.2016
comment
Существует веб-сайт со списком различных библиотек для фоновых заданий на разных языках: taskqueues.com.   -  person hsym    schedule 15.07.2021


Ответы (2)


Попробуйте https://github.com/taskrabbit/node-resque.

Resque и Sidekiq используют одни и те же структуры данных. В узле получить несколько заданий для обработки одновременно очень просто.

person Evan    schedule 01.07.2016

Отказ от ответственности: я разрабатываю и поддерживаю модуль node.js для Faktory.

Автор Sidekiq создал сервер очереди заданий, не зависящий от языка, на базе Redis. Он называется Faktory и реализует лучшие части Sidekiq (и многое другое) на стороне сервера заданий, поэтому вы может получить обработку заданий, подобную sidekiq, на любом языке (где доступна клиентская библиотека).

Клиент node.js (и TypeScript) можно найти здесь.

Из README:

На высоком уровне Faktory — это рабочий сервер. Это репозиторий фоновых заданий в вашем приложении. Задания имеют тип и набор аргументов и помещаются в очереди для извлечения и выполнения работниками.

Вы можете использовать этот сервер для распределения заданий на одну или сотни машин. Клиенты могут выполнять задания на любом языке, используя Faktory API для извлечения задания из очереди.

Основные характеристики:

  • Задания представлены в виде хэшей JSON.
  • Задания помещаются в очереди и извлекаются из них.
  • Задания резервируются с тайм-аутом, по умолчанию 30 минут.
  • Задания, получившие FAIL или не получившие ACK в течение тайм-аута резервирования, помещаются в очередь повторно.
  • Задания, завершившиеся FAIL, запускают рабочий процесс повторных попыток с экспоненциальной задержкой.
  • Содержит комплексный веб-интерфейс для управления и мониторинга.

Лицензии Enterprise и Pro доступны для дополнительных функций, с которыми вы, возможно, знакомы в Sidekiq Pro и Sidekiq Enterprise.

Я оказался в этой ветке, потому что я искал node.js sidekiq в поисках того же самого и вдруг (смущающе) вспомнил Faktory.

person jbielick    schedule 15.08.2020