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のベースURLkeruta.executor.processing-delay
:タスク処理試行間の遅延(ミリ秒)keruta.executor.coder.command
:coderを実行するコマンドkeruta.executor.coder.working-dir
:coderの作業ディレクトリkeruta.executor.coder.timeout
:coder実行のタイムアウト(ミリ秒)
./gradlew build
./gradlew bootRun
# アプリケーションとMongoDBの起動
docker-compose up -d
アプリケーションは http://localhost:8081 で起動します。
./gradlew test
./gradlew ktlintCheck
./gradlew ktlintFormat