Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the equivalent of Python's Celery project for Java?

I am trying to find an equivalent of Celery project for Java environment, I have looked at Spring Batch, but are there any better alternatives for distributed task queues.

Thanks.

like image 932
Zakiullah Khan Avatar asked Mar 06 '12 02:03

Zakiullah Khan


People also ask

What is Python Celery used for?

Celery is a task queue implementation for Python web applications used to asynchronously execute work outside the HTTP request-response cycle. Celery is an implementation of the task queue concept.

Is Celery a Python library?

Celery is written in Python, but the protocol can be implemented in any language.

What is Celery backend?

SQLAlchemy. SQLAlchemy is backend. It allows Celery to interface with MySQL, PostgreSQL, SQlite, and more. It is a ORM, and is the way Celery can use a SQL DB as a result backend. Historically, SQLAlchemy has not been the most stable result backend so if chosen one should proceed with caution.


1 Answers

What Celery is doing is very much akin to EIP, and SEDA with convenient task scheduling... (all you have left to do is add some DB, and async HTTP networking and you have got a complete enterprise quality stack).

Basically in Java there is the Spring way, the Java EE way, and the Hadoop way:

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

Those are roughly in order of ease of setting up.

like image 120
Adam Gent Avatar answered Sep 21 '22 07:09

Adam Gent