Что эквивалентно проекту Python's Celery для Java? - PullRequest
33 голосов
/ 06 марта 2012

Я пытаюсь найти эквивалент проекта Celery для среды Java, я посмотрел на Spring Batch, но есть ли лучшие альтернативы для распределенных очередей задач.

Спасибо.

Ответы [ 8 ]

24 голосов
/ 06 февраля 2013

То, что делает Celery, очень похоже на EIP и SEDA с удобным планированием задач ... (все, что вам осталось сделать, это добавить немного БД и асинхронный HTTP сеть, и вы получите полный стек корпоративного качества).

В основном в Java есть способ Spring, способ Java EE и способ Hadoop:

  • Spring: Spring Integration + Spring Batch + RabbitMQ
  • Java EE: Мул + Кварц или EJB-планирование + HornetMQ
  • Hadoop: Емкость + ZooKeeper

Это примерно в порядке простоты настройки.

9 голосов
/ 01 ноября 2012

Jesque (https://github.com/gresrun/jesque) - это библиотека очередей распределенных задач Java. Это порт Java библиотеки Resque (https://github.com/defunkt/resque),, который описан так на странице GitHub:

Resque (произносится как «спасение») - это библиотека с поддержкой Redis для создания фоновых заданий, размещения этих заданий в нескольких очередях и последующей их обработки. "

5 голосов
/ 06 марта 2012

Кварц работал на меня в прошлом.Теперь он интегрирован с Terracotta, поэтому его легко распространять.http://quartz -scheduler.org /

3 голосов
/ 06 марта 2012

Сельдерей в основном основан на Erlang / RabbitMQ.RabbitMQ имеет клиентскую библиотеку Java , которая может быть полезна.Также существует октобот , который имеет бэкэнд RabbitMQ.

0 голосов
/ 20 ноября 2018

Планирование и выполнение распределенных задач Java https://redisson.org/

0 голосов
/ 02 октября 2017

Мне не удалось найти ничего более простого в использовании, чем Celery для Java. В большинстве решений рекомендуется использовать очередь сообщений. Но сельдерей сидит на один уровень абстракции выше, чем в очереди. Вместо сообщений и потребителей вы можете думать о задачах и работниках, результатах, повторных попытках и т. Д.

Мне также нужно было реализовать какой-то мост для компании, использующей как Java, так и Python, поэтому я начал этот проект:

celery-java - Клиент и работник Celery на Java, совместимый с их аналогами Python.

Осторожно, это очень незрелый на данный момент.

0 голосов
/ 20 августа 2015
0 голосов
/ 21 января 2013

Самая близкая вещь, которую я нашел, это Octobot: https://github.com/cscotta/Octobot Хотя не так много документации ... раньше был сайт для этого по адресу octobot.taco.cat, но я не видел такой загрузки в последнее время. Я лично не использовал Octobot, но часто видел его рекомендованным в качестве сельдерея для Java.

...