Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk menyediakan tugas berjadual dalam laravel

Bagaimana untuk menyediakan tugas berjadual dalam laravel

PHPz
PHPzasal
2023-04-19 10:08:464043semak imbas

Laravel ialah rangka kerja aplikasi web sumber terbuka berdasarkan PHP. Ia sangat memudahkan tugas pembangunan web biasa seperti penghalaan, pengurusan sesi, pengesahan dan banyak lagi. Laravel juga menyediakan alat yang dipanggil Penjadual Tugas yang membolehkan pengguna melaksanakan kod program dengan mudah pada masa tertentu. Artikel ini akan memperkenalkan penjadual tugas Laravel dan cara menyediakan tugas yang dijadualkan.

Apakah itu Penjadual Tugas Laravel

Penjadual Tugas ialah sebahagian daripada rangka kerja Laravel yang membolehkan pengguna melaksanakan kod program secara automatik pada masa yang ditetapkan. Ini boleh menjadi acara selang sekali atau berulang. Penjadual Tugasan menyediakan beberapa cara berbeza untuk mengurus tugas yang dijadualkan, menjadikannya mudah untuk digunakan dan nyahpepijat. Dalam Laravel, penjadual tugas menggunakan objek yang dipanggil "penjadual" untuk mengurus tugas yang dijadualkan.

Penjadual Tugas dalam Laravel

Penjadual tugasan Laravel menggunakan tiga komponen utama berikut:

Penjadual

Penjadual ialah penjadual tugas Komponen teras. Ia adalah objek yang bertanggungjawab untuk menjadualkan dan mengurus tugas yang dirancang. Penjadual menyediakan cara mudah untuk menetapkan tugasan kepada jadual dan tempoh. Sebaik sahaja tugasan diberikan, penjadual bertanggungjawab untuk memastikan ia dilaksanakan pada masa yang ditetapkan. Penjadual menyokong pelbagai jenis tugas, termasuk arahan, penutupan dan panggilan kaedah.

Jadual

Jadual ialah objek yang digunakan untuk menentukan masa pelaksanaan tugas yang dijadualkan. Jadual waktu menyediakan cara intuitif untuk menentukan bila tugas harus dilakukan. Penjadual boleh menetapkan tugas kepada jadual tertentu untuk memastikan tugasan dilaksanakan dalam masa yang dijadualkan.

Pendengar

Pendengar ialah objek yang bertanggungjawab untuk merekodkan hasil pelaksanaan tugas yang dijadualkan. Jika tugas tidak normal atau tidak dilaksanakan seperti yang dirancang, pendengar akan merekodkan peristiwa yang berkaitan. Ini membantu pengguna menentukan masa tugasan harus diubah suai atau tetapan lain dilaraskan.

Cara menyediakan tugas berjadual Laravel

Untuk menyediakan tugas berjadual dalam Laravel, anda perlu melengkapkan langkah berikut:

Langkah 1: Buat pengawal dan arahan

Pertama, Anda perlu mencipta pengawal dan arahan yang akan melakukan kerja sebenar. Dalam contoh ini, kami akan mencipta pengawal "TaskController" dan memberikan arahan "TaskCommand" kepadanya.

php artisan make:controller TaskController
php artisan make:command TaskCommand

Langkah 2: Edit arahan

Buka fail TaskCommand.php dan kemas kini kaedah "fire" supaya tugasan sebenar dilaksanakan. Dalam contoh ini, kami menyediakan tugas untuk menulis cap masa semasa pada fail.

public function fire()
{
    file_put_contents(storage_path().'/task.log', time(). "\n", FILE_APPEND);
}

Langkah 3: Buat Tugasan Penjadual

Buka fail app/Console/Kernel.php dan tambahkan tugasan baharu. Dalam contoh ini, kami menetapkan tugas untuk melaksanakan setiap minit.

protected function schedule(Schedule $schedule)
{
    $schedule->command('task')->everyMinute();
}

Langkah 4: Jalankan tugas

Akhir sekali, anda boleh menjalankan penjadual tugas menggunakan arahan berikut:

php artisan schedule:run

Arahan ini akan mengimbas tugas Laravel penjadual dan melaksanakan Tugasan yang perlu dilaksanakan.

Kesimpulan

Dengan menggunakan penjadual tugas Laravel, anda boleh melaksanakan tugas berulang dengan mudah secara tetap. Laravel menyediakan penjadual tugas yang berkuasa yang menjadikan penyediaan dan pengurusan tugas yang dijadualkan sangat mudah. Jika anda perlu mengautomasikan tugasan, Penjadual Tugas Laravel mungkin pilihan terbaik anda.

Atas ialah kandungan terperinci Bagaimana untuk menyediakan tugas berjadual dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn