2016-03-19 20 views

Trả lời

13

Mặc dù tất cả đều có thể làm việc cùng nhau, tôi thấy dễ nhất là xem Sự kiện và người nghe cùng nhau, sau đó chọn Công việc và Hàng đợi với nhau.

Sự kiện và Listeners

Sự kiện là những đối tượng mà giữ dữ liệu được "bắn", hệ thống sự kiện Laravel "bắt" đối tượng sự kiện khi nó được bắn, và sau đó tất cả các Listeners được đăng ký cho điều đó sự kiện cụ thể được chạy.

Nếu bạn nghĩ về điều này, điều này giống như cách ngoại lệ hoạt động. Bạn ném một ngoại lệ, và bạn có thể xác định một số khối catch để phản ứng tùy thuộc vào trường hợp ngoại lệ được ném. Trong trường hợp Sự kiện và Người nghe, một Sự kiện được ném và một hoặc nhiều Người nghe đại diện cho nội dung của khối catch. Mặc dù tương tự, Sự kiện và Người nghe không phải là trình xử lý lỗi, chúng chỉ có điểm tương đồng về khái niệm.

Jobs và Queues

Tôi nghĩ rằng cách tốt nhất để suy nghĩ trong số này là giống như một dòng tại một ngân hàng. Bản thân dòng này là Hàng đợi và mỗi khách hàng trong dòng là một công việc.

Để xử lý Công việc trong Hàng đợi, bạn cần quy trình dòng lệnh hoặc daemon. Hãy nghĩ đến việc khởi chạy trình nền hàng đợi trên dòng lệnh khi thêm một nhân viên ngân hàng mới vào nhóm các nhân viên ngân hàng có sẵn. Khi một daemon có sẵn, nó sẽ hỏi Hàng đợi cho Công việc tiếp theo như nhân viên ngân hàng yêu cầu người kế tiếp xếp hàng vào cửa sổ.

Mỗi người trong dòng có một nhiệm vụ cụ thể mà họ muốn hoàn thành, như gửi tiền hoặc rút tiền. Hành động mà người trong dòng cần hoàn thành là Worker ở Laravel.

Công nhân là điều mà daemon sẽ thực hiện cho Công việc được lấy từ Hàng đợi, giống như nhiệm vụ là điều mà nhân viên ngân hàng sẽ làm cho khách hàng đã tiến lên phía trước.

Hy vọng bất kỳ điều đó có ý nghĩa gì.

+0

Cảm ơn bạn. Rõ ràng hơn nhiều! –

Các vấn đề liên quan