Java=環境の場合、Celeryプロジェクトに相当するものを見つけようとしています。SpringBatchを見てきましたが、分散タスクキューのより良い代替手段はありますか?.
ありがとう。
セロリがやっていることは [〜#〜] eip [〜#〜] と [〜#〜] seda [〜#〜] に非常に似ていますスケジューリング...(あとは、DBを追加して、非同期HTTPネットワーキングを行うだけで、完全なエンタープライズ品質のスタックが得られます)。
基本的にJava Springの方法、Java EEの方法、Hadoopの方法があります:
これらはおおよそセットアップの容易さの順になっています。
Jesque( https://github.com/gresrun/jesque )は、Java分散タスクキューライブラリです。Java = Resqueライブラリのポート( https://github.com/defunkt/resque )。これは、GitHubページで次のように説明されています。
Resque(「レスキュー」のように発音)は、バックグラウンドジョブを作成し、それらのジョブを複数のキューに配置して、後で処理するためのRedis支援ライブラリです。
クォーツは過去に私のために働いていました。現在、Terracottaと統合されているため、簡単に配布できます。 http://quartz-scheduler.org/
Celeryは主にErlang/RabbitMQに基づいています。 RabbitMQには Javaクライアントライブラリ があり、便利かもしれません。また、RabbitMQバックエンドを持つ octobot もあります。
分散Javaタスクのスケジューリングと実行 https://redisson.org/
Celery for Javaほど使いやすいものを見つけることができませんでした。ほとんどのソリューションは、メッセージキューの使用を推奨しています。しかし、Celeryは、キューよりも1レベル高い抽象レベルにあります。メッセージとコンシューマーの代わりに、タスクとワーカー、結果、再試行などについて考えることができます。
また、JavaとPython)の両方を使用して会社にいくつかのブリッジを実装する必要があったため、このプロジェクトを開始しました。
celery-Java-Javaのセロリクライアントとワーカー、Python対応するものと互換性がある。
注意してください、それは今のところ非常に未熟です。
私が見つけた最も近いものはOctobotです: https://github.com/cscotta/Octobot あまりドキュメントはありません... octobot.taco.catでそのためのWebサイトになっていますが、最近その負荷を確認していません。私は個人的にOctobotを使用していませんが、Celery for Javaとして推奨されることをよく見ました。