Sto cercando di trovare un equivalente del progetto Celery per l'ambiente Java, ho esaminato Spring Batch, ma ci sono alternative migliori per le code di attività distribuite.Qual è l'equivalente di Python's Celery project per Java?
Grazie.
Sto cercando di trovare un equivalente del progetto Celery per l'ambiente Java, ho esaminato Spring Batch, ma ci sono alternative migliori per le code di attività distribuite.Qual è l'equivalente di Python's Celery project per Java?
Grazie.
Quartz ha funzionato per me in passato. Ora è integrato con Terracotta, quindi dovrebbe essere facile da distribuire. http://quartz-scheduler.org/
È possibile eseguire l'esecuzione del lavoro su richiesta con il programma di pianificazione Quartz, anziché eseguire un lavoro su una pianificazione specifica? –
@ZakiullahKhanMohamed Sono molto ritardato ma sì, questo è possibile. È possibile pianificare un lavoro da eseguire immediatamente. – GuiSim
Solo un avviso: la versione "gratuita" open source non ha alcun supporto per la distribuzione. Terracotta afferma che la versione enterprise lo fa. –
Il sedano si basa principalmente su Erlang/RabbitMQ. RabbitMQ ha uno Java client library che potrebbe essere utile. Inoltre, c'è octobot che ha un backend RabbitMQ.
Se non sbaglio, Celery è ampiamente scritto in Python e non in Erlang, ma sono d'accordo sul fatto che RabbitMQ sia basato su erlang. Guardando octobot, grazie. –
Penso che voglia dire che RabbitMQ è scritto in Erlang, quindi è necessario installarlo per usarlo. – fabspro
Jesque (https://github.com/gresrun/jesque) è una libreria di code di attività distribuite Java. Si tratta di una porta Java della biblioteca Resque (https://github.com/defunkt/resque), che è descritto in questo modo sulla sua pagina di GitHub:
Resque (pronunciato come "salvataggio") è una libreria Redis-backed per la creazione di posti di lavoro di fondo, mettendo quelli . lavori su più code, e l'elaborazione in un secondo momento"
La cosa più vicina che ho trovato è Octobot: https://github.com/cscotta/Octobot Non tanto di documentazione anche se ... ha usato per essere un sito web per essa al octobot.taco. cat, ma ultimamente non l'ho visto. Non ho usato personalmente Octobot, ma l'ho visto spesso raccomandato come un Celery per Java.
Ciò che Celery sta facendo è molto simile a EIP e SEDA con una comoda pianificazione delle attività ... (tutto ciò che vi resta da fare è aggiungere un po 'di DB e una rete asincrona HTTP e avete uno stack completo di qualità aziendale).
sostanza in Java c'è il modo di Primavera, il modo in cui Java EE, e il modo in Hadoop:
Questi sono approssimativamente in ordine di facilità di installazione.
Apache ActiveMQ http://activemq.apache.org/
Apache Kafka http://kafka.apache.org/
Non penso che ActiveMQ e Kafta siano Worker/Task Queue come il sedano. Sono broker di messaggi e possono essere confrontati con RabbitMQ, se lo si intende. – Rupesh
non sono stato in grado di trovare qualcosa di facile da usare come sedano per Java. La maggior parte delle soluzioni consiglia di utilizzare una coda di messaggi. Ma Celery ha un livello di astrazione più alto della coda. Invece di messaggi e dei consumatori, si può pensare in termini di compiti e lavoratori, risultati, ecc tentativi
Ho anche bisogno di attuare alcune ponte per una società che utilizza sia Java e Python così ho iniziato questo progetto:
celery-java - Client e worker di Celery in Java, compatibili con le loro controparti Python.
Attenzione, è molto immaturo a partire da ora.
In realtà un duplicato di questo: https://stackoverflow.com/questions/9577012/whats-the-equivalent-of-pythons-celery-project-for-java (ma questo dupe ha risposte migliori ormai ...) – fnl