J'essaie de trouver un équivalent du projet Celery pour l'environnement Java. J'ai examiné Spring Batch, mais existe-t-il de meilleures alternatives pour les files d'attente de tâches distribuées?.
Merci.
Ce que fait Celery ressemble beaucoup à EIP et SEDA avec une planification de tâches pratique ... ont une pile de qualité entreprise complète).
En Java, il existe essentiellement la méthode Spring, la méthode Java EE et la méthode Hadoop:
Ce sont à peu près par ordre de facilité d'installation.
Jesque ( https://github.com/gresrun/jesque ) est une bibliothèque de files de tâches distribuées Java. C'est un portage Java de la bibliothèque Resque ( https://github.com/defunkt/resque ), qui est décrit comme ceci sur sa page GitHub:
Resque (prononcé comme "rescue") est une bibliothèque reposant sur Redis qui permet de créer des travaux en arrière-plan, de placer ces travaux sur plusieurs files d'attente et de les traiter ultérieurement. "
Le quartz a fonctionné pour moi dans le passé. Il est maintenant intégré à Terracotta, il devrait donc être facile à distribuer. http://quartz-scheduler.org/
Le céleri est principalement basé sur Erlang/RabbitMQ. RabbitMQ a une bibliothèque client Java qui pourrait être utile. Aussi, il y a octobre qui a un backend RabbitMQ.
Planification et exécution des tâches Java distribuées https://redisson.org/
Je n'ai rien trouvé d'aussi simple à utiliser que Celery for Java. La plupart des solutions recommandaient d'utiliser une file de messages. Mais le céleri se situe à un niveau d'abstraction plus élevé que la file d'attente. Au lieu de messages et de consommateurs, vous pouvez penser en termes de tâches et de travailleurs, de résultats, de tentatives, etc.
J'avais également besoin d'implémenter un pont pour une entreprise utilisant à la fois Java et Python. J'ai donc démarré ce projet:
celery-Java - Client et travailleur Celery en Java, compatibles avec leurs homologues Python.
Attention, c'est très immature à partir de maintenant.
La chose la plus proche que j'ai trouvée est Octobre: https://github.com/cscotta/Octobot Pas tellement de documentation cependant ... il y avait un site Web pour cela à octobre.taco.cat , mais je n'ai pas vu cette charge ces derniers temps. Personnellement, je n'ai pas utilisé d'Octobot, mais je l'ai souvent vu recommandé comme céleri pour Java.