Asked Jul 27th, 9:39 AM 100 1 2
  • 100 1 2
+2

Xử lý đa tác vụ cùng lúc trong PHP - Laravel

Share
  • 100 1 2

Chào mọi người, em có 1 cái task nhỏ là đẩy (post) sản phẩm lên 1 trang thương mại điện tử thông qua API. Nếu thực hiện theo cách thủ công thì nó sẽ thực hiện tuần tự lần lượt từ sản phẩm 1 đến N sản phẩm. Trung bình đẩy 1 sản phẩm lên mất khoảng 5-10s tùy điều kiện. Nếu cùng thời điểm "có nhiều người up" và "số lượng sản phẩm up lớn khoảng 100" thì thời gian sẽ rất lâu. Không biết có cách nào đó để nó chạy song song với nhau thay vì phải đợi lần lượt không ạ ?. Mọi người đã từng làm, từng xử lý những task tương tự như vậy thì chỉ em với. Cảm ơn mọi người.

2 ANSWERS


Answered Jul 27th, 9:41 AM
+1

cậu thử tìm hiểu job xem có giúp ích được không

Share
Avatar Nguyễn Văn Hữu @huunguyenk12
Jul 27th, 9:45 AM

bạn có thể mô tả chi tiết hơn cho mình được không ?

0
| Reply
Share
Avatar zZzZ @khoanld98
Jul 27th, 9:53 AM

job sinh ra để giải quyết công việc mất nhiều thời gian ý cậu. các công việc đấy sẽ được chạy ẩn để tăng trải nghiệm của người dùng đấy cậu. cậu thử đọc qua nó xem ntn. https://laravel.com/docs/8.x/queues

0
| Reply
Share
Answered Jul 27th, 9:44 AM
+1

Bạn thử viết logic đẩy mỗi sản phẩm vào trong Job sau đó dispatch job đó vào queue. Và dựng nhiều các Queue Worker lên để chúng xử lý đồng thời các job trong queue. Ví dụ bạn bật 5 queue worker lên thì trong cùng 1 thời điểm ứng dụng của bạn có thể xử lý được 5 job.

Share
Avatar Nguyễn Văn Hữu @huunguyenk12
Jul 27th, 9:46 AM

Cảm ơn bạn nhé, mình sẽ tìm hiểu và áp dụng thử.

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.