andriajah Mon Apr 2024 3 weeks ago

Bagaimana Cara Register Schedule Command di Laravel 11?

Hai, Pada postingan kali ini saya akan menunjukkan cara mengatur command schedule di framework laravel 11.

Peluncuran Laravel 11 sudah dekat, dan dilengkapi dengan banyak fitur dan peningkatan baru. Laravel 11 hadir dengan kerangka aplikasi yang lebih ramping, memperkenalkan struktur aplikasi yang disederhanakan, pembatasan kecepatan per detik, perutean kesehatan, dll.

Di Laravel 11, file Kernel.php untuk mengatur perintah schedule tugas tugas cron telah dihapus. Kita sekarang perlu mendefinisikan tugas cron di file console.php. Anda dapat melihat contoh sederhana untuk membuat perintah baru dan mengaturnya di Laravel 11.

Pertama, kita akan membuat perintah baru yang sederhana menggunakan perintah berikut:

php artisan make:command TestJob

Sekarang, Anda akan melihat file `TestJob.php` yang baru dibuat di direktori Konsol. Kami hanya akan menambahkan beberapa teks informasi ke dalamnya sekarang. Mari perbarui kodenya:

 

app/Console/Commands/TestJob.php

<?php
  
namespace App\Console\Commands;
  
use Illuminate\Console\Command;
  
class TestJob extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'app:test-job';
  
    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Command description';
  
    /**
     * Execute the console command.
     */
    public function handle()
    {
        info('Command run every minute.');
    }
}

 

Sekarang, Anda cukup mendaftarkan perintah yang dibuat seperti contoh di bawah ini:

route/konsol.php

<?php
   
use Illuminate\Support\Facades\Schedule;
   
Schedule::command('app:test-job')->everyMinute();

 

Anda dapat menyiapkan tugas cron di crontab, dan Anda akan melihat output seperti berikut:

[2024-03-08 14:34:53] local.INFO: Command run every minute.  
[2024-03-08 14:35:53] local.INFO: Command run every minute.  
[2024-03-08 14:36:53] local.INFO: Command run every minute. 

 

Saya harap ini dapat membantu Anda...

 

laravel 11