Jika Anda benar-benar perlu melakukan panggilan API untuk setiap pengguna secara berkala, saya akan menyiapkannya secara berbeda:
- Tambahkan dua kolom ke tabel Anda:
lastUpdated
danisBeingProcessed
(atau yang serupa); - Buat skrip yang berjalan setiap X (1?) menit menggunakan cron;
- Dalam skrip Anda, dapatkan catatan XX (10?) dengan
lastUpdated
terlama tanggal dan yang tidak diproses dan aturisBeingProcessed
bendera; - Saat setiap panggilan API selesai, perbarui informasi pengguna termasuk
lastUpdated
tanggal atau waktu unsetisBeingProcessed
bendera;
Bergantung pada apa yang dapat ditangani server Anda dan apa yang diizinkan oleh API, Anda bahkan dapat mengaturnya agar beberapa pekerjaan berjalan secara bersamaan/tumpang tindih, sehingga mengurangi total waktu untuk memperbarui banyak.