Hướng dẫn dùng dequeu trong PHP
Trong cuộc sống, bạn sẽ thường gặp phải những tình huống phải triển khai nhiều công việc đồng thời, và dân gian thường nói rằng: Việc dễ thì làm trước, khó làm sau. Show
Cài đặt connection với Queues.Trong file
Điều kiện tiên quyếtSử dụng Queues với Database.Để sử dụng Queues với Database bạn cần tạo bảng để lưu giữ
Sử dụng Queues với Redis.Cấu hình để sử dụng với Redis DB, bạn cần sửa trong
Ngoài raNgoài ra bạn cần cài thêm các package:
Tạo JobMặc định các Job trên
queue được đặt trong thư mục
Cấu trúc của class JobSau khi sử dụng Artisan CLI, bạn sẽ có 1 file như sau
Để có thể sử dụng Hàm Dispatch jobMặc
định, job có thể gọi tới hàm static
Nếu bạn cần trì hoãn việc thực hiện job trong queue, bạn có thể sử dụng hàm
Ngoài ra bạn có thể tùy chọn việc xử lý job trên Queue nào, và sử dụng DB nào bằng hàm
Tạo các worker lắng nghe việc gọi job.Để lắng nghe các job trong Queue, bạn sử dụng command :
Các tham số:
Note: Worker là một process tồn tại lâu dài, nên trong quá trình deploy, nó sẽ không tự nhận biết và thích nghi với sự thay đổi của source code, vì vậy bạn cần restart nó trong quá trình deploy, bằng lệnh:
Sử dụng Supervisor để control nhiều worker.Cách cài đặt Supervisor bạn có thể tham khảo ở đây. Trên
Số process được control bởi supervisor định nghĩa ở: numprocs=8. Khởi động Supervisor:
Tạm kếtVừa rùi mình đã giới thiệu về Queues trong Laravel được sử dụng như thế nào. Trong bài tiếp theo, mình sẽ chia sẻ ví dụ thực tế, vài problem và solution của mình. Hẹn gặp lại các bạn trong các bài viết tiếp theo. |