การตรวจสอบคิวด้วย Laravel Horizon
ติดตั้ง Horizon และติดตามปริมาณงานของคิวรวมถึงงานที่ล้มเหลว
การตรวจสอบคิวด้วย Laravel Horizon เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
Horizon คืออะไร
Laravel Horizon มีแดชบอร์ดที่สวยงามและระบบกำหนดค่าสำหรับคิวที่ทำงานบน Redis พร้อมเมตริกแบบเรียลไทม์ การติดตามปริมาณงาน และการตรวจสอบงาน
การติดตั้ง Horizon
ติดตั้งผ่าน Composer และเผยแพร่ทรัพยากร
$ composer require laravel/horizon
$ php artisan horizon:install
$ php artisan migrateการเริ่ม Horizon
เริ่ม Horizon เป็นกระบวนการเดียวที่ทำงานต่อเนื่องเป็นเวลานาน (แทนที่ queue:work)
$ php artisan horizonการเข้าถึงแดชบอร์ด
แดชบอร์ด Horizon เปิดให้ใช้งานที่ /horizon โดยค่าเริ่มต้น ในระบบจริงให้ใช้เกตเพื่อจำกัดการเข้าถึงเฉพาะผู้ใช้ที่ได้รับอนุญาต
<?php
// In HorizonServiceProvider:
Horizon::auth(function ($request) {
return $request->user()?->isAdmin() ?? false;
});การกำหนดค่า horizon.php
กำหนดค่าเวิร์กเกอร์ (สภาพแวดล้อม ผู้ควบคุม ลำดับความสำคัญของคิว และจำนวนเวิร์กเกอร์) ใน config/horizon.php
// config/horizon.php
"environments" => [
"production" => [
"supervisor-1" => [
"connection" => "redis",
"queue" => ["emails", "default"],
"processes" => 10,
"balance" => "auto",
]
]
]ผู้ควบคุมและการปรับสมดุล
ผู้ควบคุมของ Horizon จัดการกลุ่มเวิร์กเกอร์ เมื่อใช้ "balance" => "auto" Horizon จะปรับขนาดจำนวนเวิร์กเกอร์โดยอัตโนมัติตามความลึกของคิว
แดชบอร์ดเมตริก
แดชบอร์ด Horizon แสดงข้อมูลต่อไปนี้: จำนวนงานต่อนาที งานที่ล้มเหลว เวลารอ งานล่าสุด และสถิติแยกตามคิว
การติดป้ายกำกับงาน
ติดป้ายกำกับงานเพื่อให้ตรวจสอบและกรองในแดชบอร์ดได้ง่ายขึ้น
<?php
public function tags(): array
{
return ["user:".$this->user->id, "email"];
}
// Then filter by tag in the Horizon dashboardงานที่ล้มเหลวใน Horizon
ดูงานที่ล้มเหลวพร้อมข้อยกเว้นและแทร็กการเรียกซ้อน คุณสามารถลองงานที่ล้มเหลวแต่ละรายการใหม่ได้โดยตรงจากแดชบอร์ดหรือผ่าน Artisan
$ php artisan horizon:forget <uuid>
$ php artisan horizon:retry-failedการทำงานในสภาพแวดล้อมโปรดักชันด้วย Supervisor
ใช้ Linux Supervisor เพื่อให้กระบวนการ Horizon ทำงานอยู่เสมอ และเริ่มกระบวนการใหม่หากกระบวนการหยุดทำงาน
[program:horizon]
command=php /srv/app/artisan horizon
autorestart=true
stdout_logfile=/var/log/horizon.logการหยุดชั่วคราวและดำเนินการต่อ
หยุด Horizon ชั่วคราวระหว่างการนำไปใช้งานเพื่อระบายคิวอย่างเรียบร้อย จากนั้นจึงดำเนินการต่อ
$ php artisan horizon:pause
$ php artisan horizon:continue
$ php artisan horizon:terminateสรุป
Horizon แทนที่ผู้ประมวลผลงานในคิวด้วยกระบวนการเดียวและแดชบอร์ดที่สวยงาม กำหนดจำนวนผู้ประมวลผลใน config/horizon.php ใช้ Supervisor ในโปรดักชันเพื่อให้ Horizon ทำงานอยู่เสมอ
ตรวจสอบอย่างรวดเร็ว
คำสั่งใดใช้เริ่มต้น Laravel Horizon
คำถามที่พบบ่อย
บทเรียน “การตรวจสอบคิวด้วย Laravel Horizon” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การตรวจสอบคิวด้วย Laravel Horizon” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การตรวจสอบคิวด้วย Laravel Horizon”
ติดตั้ง Horizon และติดตามปริมาณงานของคิวรวมถึงงานที่ล้มเหลว คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การตรวจสอบคิวด้วย Laravel Horizon” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม
ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- แนวคิดคิวและไดรเวอร์
- การสร้างและส่งงาน
- การลองทำงานซ้ำ การหน่วงเวลา และการเชื่อมโยงงาน
- การตรวจสอบคิวด้วย Laravel Horizon