make how example component java python celery batch-processing spring-batch

java - how - jframe table example



¿Cuál es el equivalente del proyecto Python''s Celery para Java? (7)

Estoy intentando encontrar un proyecto Celery equivalente para el entorno Java, he buscado en Spring Batch, pero existen alternativas mejores para las colas de tareas distribuidas.

Gracias.



El apio se basa principalmente en Erlang / RabbitMQ. RabbitMQ tiene una biblioteca de cliente Java que podría ser útil. Además, hay octobot que tiene un backend RabbitMQ.


El cuarzo me ha funcionado en el pasado. Ahora está integrado con Terracotta, por lo que debería ser fácil de distribuir. http://quartz-scheduler.org/


Jesque ( https://github.com/gresrun/jesque ) es una biblioteca de cola de tareas distribuidas de Java. Es un puerto Java de la biblioteca Resque ( https://github.com/defunkt/resque ), que se describe así en su página de GitHub:

Resque (pronunciado como "rescate") es una biblioteca respaldada por Redis para crear trabajos en segundo plano, colocar esos trabajos en varias colas y procesarlos más tarde ".


Lo más cercano que he encontrado es Octobot: octobot Sin embargo, no hay tanta documentación ... solía haber un sitio web para eso en octobot.taco.cat, pero no he visto Esa carga últimamente. Personalmente no he usado Octobot, pero a menudo lo he visto recomendado como Celery para Java.


Lo que Celery está haciendo es muy parecido a EIP y SEDA con una conveniente programación de tareas ... (todo lo que queda por hacer es agregar algunos DB y redes HTTP asíncronas y tiene una pila de calidad empresarial completa).

Básicamente, en Java existe la forma Spring, la forma Java EE y la forma Hadoop:

  • Spring: Spring Integration + Spring Batch + RabbitMQ
  • Java EE: Mule + Quartz o EJB Scheduling + HornetMQ
  • Hadoop: Capacity + ZooKeeper

Esos son aproximadamente en orden de facilidad de configuración.


No he podido encontrar nada tan fácil de usar como Celery para Java. La mayoría de las soluciones recomendadas para usar una cola de mensajes. Pero el apio se encuentra en un nivel de abstracción superior a la cola. En lugar de mensajes y consumidores, puede pensar en términos de tareas y trabajadores, resultados, reintentos, etc.

También necesitaba implementar algún puente para una compañía que usa tanto Java como Python, así que comencé este proyecto:

celery-java - Cliente y trabajador de Celery en Java, compatible con sus contrapartes de Python.

Cuidado, es muy inmaduro a partir de ahora.