2022-01-01から1年間の記事一覧

AWS SDK for PHP の SQS::ReceiveMessage でシグナルを受けたときに long pooling を中断して終了したい

指定されたコマンドを子プロセスで実行し、特定のシグナルを受けたときは子プロセス終了時にリスタートするシェルスクリプト

はじめに php で作ったキューワーカーのようなサービスをコンテナで実行させる サービスはシグナルをハンドリングしていわゆるに Graceful に終了したい サービスが終了したときは普通にコンテナも終了する ただしローカルの開発環境では特定のシグナルを受…

S3 に保存された CloudFront のログを見やすく整形するツーライナー

AWS

要するに TSV や CSV は column コマンドで見やすくなる&# の行はちょっと特殊なので加工が必要。 aws s3 cp s3://XXX/YYY/ZZZ/ ./log/ --recursive --exclude='*' --include '*.2022-10-27-*' zcat log/*.gz | sed -r '/^#Version/d;/^#Fields:/{s/\s/\t/g…

ログに含まれる UNIX タイムスタンプを書式化するワンライナー

ログに日時が [1659316846] のように UNIX タイムスタンプで記録されているときに人にわかりやすく書式化するワンライナー。 cat <<'EOS' >log.log [1659316843] りんご [1659316844] ごりら [1659316845] らっぱ [1659316846] perl EOS cat log.log | perl …

ECS でサービスにアクセスがないときにタスクを自動的に停止して、アクセスがあったときに自動的に開始する

AWS

ECS で Review Apps のような、マージリクエスト(普段会社で Gitlab を使っているのでそう呼んでますが PR=プルリクエスト でも概ね同じです)の都度、コンテナイメージのビルド、ALB ターゲットグループ作成、ECS サービス作成、ALB リスナーにルール追加…