パパエンジニアのアウトプット帳

30歳に突入した1児のパパエンジニアのブログ

2018-05-01から1ヶ月間の記事一覧

lambda(python)で定期的にAthenaのMSCK REPAIR TABLEを行う

Athenaを使うようにして、パーティションの更新を都度行うのが面倒だったので自動的に行われるようにした。 下記のようなlambda関数を作成して、Cloudwatchでcron式で定期実行ルールを設定した。 import boto3 client = boto3.client('athena') def lambda_h…

CloudFormationでElasticache for redisの設定をする

CloudFormationで非クラスターモード(マルチAZ)の構成を試してみた。 プライマリーノード:1、リードレプリカ:2の3ノード構成でプライベートなVPCに配置する想定。 最終的には下記の公式ドキュメントのサンプルオペレーションをCloudFormation対応した感じ…

CloudFormationのAWS::EC2::InstanceでNetworkInterfacesとSecurityGroupIdsは一緒に使えない

CloudFormationでEC2のインスタンスを作成しようとした時に下記のエラーが出てハマった。 Network interfaces and an instance-level security groups may not be specified on the same request 解決方法としては下記の通りNetworkInterfacesとSecurityGrou…

ActiveJob with sidekiqでリトライをしないようにする

非同期処理のど定番のsidekiq。 それをActiveJob経由で使っている場合は、sidekiq_optionsが使えないので細かな設定ができない。 今回、sidekiqにするにしたがってリトライは現時点では全てのジョブで不要なので、リトライしないようにしたかった。 結論とし…

Capybara::Poltergeist::StatusFailErrorが出たら

このエラーはローカルで Capybara::Poltergeist::Driver.new(app, js_errors: true, timeout: 1) のようにpoltergeistのtimeoutをすごく短くすると同様のエラーになる。 原因はassets compileに時間がかかっていてタイムアウトしている説らしい。 とりあえず…