こんな機能まであったのね
<?php
$schedule->command('news:update')
->everyTwoHours() // 二時間おき
->withoutOverlapping(30) // 重複実行防止、タイムアウト30分
->runInBackground() // バックグラウンド実行
->emailOutputOnFailure('admin@example.com') // 失敗時メール通知
->appendOutputTo('storage/logs/news.log') // ログ出力
->when(function () { // 条件付き実行
return Carbon::now()->hour >= 6; // 6時以降のみ
})
->skip(function () { // スキップ条件
return Cache::has('maintenance_mode');
});
# ->withoutOverlapping(30) // 重複実行防止、タイムアウト30分
# のロック確認
# ロックファイルの確認
ls -la storage/framework/schedule-*
# 手動でロック解除(緊急時)
rm storage/framework/schedule-*
知らないと損をすることがLaravelではよくありますね。
でも仕様書が英語でたんまりあるんで読まないですよね・・・。
