0Pricing
PHP Academy · บทเรียน

การตรวจสอบคิวด้วย 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แนวคิดคิวและไดรเวอร์
  2. การสร้างและส่งงาน
  3. การลองทำงานซ้ำ การหน่วงเวลา และการเชื่อมโยงงาน
  4. การตรวจสอบคิวด้วย Laravel Horizon
← กลับไปที่ PHP Academy