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:
lastUpdated
và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
lastUpdated
cũ nhất và ngày đó không được xử lý và đặtisBeingProcessed
cờ; - 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
lastUpdated
ngày hoặc giờ bỏ đặtisBeingProcessed
cờ;
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.