Posted at

AWS BeanstalkでCronを設定する際に環境変数を付け加える

More than 1 year has passed since last update.


AWS BeanstalkでCronを設定する際に環境変数を付け加える

Beanstalkで各環境を管理していて、環境変数 PARAM1 で環境名を送って切り分けてます。


  • テスト環境 => dev

  • ステージング環境 => stg

  • 本番環境 => prod

送られた環境変数をFWのbootstrap的な箇所で受けとって、環境別の設定を読み込んでいます。

現状、cronも .ebextensions でcronの設定を記載していたのですが、環境変数を渡さないとFWが環境を判断できずどうしようとなっていました。

諸々調べて結果、以下みたいにすれば環境取れるようになりました。(簡単だった)

container_commands:

01_cron:
command: "echo \"00 04 * * * PARAM1=$PARAM1 /usr/bin/php /var/www/html/fw/bin/command batch01\" > /var/spool/cron/batch"
02_cron:
command: "echo \"30 04 * * * PARAM1=$PARAM1 /usr/bin/php /var/www/html/fw/bin/command batch02\" >> /var/spool/cron/batch"

こんなやり方のほうがいいよみたいなのあれば、ぜひ教えてください。