0

バックエンドのスケジュールされたジョブの適切なフレームワークを提案できる人がいるかどうかを尋ねたいと思います。現在、バックエンド全体が複数のスケジュールされたジョブに基づいています。すべてのジョブは Java で記述され、Linux マシンにデプロイされます。これらのジョブは cron (crontab を使用) とラッパーとしての単純な bash スクリプトによって制御されるため、基本的には、定期的に起動されるいくつかの jar (それらはすべて、Spring ベースの uber-jar [依存関係あり]) を持っています。これらの Java モジュールは、csv/xml ファイルの処理、Web サービスからのデータの取得、外部 API (HTTP) の呼び出し、FTP からのデータの収集など、さまざまなことを行っています。すべてのモジュールを 1 か所にまとめて簡単に管理できるようなフレームワークはありますか? 私はキャメルについて考えていました(以前は使用していました)が、私にとって必要なものは次のとおりです。

  1. 残りのモジュールを中断することなく、単一のモジュールを展開/展開解除する機能。
  2. ランタイムでジョブ (cron 式) を再スケジュールする機能。

Camel は、外部統合 (FTP、HTTP、WS) のすべての機能と簡単なクォーツ統合を備えているため、ほぼ完璧です。複数のモジュールを持ち、ランタイムでそれらを展開/展開解除することが達成可能かどうかはわかりません。

私のニーズに合った他のフレームワークがいくつかあるかもしれません。提案してください。

4

2 に答える 2

1

Java/Scala でこれを行う予定がある場合は、Quartzを使用してみてください 。これは (また)、ジョブをスケジュールするための CRON のような構文を提供します。

「モジュール」を単純なサーブレット コンテナー (jetty) に Web アプリケーションとしてデプロイし、Quartz スケジューラを使用してそれらのアクションをトリガーします (Web アプリケーションでも単純な UI を公開します)。

于 2013-03-20T10:20:57.767 に答える
0

モジュールのロードとアンロードを管理するために、あなたが説明している方法でモジュール管理に特に適していると思われるApache ServiceMixのようなOSGIに基づいたものを見たいと思うかもしれません(ロードとモジュールのアンロード)。ジョブをスケジュールするために、Quartz を ServiceMix に追加します。

于 2013-03-21T22:11:26.173 に答える