Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Laravel Pennant สามารถใช้กับ Laravel Horizon สำหรับการตั้งค่าสถานะแบบเรียลไทม์


Laravel Pennant สามารถใช้กับ Laravel Horizon สำหรับการตั้งค่าสถานะแบบเรียลไทม์


Laravel Pennant เป็นแพ็คเกจธงที่มีน้ำหนักเบาออกแบบมาเพื่อเปิดใช้งานการเปิดตัวที่เพิ่มขึ้นและการจัดการคุณสมบัติแอปพลิเคชันได้อย่างง่ายดาย รองรับไดรเวอร์ที่เก็บข้อมูลหลายตัวรวมถึงอาร์เรย์ในหน่วยความจำฐานข้อมูลและไดรเวอร์ที่กำหนดเองเช่น Redis [2] ในทางกลับกัน Laravel Horizon เป็นแผงควบคุมและเครื่องมือตรวจสอบสำหรับคิว Redis ของ Laravel โดยเฉพาะซึ่งให้ข้อมูลเชิงลึกแบบเรียลไทม์ในการประมวลผลคิวและสถานะงาน [1] [4]

เกี่ยวกับการใช้ Laravel Cennant กับ Laravel Horizon สำหรับการตั้งค่าสถานะแบบเรียลไทม์ไม่มีการรวมโดยตรงหรือการเชื่อมต่อในตัวระหว่างสองแพ็คเกจ Laravel Horizon มุ่งเน้นไปที่การตรวจสอบและจัดการคิวในขณะที่ชายธงจัดการกับธงและตรรกะการประเมินของพวกเขา อย่างไรก็ตามคุณสามารถสถาปนิกโซลูชันที่ใช้ประโยชน์ทั้งสอง:

- ไดรเวอร์ธงที่กำหนดเองโดยใช้ Redis: Pennant อนุญาตให้สร้างตัวขับเคลื่อนธงฟีเจอร์ที่กำหนดเองรวมถึงรถที่สามารถใช้ Redis เป็น Backend Store คุณสามารถใช้ไดรเวอร์ธงฟีเจอร์ที่ใช้ Redis สำหรับ Pennant ซึ่งสามารถจัดเก็บและอัปเดตธงฟีเจอร์ใน Redis วิธีการนี้สามารถอำนวยความสะดวกในการอัปเดตแบบเรียลไทม์และการตรวจสอบธงต่ำ [2]

- งานคิวและการตรวจสอบ Horizon: หากแอปพลิเคชันของคุณอัปเดตคุณลักษณะการตั้งค่าสถานะแบบอะซิงโครนัส (ตัวอย่างเช่นผ่านงานคิวที่ปรับเปลี่ยนธงใน Redis) Laravel Horizon สามารถตรวจสอบงานเหล่านั้นแบบเรียลไทม์ การตั้งค่านี้ช่วยให้คุณสามารถติดตามกระบวนการที่เปลี่ยนธงฟีเจอร์ แต่ไม่ได้ให้อินเทอร์เฟซการจัดการธงฟีเจอร์โดยตรง

- เหตุการณ์และตัวชี้วัด: ธงจัดส่งเหตุการณ์เมื่อมีการตรวจสอบหรือแก้ไขคุณสมบัติซึ่งคุณสามารถฟังและอาจผลักดันตัวชี้วัดหรือการแจ้งเตือนผ่านระบบเหตุการณ์ของ Laravel ในขณะที่ Horizon ไม่ได้แสดงตัวชี้วัดธงคุณสามารถสร้างแดชบอร์ดที่กำหนดเองหรือเครื่องมือตรวจสอบที่รวมเหตุการณ์เหล่านี้ควบคู่ไปกับการตรวจสอบคิวของ Horizon [2]

- ไม่มีแดชบอร์ดสำหรับธงฟีเจอร์ใน Horizon: ณ ตอนนี้ไม่มีแดชบอร์ด Horizon อย่างเป็นทางการหรือชุมชนที่สร้างขึ้นสำหรับการจัดการหรือแสดงภาพธงฟีเจอร์ Laravel Pennant การอภิปรายในชุมชนบ่งบอกถึงความสนใจในเครื่องมือดังกล่าว แต่ยังไม่มีอยู่ [3]

โดยสรุป Laravel Pennant สามารถใช้ร่วมกับ Laravel Horizon ในแอปพลิเคชัน Laravel แต่พวกเขามีจุดประสงค์ที่แตกต่างกัน Pennant Manages มีธงซึ่งอาจมีแบ็กเอนด์ Redis สำหรับการแสดงแบบเรียลไทม์ในขณะที่ Horizon ตรวจสอบ Redis คิวและงาน การตั้งค่าสถานะแบบเรียลไทม์ด้วยชายธงสามารถทำได้โดยใช้ Redis เป็นแบ็กเอนด์และใช้ประโยชน์จากระบบเหตุการณ์ของ Laravel แต่ Horizon นั้นไม่ได้ให้ความสามารถในการจัดการธงหรือการสร้างภาพข้อมูล

ดังนั้นในขณะที่คุณสามารถใช้ทั้งสองในแอปพลิเคชันเดียวกันและแม้กระทั่งให้พวกเขามีปฏิสัมพันธ์ทางอ้อมผ่าน Redis และคิว, Laravel Pennant และ Laravel Horizon ไม่ได้รวมอยู่ในกล่องสำหรับการตั้งค่าสถานะตามเวลาจริง [1] [2] [3] [4]

การอ้างอิง:
[1] https://laravel.com/docs/11.x/horizon
[2] https://laravel.com/docs/12.x/pennant
[3] https://www.reddit.com/r/laravel/comments/13htk4p/laravel_pennant_management/
[4] https://www.youtube.com/watch?v=R3C_QBVAHXA
[5] https://laravel-news.com/feature-flags-with-laravel-pennant
[6] https://www.honeybadger.io/blog/a-guide-to-feature-flags-in-laravel/
[7] https://wpwebinfotech.com/blog/laravel-pennant-guide/
[8] https://dev.to/saurabh-dhariwal/how-to-manage-feature-flags-with-laravel-pennant-in-2024-1phb