Scrapyプログラムを定期実行する
前回までの記事
ScrapyをAWS Lambdaで実行するまで ②MySQLdb(mysqlclient)エラーの解決
ScrapyをAWS Lambdaで実行するまで ①関数作成とデプロイ
ScrapyをAWS Lambdaで実行するまで ⓪ネットワーク構成と各設定
ScrapyプログラムをLambda関数で実行出来るようになったので、※Amazon EventBridgeのイベントルールで自動で定期実行出来るように設定した。
※旧 CloudWatch Events
Amazon EventBridgeによる定期実行ルールの設定
マネジメントコンソールよりAmazon EventBridgeを開きルールを作成する。
1. ルール名を設定
2. 定期実行のタイミングを設定する
パターンを定義より、「スケジュール」を選択し、Cron式の箇所に定期実行のルールを書式設定する
上記画像では毎週金曜日のAM8:00に実行されるように指定している。
Linuxのcron書式に加えてAWS独自ルールがあるようで設定に多少手間取ったが、以下のガイドラインなどを参照して設定することができた。
Amazon EventBridge ルールの作成
NG
0 8 * * 6
OK
0 8 ? * 6 *
・ 曜日を指定した場合は「日」の部分はワイルドカードでなくクエスチョンマークにする
・ 分 時 日 月 曜日 で終わらせず、最後に「年」を表す部分を記載する
3. ターゲットを選択より、定期実行させたいLambda関数を選択。
右下の作成ボタンをクリックして完了。
作成済みのルールは一覧から確認することができる。