Подтвердить что ты не робот

Что эквивалентно проекту Python Celery для Java?

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

Спасибо.

4b9b3361

Ответ 1

Что делает сельдерей, очень похоже на EIP и SEDA с удобной планировкой задач. (все, что вам осталось сделать, это добавить несколько DB и асинхронную HTTP-сеть, и у вас есть полный пакет качества предприятия).

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

  • Spring: Spring Интеграция + Spring Batch + RabbitMQ
  • Java EE: Mule + Quartz или EJB Scheduling + HornetMQ
  • Hadoop: Capacity + ZooKeeper

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

Сельдерей в основном основан на Erlang/RabbitMQ. В RabbitMQ есть клиентская библиотека Java, которая может быть полезна. Кроме того, есть octobot, у которого есть сервер RabbitMQ.

Ответ 5

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

Ответ 6

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

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

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

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