Cách chạy hàng đợi trong Laravel
Trong blog này, tôi sẽ giải thích Tại sao bạn cần Hàng đợi Laravel và Cách triển khai Hàng đợi Laravel từng bước với một ví dụ
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 Show
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 8Hã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 đợiHã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ệcTheo 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 <?php
không gian tên Ứng dụng\Việc làm;
sử dụng Chiếu sáng\Xe buýt\Queueable; sử dụng Chiếu sáng\Hợp đồng\Queue\ShouldBeUnique; sử dụng Chiếu sáng\Hợp đồng\Queue\ShouldQueue; sử dụng Chiếu sáng\Nền tảng\Bus\Dispatchable; sử dụng Chiếu sáng\Hàng đợi\InteractsWithQueue; sử dụng Chiếu sáng\Hàng đợi\SerializesModels; sử dụng Chiếu sáng\Hỗ trợ\Facades\Mail; sử dụng Ứng dụng\Thư\WelcomeMail;
lớp NewUserWelcomeMail triển khai ShouldQueue { sử dụng Có thể gửi đi, InteractsWithQueue, Queueable, SerializesModels;
được bảo vệ $người dùng;
/** * Tạo một thể hiện công việc mới * * @return vô hiệu */ hàm công khai __construct($user) { $này->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 <?php
không gian tên Ứng dụng\Http\Controllers;
sử dụng Ứng dụng\Việc làm\NewUserWelcomeMail; sử dụng Ứng dụng\Mô hình\User; sử dụng Chiếu sáng\Http\Request;
lớp Trình điều khiển người dùng mở rộng Trình điều khiển { chức năng công khai tạo(Request $request) { // xác thực yêu cầu của bạn
// tạo người dùng $người dùng = Người dùng::tạo([ "name"=> $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àngLaravel 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ậnVớ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 để Làm cách nào để thiết lập hàng đợi trong Laravel?Kết nối với máy chủ Ubuntu của bạn và chuyển đến dự án laravel hiện tại của bạn, sau đó chạy lệnh bên dưới để tạo các bảng cần thiết trong cơ sở dữ liệu. . hàng đợi nghệ nhân php. bàn. . nghệ nhân php di chuyển. . nghệ nhân php làm. công việc gửi thông báo. . người giám sát cài đặt apt. . cd/etc/giám sát/conf. nhân viên xếp hàng d nano. conf Laravel queue hoạt động như thế nào?Hàng đợi Laravel cung cấp một API thống nhất trên nhiều phụ trợ hàng đợi khác nhau, chẳng hạn như Beanstalk, Amazon SQS, Redis hoặc thậm chí là cơ sở dữ liệu quan hệ. Hàng đợi cho phép bạn trì hoãn việc xử lý một tác vụ tốn thời gian, chẳng hạn như gửi email, cho đến một thời điểm sau đó .
Làm cách nào để triển khai hàng đợi trong Laravel 8?Các bước để triển khai hàng đợi trong Laravel 8. . 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. . 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. . 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. . Bước 4. Chạy công việc xếp hàng Làm cách nào để sử dụng hàng đợi Redis trong Laravel?Bước 1 Cài đặt Redis. Ở bước đầu tiên, chúng tôi cài đặt Redis cho điều này, tôi sẽ cho bạn hai hướng dẫn tuyệt vời cho MacOsx và Linux. . Bước 2 Cấu hình môi trường. Trong bước này, chúng tôi sẽ cấu hình. . Bước 3 Cài đặt trình điều khiển Redis. . Bước 5 Tạo thông báo. . Bước 5 Chạy queue worker. . Bước 6 Cài đặt và định cấu hình trình giám sát |