Tôi không nghĩ "1 yêu cầu/giây/người dùng". như được viết trong tài liệu là chính xác 100% trong trường hợp của tôi hoặc trường hợp rút ngắn url của google. (FYI: Tôi đang sử dụng "Truy cập API công khai", không phải "OAuth")
Tôi có cùng một vấn đề nhưng, đối với tôi, có nhiều khả năng là "Tôi gặp lỗi này đối với một số URL trong một khoảng thời gian lần. " Nó có nghĩa là gì? Vui lòng tiếp tục đọc.
Đây là những gì tôi thấy:
- tôi có thể sử dụng 10 chủ đề để sử dụng google url shortener cùng một lúc, nhưng không phải lúc nào ...
- khi chế biến, thậm chí một url được thất bại trên một chủ đề, các chủ đề khác vẫn có thể nhận được các url khác.
- khi url bị lỗi và sau đó tôi đã thử lại cùng một url (ngay cả khi không có quy trình nào khác chạy, nó vẫn không hoạt động trong một số khoảng thời gian. Thậm chí, tôi đã cố thêm chuỗi khác như "& test = 1" , nó không giúp đỡ. Nhưng nếu tôi thay đổi để url khác, nó hoạt động.
vì vậy, tôi đoán rằng máy chủ của google có thể có bộ nhớ cache của từng url. Nếu url là thất bại, nó phải chờ một . trong khi để cho bộ nhớ cache phát hành
Vì vậy, tôi phải viết một số mã đáng sợ như thế này để giải quyết vấn đề của tôi:
- khi có được một thất bại, mà chủ đề cụ thể sẽ ngủ trong 1 phút (có 1 phút)
- và tiếp tục cố gắng cho 10 lần (vì vậy hoàn toàn, nó có thể là 10 phút cho một thất bại url)
Tuy nhiên, mã đáng sợ này là tốt cho trường hợp của tôi bởi vì tôi đang sử dụng ExecutorService với kích thước hồ bơi cố định-thread của 10. Vì vậy, nếu có một thất bại, những người khác vẫn có thể nhận được rút ngắn url. Nó giải quyết vấn đề ... ít nhất là đối với tôi.
Nguồn
2015-05-14 15:08:02
Bạn có đang thực hiện tất cả các yêu cầu từ cùng một số IP không? –