ようへいの日々精進XP

よかろうもん

2019 年 06 月 11 日 (火)

ジョギング

  • 山王公園を 35 分くらい, 懸垂はお休み, 右足全体的の張りと左足踵の外側に痛み
  • 左肩に突っ張るような激痛があり懸垂はお休み

ランチ

奥さんのお弁当. 2 日目. 美味しかった. 感謝!

AWS リソース変更検知

CloudTrail -> CloudWatch Events -> Lambda でカジュアルにやりたいことが出来そうな感覚はつかめた. Infrastructure as Code し辛い部分は, この仕組みをちょいちょい使っていきたいなと思った次第.

ECS の Run Task 終了を待つロジック

aws ecs wait tasks-stopped という便利なコマンドがあるけど, describe-taskswhile を駆使して地道に終了待ちを実装してみた.

WAIT_COUNT=100
WAIT_TIME=3

# Execute main-task
TASK_ARN=$(aws ecs run-task \
  --region ${AWS_REGION} \
  --cluster=${ECS_CLUSTER} \
  --task-definition=main-task \
  --query='tasks[].taskArn' \
  --output=text)

# Waiting for main-task task finished.
echo 'Waiting for main task finished.'
count=0
while true
do
  echo -n '.'
  count=`expr ${count} + 1`
  TASK_STATE=$(aws ecs describe-tasks \
    --tasks=${TASK_ARN} \
    --cluster=${ECS_CLUSTER} \
    --query='tasks[].lastStatus' \
    --output=text)
  # Task の lastStatus が STOPPED になるか, 300 秒経過するまで待機する.
  # 300 秒以上経過しても STOPPED にならない場合には exit 1 で終了する.
  if [ "${TASK_STATE}" = "STOPPED" ]; then
    printf "\nmain-task finished.\n"
    break
  elif [ ${count} -ge ${WAIT_COUNT} ];then
    printf "\nmain-task exceeded 300 seconds.\nplease check about the main-task result.\n"
    exit 1
  fi

  sleep ${WAIT_TIME}
done

echo "finished!!"

夕飯

豚肉で人参とかえのきを巻いたやつが美味しかった!