JobRunr 8.0のリリースにより、Carbon Aware Job Processingが導入された。これは、ジョブをスケジュールする際に開発者のカーボンフットプリントを最適化する新機能だ。他の新機能には、Kotlinシリアライゼーションのサポート、新しいダッシュボード通知センター、新しい@AsyncJobアノテーションが含まれており、ルーチンジョブ作成のボイラープレートを削減する。
欧州連合のエネルギープロバイダーENTSO-Eが、カーボンアウェアスケジューリングに使用されるデータを提供している。以下の画像に示されているように、カーボン排出量はJobRunrダッシュボードで色分けされた時間ごとのタイムラインで表示される。開発者はこの情報を使用して、CO2排出量がもっとも少ない時間帯にジョブをスケジュールできる。この新機能の使用方法の詳細はユーザーガイドに記載されている。カーボンアウェアジョブプロセッシングは、まだ米国では利用できない。
Kotlin 2.1+でアプリケーションを構築することを好む開発者は、新しいクラスであるKotlinxSerializationJsonMapperを使用可能になった。これは、シリアライゼーション固有のJsonMapperインターフェースを実装している。KotlinxSerializationJsonMapperクラスのインスタンスは、JobRunr Fluent APIを使用してプログラム的に構成するか、JobRunrの自動構成ユーティリティによって提供されるデフォルトのJsonMapperビーンを置き換えることで構成可能だ。
新しいダッシュボード通知センターは、すべての通知を一か所にまとめて提供する。ユーザーはメニューバーにある新しいベルアイコンをクリックするだけで、通知を最大化および最小化できる。これにより、以前のバージョンで存在していたダッシュボードの雑然さが解消される。重大な通知の詳細は、別ウィンドウで開くことが可能だ。
新しい@AsyncJobアノテーションは、ジョブをキューに入れる際のルーチンボイラープレートを削減する。@Jobアノテーションが付いたメソッドを含むクラスに@AsyncJobを使用するだけでよい。JobRunrはこのメソッドをインターセプトし、ジョブを作成し、将来の実行のために保存する。
このリリースの重大な変更点には以下が含まれる。
- RedisおよびElasticsearchストレージプロバイダー、具体的には
LettuceStorageProvider、JedisStorageProvider、ElasticSearchStorageProviderの削除。これらはバージョン7.0で非推奨となっていた。 RecurringJobクラスで定義された複数のコンストラクタシグネチャの変更。開発者はRecurringJobBuilderクラスを使用して定期的なジョブを構築することが推奨される。AbstractJobクラスで定義されたsetLabels()メソッド、およびJobBuilderとRecurringJobBuilderクラスで定義されたオーバーロードされたwithLabels()メソッドは、引数としてSetではなくListを期待するようになった。
2020年4月に導入されたカーボンアウェアジョブプロセッシングは、JobRunrがこれまでに提供してきた重要な新機能のリストを補完するものだ。これには、Spring Starter、Quarkus、Micronautとの統合、Spring Native(現在はSpring Boot 3.0+の一部)、および仮想スレッドのサポートが含まれる。
JobRunrの創設者Ronald Dehuysser氏は、InfoQにこの最新リリースについて語った。
InfoQ: 2020年4月にJobRunrを立ち上げて以来、あなたにとってJobRunrの道のりはどのような意味を持っていますか?
Ronald Dehuysser氏: 私はもともと、Javaにはシンプルでモダンなバックグラウンドジョブプロセッシングライブラリが欠けていることに気づき、趣味のプロジェクトとしてJobRunrを始めました。数か月の実験として始めたプロジェクトが、想像以上に注目を集めました。最初はそのシンプルさを評価する開発者たち、次に本番環境で信頼性のあるバックグラウンドプロセッシングを求める企業たちです。
2020年4月の立ち上げ以来、JobRunrは情熱的なプロジェクトから商業製品へと成長し、世界中の企業で使用されるようになりました。個人的には、ジョブのスケジューリングからワークロードのスケーリングまで、実際のビジネス問題を解決するのを見て、開発者から「仕事が楽になった」とのフィードバックを受け取ることが非常にやりがいがあります。
特に誇りに思っているのは、最新の追加機能であるカーボンアウェアジョブスケジューリングです。これは、ソフトウェアインフラストラクチャを改善するだけでなく、環境負荷を最小限に抑えながら企業が持続可能性を高めるのを支援するものであり、今後ますます重要になると信じています。
InfoQ: JobRunrの今後の展望は何でしょうか?
Dehuysser氏: 次の大きな目標は、カーボンアウェアジョブスケジューリングを米国に導入することです。現在はEUでのみ利用可能ですが、持続可能性がますます重要になる中で、開発者がもっともクリーンなグリッドの時間にジョブをスケジュールできるツールを持つべきだと信じています。私たちは、よりスマートでグリーンな技術を構築することを信じています。
それ以外にも、私たちは常に行ってきたことを続けます。ユーザーの声に耳を傾けることです。彼らの入力と機能リクエストがJobRunrの未来を形作ります。新しい機能、パフォーマンスの最適化、統合など、現実のニーズに応えるために進化し続けます。
JobRunrプラットフォームは、コミュニティ版とプロフェッショナル版の両方を提供している。この最新リリースの詳細は、リリースノート、移行ガイド、ローンチウェビナーで確認できる。
編集者注
カーボンアウェアの図は、Ronald Dehuysser氏とJobRunrチームの提供です。