Nếu bạn thực sự cần thực hiện lệnh gọi API đó cho từng người dùng theo định kỳ, tôi sẽ thiết lập nó theo cách khác:
- Thêm hai cột vào bảng của bạn:
lastUpdatedvàisBeingProcessed(hoặc cái gì đó tương tự); - Tạo một tập lệnh chạy X (1?) phút một lần bằng cách sử dụng cron;
- Trong tập lệnh của bạn, lấy các bản ghi XX (10?) với
lastUpdatedcũ nhất và ngày đó không được xử lý và đặtisBeingProcessedcờ; - Khi mỗi lệnh gọi API kết thúc, hãy cập nhật thông tin người dùng bao gồm
lastUpdatedngày hoặc giờ bỏ đặtisBeingProcessedcờ;
Tùy thuộc vào những gì máy chủ của bạn có thể xử lý và những gì API cho phép, bạn thậm chí có thể thiết lập để nhiều công việc chạy đồng thời / chồng chéo, giảm tổng thời gian cập nhật rất nhiều.