はじめに
私は株式会社qnoteにて、勉強会の幹事を務めております。
2023年度勉強会の珠玉のネタを2023Qiitaアドベントカレンダーに投稿していこうと思います。
対象者
この記事は下記のような人を対象にしています。
- 駆け出しエンジニア
- プログラミング初学者
結論
定期実行する際に記述する場所はプロジェクトごとに決めましょう!
Laravelのタスク定期実行の仕組み
/var/spool/cron/crontabs/apache(←1.crontabに書く)
↓
app/Console/Kernel.php(←2.kernerl.phpに書く)
↓
app/Console/Commands/XXX.php(←3.コマンド化)
↓
app/Actions/YYY.php(←3.コマンド化)
それぞれの手法のメリット・デメリット
メリット | デメリット | |
---|---|---|
crontab | 簡単(1行) | git管理できない |
kernel.php | git管理できる | テスト書けない |
コマンド化+kernel.php | テスト書ける・git管理できる | 実装量多い |
crontabに書く手法
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
参考:crontabの書き方
おわりに
LaravelでSeederを定期実行したい時についてまとめました。
参考記事