Skip to content

kigawa-net/keruta-executor

Repository files navigation

keruta-executor

Keruta Executorは、coderを使用してkeruta-apiからタスクを実行するKerutaタスク実行システムのコンポーネントです。

概要

Keruta Executorは定期的にkeruta-apiから保留中のタスクをポーリングし、coderを使用して実行し、その状態をkeruta-apiで更新します。タスクはローカルで実行されます。

アーキテクチャ

Keruta Executorは以下のコンポーネントを持つSpring Bootアプリケーションとして構成されています:

  • TaskProcessor:定期的にkeruta-apiから保留中のタスクをポーリングし、その実行をCoderExecutionServiceに委譲します
  • TaskApiService:keruta-apiとやり取りしてタスクを取得し、その状態を更新し、ログを追加します
  • CoderExecutionService:coderを使用してタスクをローカルで実行します

設定

Keruta Executorはapplication.propertiesで以下のプロパティを使用して設定できます:

# Keruta Executor設定
keruta.executor.api-base-url=http://keruta-api:8080
keruta.executor.processing-delay=10000

# Coder設定
keruta.executor.coder.command=bash
keruta.executor.coder.working-dir=/tmp/coder
keruta.executor.coder.timeout=1800000

設定プロパティ

  • keruta.executor.api-base-url:keruta-apiのベースURL
  • keruta.executor.processing-delay:タスク処理試行間の遅延(ミリ秒)
  • keruta.executor.coder.command:coderを実行するコマンド
  • keruta.executor.coder.working-dir:coderの作業ディレクトリ
  • keruta.executor.coder.timeout:coder実行のタイムアウト(ミリ秒)

ビルドと実行

方法1: Gradleで実行

ビルド

./gradlew build

実行

./gradlew bootRun

方法2: Dockerで実行

# アプリケーションとMongoDBの起動
docker-compose up -d

アプリケーションは http://localhost:8081 で起動します。

開発

テスト

./gradlew test

コード品質

./gradlew ktlintCheck
./gradlew ktlintFormat

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published