Linh Fish Dev Podcast #10: Gọi nhiều API song song bằng asyncio.gather và Semaphore trong 10 phút
Tập 10: gọi nhiều API song song bằng asyncio.gather và Semaphore trong Python. Bạn sẽ nghe vì sao vòng lặp for tuần tự cộng dồn thời gian chờ — 20 request × 1 giây = 20 giây, trong khi CPU rảnh gần như toàn bộ thời gian — và vì sao asyncio.gather chạy các coroutine đồng thời trong một event loop duy nhất, trả kết quả đúng thứ tự bạn truyền vào. Giải pháp giới hạn chỉ 5 request cùng lúc bằng asyncio.Semaphore để không quá tải API đối tác: đo thực tế trên server local, 20 request × 0,3 giây giảm từ 6,19 giây xuống còn 1,41 giây. Mẹo return_exceptions=True gom lỗi gọn — một request lỗi không làm mất kết quả của cả lô. Audio tiếng Việt trong tập này là bản chính thức, phát trên mọi nền tảng podcast; bản tiếng Anh ở player phụ bên dưới, video đầy đủ trên kênh YouTube Linh Fish Dev.
Nghe bản podcast tiếng Anh của tập này (video đầy đủ trên YouTube):
Đọc bài viết đầy đủ kèm code mẫu đã kiểm chứng chạy được tại: Python: gọi nhiều API song song bằng asyncio.gather và Semaphore trong 10 phút
English version
Nghe Linh Fish Dev Podcast trên:
Spotify Apple Podcasts Amazon Music YouTube Castbox