Kelajuan laman web memberi kesan yang ketara kepada SEO dan kepuasan pengguna. Masa beban halaman perlahan sering berpunca dari blok kod sumber-berat. Penyelesaiannya? Menangguhkan tugas tidak kritikal untuk meningkatkan kelajuan keseluruhan. API barisan Laravel menyediakan cara yang diselaraskan untuk mencapai ini.
API barisan Laravel menguruskan pekerjaan yang ditambah ke barisan. Baris ini dikaitkan dengan sambungan, yang seterusnya menggunakan pemandu barisan tertentu. Mari pecahkan komponen:
Pemandu barisan
, berguna untuk ujian; null
melangkau pelaksanaan pekerjaan. null
Sekarang, mari kita bina contoh dunia nyata: menjana gambar kecil imej.
Membuat pekerjaan giliran pertama anda
Membuat Model Imej
untuk menguruskan imej yang dimuat naik: Image
php artisan make:model Image --migration
dan fail penghijrahan. Ubah suai Migrasi (Image
Pangkalan Data/Migrasi/YYYY_MM_DD_HHMMSS_CREATE_IMAGES_TABLE.PHP ) untuk memasukkan laluan imej asal:
<?php // database/migrations/YYYY_MM_DD_HHMMSS_create_images_table.php // ... $table->string('org_path'); // ... ?>
php artisan migrate
php composer.phar require intervention/image
php artisan make:job ProcessImageThumbnails
app/pekerjaan/processimagethumbnails.php dengan:
<?php // app/Jobs/ProcessImageThumbnails.php // ... public function handle() { $image = $this->image; $full_image_path = public_path($image->org_path); $resized_image_path = public_path('thumbs' . DIRECTORY_SEPARATOR . $image->org_path); $img = \Image::make($full_image_path)->resize(300, 200); $img->save($resized_image_path); } // ... ?>
mengandungi logik generasi kecil. handle
): Buat paparan ( sumber/paparan/upload_form.blade.php ) dan tambahkan laluan dalam laluan/web.php : kaedah selepas memuat naik, sahkan tambahan kerja ke jadual Pekerja giliran memproses pekerjaan beratur. Mulakannya dengan: Proses arahan ini sementara menunggu pekerjaan. Output akan menunjukkan status pemprosesan pekerjaan. Untuk pemprosesan latar belakang yang berterusan, gunakan pengurus proses seperti penyelia, sarkas, atau serupa. API barisan Laravel dengan cekap mengendalikan tugas-tugas yang berintensifkan sumber, meningkatkan pengalaman pengguna. Artikel ini memberikan pemahaman asas dan contoh pelaksanaan praktikal. Untuk pembelajaran selanjutnya, terokai sumber di Envato Market. php artisan make:model Image --migration
<?php
// database/migrations/YYYY_MM_DD_HHMMSS_create_images_table.php
// ...
$table->string('org_path');
// ...
?>
upload
mengendalikan muat naik fail, entri pangkalan data, dan menghantar pekerjaan ProcessImageThumbnails
. jobs
menggunakan pertanyaan pangkalan data. pekerja giliran
php artisan migrate
Kesimpulan
Atas ialah kandungan terperinci Menangguhkan tugas di Laravel menggunakan beratur. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!