Artifacts Unzip Serviceの設定

パッケージ

アップロードされたZipファイルを解凍するコンポーネントです。
Zip Artifacts機能を利用する場合に必要となるコンポーネントです。
他のサービスと同様Dockerイメージを提供しています。

docker run -d screwdrivercd/artifacts-unzip-service:latest

このDockerイメージはそのバージョン(例: v1.2.3) や動的なlatestタグ付けされています。プロダクションで利用する場合は固定のバージョンタグを利用してください。

設定

Queue

接続するQueueについての設定です。

キー デフォルト 説明
REDIS_HOST - Redis ホスト
REDIS_PORT - Redis ポート
REDIS_PASSWORD - Redis パスワード
REDIS_TLS_ENABLED false Redis tlsのサポートの有無。利用しない場合はfalse。利用する場合はioredisに引き渡すtlsの設定を追加
REDIS_DB_NUMBER 0 Redis db 番号
REDIS_QUEUE_PREFIX ’’ Redis queue プレフィックス
# config/local.yaml
queue:
  redisConnection:
    host: 127.0.0.1
    port: 6379
    options:
      password: REDIS PASSWORD
      tls: false
    database: 0
  prefix: ''

MultiWorker

MultiWorkerについての設定です。

キー デフォルト 説明
WORKER_MIN_TASK_PROCESSORS 1 MultiWorkerが生成するworkerの最小数
WORKER_MAX_TASK_PROCESSORS 10 MultiWorkerが生成するworkerの最大数
WORKER_CHECK_TIMEOUT 1000 イベントループがブロックされているかを確認する頻度(ミリ秒)
WORKER_MAX_EVENT_LOOP_DELAY 10 イベントループがブロックされたと判断する遅延時間(ミリ秒)
WORKER_PARALLEL_UPLOAD_LIMIT 0  Storeへのアップロードの最大並列実行数(0未満の場合は無制限)
# config/local.yaml
unzip-service:
  minTaskProcessors: 1
  maxTaskProcessors: 10
  checkTimeout: 1000
  maxEventLoopDelay: 10
  parallelUploadLimit: 0

詳細はMultiWorkerの設定を参照してください。

ヘルスチェック

サービスが動作しているか確認するためのAPIを公開する設定をします。

GET /last-emittedエンドポイントを叩くことで、最後にイベントループがブロックされているかを確認した時刻が返ります。イベントループがブロックされているかの確認はWORKER_CHECK_TIMEOUTで設定された時間ごとに実施されます。

キー デフォルト 説明
PORT 80 listenするポート
HOST 0.0.0.0 listenするホスト(そのマシン上からの接続だけを受け付けるときだけlocalhostに設定)
URI http://localhost:80 外部から接続可能なURI (通常はロードバランサーやCNAME)
# config/local.yaml
httpd:
    port: 80
    host: 0.0.0.0
    uri: https://localhost