Trước khi chúng tôi bắt đầu triển khai hàng đợi Laravel, trước tiên hãy hiểu tại sao chúng tôi cần hàng đợi trong ứng dụng web của mình
nội dung
Tại sao bạn cần Hàng đợi Laravel?
Khi chúng tôi xây dựng một ứng dụng web, một số tác vụ mất quá nhiều thời gian như gửi email cho người dùng mới, đọc tệp CSV, v.v. Nhưng Laravel cung cấp queued job. Công việc xếp hàng đang chạy như vậy tất cả được xử lý trong nền. Bằng cách di chuyển các tác vụ tốn nhiều thời gian vào hàng đợi, ứng dụng của bạn có thể đáp ứng các yêu cầu web với tốc độ cực nhanh và cung cấp trải nghiệm người dùng tốt hơn cho khách hàng của bạn
Các bước để triển khai hàng đợi trong Laravel 8
Hãy bắt đầu với Laravel queue. Cấu hình/hàng đợi của bạn. php cung cấp cho bạn để định cấu hình các dịch vụ hàng đợi phụ trợ của bạn, chẳng hạn như Beanstalk, Amazon SQS hoặc Redis
Bước 1. Thiết lập cấu hình hàng đợi
Hãy hiểu một hàng đợi có kết nối cơ sở dữ liệu. Cần có một bảng cơ sở dữ liệu để giữ các công việc với trình điều khiển hàng đợi cơ sở dữ liệu. Để tạo di chuyển tạo bảng này, hãy chạy lệnh Artisan bên dưới.
1
$php nghệ nhân hàng đợi. bảng
Sau khi quá trình di chuyển được tạo, hãy di chuyển cơ sở dữ liệu của bạn bằng lệnh sau
1
$php nghệ nhân di cư
Ngoài ra, hãy cập nhật biến QUEUE_CONNECTION không đồng bộ với cơ sở dữ liệu trong. tập tin env. Điều này sẽ hướng dẫn ứng dụng của bạn sử dụng trình điều khiển cơ sở dữ liệu cho hàng đợi
Bước 2. Tạo công việc
Theo mặc định, tất cả các công việc được xếp hàng đợi được lưu trữ trong thư mục ứng dụng/Việc làm. Để tạo Công việc mới, hãy chạy lệnh thủ công sau vào thiết bị đầu cuối của bạn
1
$php nghệ nhân làm. công việc NewUserWelcomeMail
Lệnh này tạo lớp App/Jobs/NewUserWelcomeMail mở rộng giao diện Illuminate\Contracts\Queue\ShouldQueue. Cho Laravel biết rằng công việc sẽ được đẩy vào hàng đợi để chạy không đồng bộ
Xem cấu trúc Lớp của NewUserWelcomeMail
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
người dùng = $user;
}
/**
* Thực hiện công việc
*
* @return vô hiệu
*/
hàm công khai xử lý[]
{
Thư. đến[$này-user->email]->send[new WelcomeMail[$this->user]];
trả lại 1;
}
}
Bước 3. Công việc xếp hàng công văn
Ở đây chúng tôi tạo bộ điều khiển người dùng để tạo người dùng. Nó sẽ giống như bên dưới
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$request->name,
"email" => $request->email
// các trường khác
]];
// gửi công việc xếp hàng của bạn
gửi[mới Thư chào mừng người dùng mới[$user]];
// trả lời phản hồi của bạn
}
}
Bước 4. Chạy công việc xếp hàng
Laravel bao gồm một lệnh Artisan sẽ bắt đầu một nhân viên xếp hàng và xử lý các công việc mới khi chúng được đẩy vào hàng đợi. Bạn có thể chạy worker bằng lệnh Artisan bên dưới.
1
$php nghệ nhân hàng đợi. công việc
Ngoài ra, bạn có thể chạy hàng đợi. nghe lệnh. Khi sử dụng hàng đợi. nghe lệnh, bạn không phải khởi động lại worker theo cách thủ công khi muốn tải lại mã đã cập nhật hoặc đặt lại trạng thái ứng dụng
1
$php nghệ nhân hàng đợi. nghe
Đó là nó. Bây giờ, thư chào mừng của bạn sẽ được gửi sau khi phản hồi được gửi tới trình duyệt. Quá trình thư hoạt động trong nền
Phần kết luận
Với sự trợ giúp của các bước trên, bạn có thể triển khai thành công Queue Jobs trong Laravel. Nếu bạn có bất kỳ nghi ngờ nào, hãy cho tôi biết qua hộp bình luận và chia sẻ hướng dẫn với những người bạn Laravel khác của bạn. Giữ liên lạc với chúng tôi để