laravel-task-scheduling について
Laravel のタスクスケジューリングを環境間で安定して運用するためのスキルです。重複実行の防止、単一サーバーでの実行、ログやメトリクス、リスクのあるジョブ向けの機能フラグを扱います。
主な機能
- 01routes/console.php でのコマンド登録
- 02実行の重複防止
- 03単一サーバーでの実行
- 04タスク実行の記録と監視
- 05高リスクジョブ向け設定フラグ
活用シーン
- 01日次レポートコマンドのスケジュール設定
- 02複数ノードでのジョブ重複防止
- 03スケジュールジョブの失敗追跡
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ noartem/ skills --skill laravel-task-schedulingインストール後、Claude Code で/laravel-task-schedulingを入力して読み込まれたか確認します。
詳細
タスクのスケジュール設定
環境をまたいで、スケジュールされたタスクを安定して実行できます。
コマンド
// routes/console.php
<?php
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schedule;
Schedule::command('reports:daily')
->dailyAt('01:00')
->withoutOverlapping()
->onOneServer()
->runInBackground()
->evenInMaintenanceMode();
パターン
withoutOverlapping()を使って、時間のかかるコマンドの重複実行を防ぎます- 複数のノードで実行する場合は、
onOneServer()を使います - 状況を把握できるようにログやメトリクスを出力し、失敗時の通知も検討します
- リスクの高いジョブは、設定や環境変数でフィーチャーフラグを設定します
コメント
Markdown 対応