Laravel スケジュールタスク実装ガイド【基本から応用まで】
Laravelでは、Artisanコマンドを使用して定期的なタスクを作成および管理することができます。以下に、定期的なタスクを実装する手順を示します。
- Illuminate\Console\Scheduling\Scheduleを日本語で言うと、「Illuminate\Console\Scheduling\Schedule」です。
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
protected function schedule(Schedule $schedule)
{
$schedule->command('email:send')->daily();
}
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}
- 定期実行タスクを登録するには、app/Console/Kernel.phpファイルで定期実行タスクのクラスを登録し、scheduleメソッドで実行するタスクとその実行時間を定義します。
- 以下のコマンドをサーバー上で実行して、Laravelのスケジュールされたタスクを開始します:
php artisan schedule:run
このようにすれば、定期的なタスクは定義された時間に忠実に実行されます。cronサービスを使用して上記のコマンドを定期的に実行することで、定時タスクが時間通りに実行されることを確認できます。