Tutorial ini difokuskan pada laravel 8 cron job setup. saya menjelaskan secara sederhana langkah demi langkah task scheduling laravel 8. Tutorial ini akan memberikan contoh sederhana bagaimana membuat cron job di laravel 8. Artikel ini menjelaskan secara rinci bagaimana membuat cron job di laravel 8. Jadi, mari kita ikuti beberapa langkah untuk membuat contoh task scheduling laravel 8.
Mengapa kita harus menggunakan cron job? dan apa keuntungan menggunakan cron job di laravel 8 dan bagaimana cara mensetup cron job di laravel 8 ?, Jika Anda memiliki pertanyaan ini maka saya akan menjelaskan mengapa. Sering kali kami perlu mengirim pemberitahuan atau mengirim email secara otomatis ke pengguna untuk memperbarui properti atau produk. Jadi pada saat itu Anda dapat menentukan beberapa logika dasar untuk setiap hari, jam dll dapat berjalan dan mengirim pemberitahuan email.
Anda juga ingin mengatur pekerjaan cron di server Anda kemudian Anda dapat mengikuti tutorial ini dan mari kita implementasikan.
Langkah 1: Instal Laravel 8
Pada langkah ini, jika Anda belum menyiapkan aplikasi laravel 8 maka kita harus mendapatkan aplikasi laravel 8 yang baru. Jadi jalankan perintah di bawah ini dan dapatkan aplikasi laravel 8 yang segar dan bersih.
composer create-project --prefer-dist laravel/laravel blog
Langkah 2: Buat Perintah Baru
Pada langkah ini, kita perlu membuat perintah khusus kita. perintah kustom akan dijalankan dengan task scheduling scron job. Jadi, mari kita jalankan perintah di bawah ini untuk membuat perintah kustom baru.
php artisan make:command DemoCron --command=demo:cron
Sekarang buat beberapa perubahan pada file Command.
app/Console/Commands/DemoCron.php
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class DemoCron extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $signature = 'demo:cron';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Command description';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
\Log::info("Cron is working fine!");
/*
Write your database logic we bellow:
Item::create(['name'=>'hello new']);
*/
}
}
Langkah 3: Daftarkan sebagai Task Scheduling
Pada langkah ini, kita perlu mendefinisikan perintah kita pada file Kernel.php dengan waktu ketika Anda ingin menjalankan perintah Anda seperti fungsi di bawah ini:
->everyMinute(); | Run the task every minute |
->everyFiveMinutes(); | Run the task every five minutes |
->everyTenMinutes(); | Run the task every ten minutes |
->everyFifteenMinutes(); | Run the task every fifteen minutes |
->everyThirtyMinutes(); | Run the task every thirty minutes |
->hourly(); | Run the task every hour |
->hourlyAt(17); | Run the task every hour at 17 mins past the hour |
->daily(); | Run the task every day at midnight |
->dailyAt(’13:00′); | Run the task every day at 13:00 |
->twiceDaily(1, 13); | Run the task daily at 1:00 & 13:00 |
->weekly(); | Run the task every week |
->weeklyOn(1, ‘8:00’); | Run the task every week on Tuesday at 8:00 |
->monthly(); | Run the task every month |
->monthlyOn(4, ’15:00′); | Run the task every month on the 4th at 15:00 |
->quarterly(); | Run the task every quarter |
->yearly(); | Run the task every year |
->timezone(‘America/New_York’); | Set the timezone |
app/Console/Kernel.php
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
/**
* The Artisan commands provided by your application.
*
* @var array
*/
protected $commands = [
Commands\DemoCron::class,
];
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('demo:cron')
->everyMinute();
}
/**
* Register the commands for the application.
*
* @return void
*/
protected function commands()
{
$this->load(__DIR__.'/Commands');
require base_path('routes/console.php');
}
}
Langkah 4: Jalankan Perintah Scheduler Untuk Pengujian
sekarang kami siap untuk menjalankan cron kami, sehingga Anda dapat memeriksa secara manual menggunakan perintah berikut dari cron Anda. jadi mari kita jalankan perintah di bawah ini:
php artisan schedule:run
Setelah menjalankan perintah di atas, Anda dapat memeriksa file log di mana kami sudah mencetak beberapa teks. jadi buka file log Anda seperti di bawah ini:
storage/logs/laravel.php
[2019-04-24 03:46:42] local.INFO: Cron is working fine!
[2019-04-24 03:46:52] local.INFO: Cron is working fine!
[2019-04-24 03:46:55] local.INFO: Cron is working fine!
Akhirnya Anda dapat mengelola perintah ini pada scheduling task, Anda harus menambahkan satu entri ke file crontab server Anda:
* * * * * php /path/to/artisan schedule:run 1>> /dev/null 2>&1
OR
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
Saya harap ini dapat membantu Anda ...
tutorial cron job task scheduling Laravel 8 laravel 8 laravel