Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
定時実行の設定が難しいから、 仕組みで解決をしている話
Search
Hayato Nakamura
September 11, 2024
0
110
定時実行の設定が難しいから、 仕組みで解決をしている話
CRMシステムで利用している定時実行。
cronの設定についてお話しました。
Hayato Nakamura
September 11, 2024
Tweet
Share
More Decks by Hayato Nakamura
See All by Hayato Nakamura
呼び出し順で、 売上金額を回収できなくした話
chikin14niwa
0
78
N+1はダメなのか? システムを落としたあの日より
chikin14niwa
0
33
重要だけど、 よく忘れる仕様との付き合い方
chikin14niwa
0
96
Sessionの衝突から学んだPHPのSession作成方法 @CakeJP 2023/12/13 エンジニア小話会 PHPを語り合おう
chikin14niwa
0
390
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Making Projects Easy
brettharned
120
6.5k
How to Ace a Technical Interview
jacobian
280
24k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.2k
For a Future-Friendly Web
brad_frost
180
10k
Raft: Consensus for Rubyists
vanstee
140
7.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
960
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
120
20k
Transcript
© Cake.jp Co.Ltd. All Right Reserved.|Confidential 2024/09/11 定時実行の設定が難しいから、 仕組みで解決をしている話
2 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 自己紹介 • 名前
◦ 中村 隼人 • 業務 ◦ バックエンドエンジニア(PHP/Kotlin/TypeScript) • おすすめ🍰 ◦ 子どもが野菜を食べてくれる ◦ 大人が食べてもおいしい
3 © Cake.jp Co.Ltd. All Right Reserved.|Confidential CRM(Customer Relationship Management) 顧客関係管理のこと。
Cake.jpでの代表例 一度購入いただいた会員様に再度ご購入いただけるように働きかけること Cake.jpのCRMを支える環境について紹介
4 © Cake.jp Co.Ltd. All Right Reserved.|Confidential Cake.jpでは主に2つの方法で、お客様に連絡を実施。 • 24/365で動くEC2のcron
• ECSタスクスケジューラ Cake.jpのCRMを支える環境について紹介
5 © Cake.jp Co.Ltd. All Right Reserved.|Confidential cronとは・・・Unix系OSのジョブ管理ツール cronの書式 ※AWSのcron式は「年」も必須
定期実行に cronを利用
6 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 数値は固定値の他、ワイルドカードなどを利用できる。 定期実行に cronを利用
7 © Cake.jp Co.Ltd. All Right Reserved.|Confidential ※AWSのcron式は日と曜日の両方がワイルドカードの場合、片方を? にしなければなら ない。
定期実行に cronを利用
8 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 毎月10日16:00に実行するcronの設定を実施 実際におきた事例
9 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 毎月10日16:00に実行するcronの設定を実施 実際におきた事例 ↑
分の設定をワイルドカードで指定してしまった
10 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 毎月10日16:00に実行するcronの設定を実施 実際におきた事例 ↑
分の設定をワイルドカードで指定してしまった 10日の16時台に毎分バッチが実行。 バッチの特性上、1分毎に同じメールが同じ会員様に発送された。
11 © Cake.jp Co.Ltd. All Right Reserved.|Confidential • レビューがcronの書式のみで、最終的にどういうふうに設定されているかを確認し ていなかった。
◦ 検証環境が用意されていたが、使われていなかった。 失敗からの学び
12 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 1. 外部ツールを使って、cron式を視覚的に確認している。 https://crontab.guru/#5_0/2_*_8_*
を使ってます。 AWSの?の書式に対応していないので、そこだけ書き換えが必要。 cron式が正しく動作していることを検証しているためしていること
13 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 2. AWS EventBridge
> ルールから設定内容を確認 ローカルタイムゾーンで確認できるので安心 cron式が正しく動作していることを検証しているためしていること
14 © Cake.jp Co.Ltd. All Right Reserved.|Confidential 1. Cake.jpではインフラ専従者でないものがcron式を触る必要がある。 a.
確認方法をチームで共有し、ルール化した。 まとめ
15 © Cake.jp Co.Ltd. All Right Reserved.|Confidential ご清聴ありがとうございました。 アイコンは https://icons8.jp/
のものを使用しました。