Google's documentation, bunun onların bir iç hatası olduğunu ve düzeltebileceğiniz belirli bir hata olmadığını belirtmektedir. Fonksiyonları artan aralıklarla yeniden denemeye çalışan exponential backoff kullanılmasını önerirler.
Örneğin, işlev başarısız. 2 saniye bekleyin ve tekrar deneyin. Bu başarısız olursa, 4 saniye bekleyin. Daha sonra 8 saniye, 16, 32 vb. Büyük boşluklar, servisin kendisine daha fazla zaman ayırdığınız anlamına gelir. Gereksiniminize bağlı olarak, zamanı durdurmadan önce en fazla 10 dakika beklemek isteyebilirsiniz.
retrying
paketinin bunun için çok iyi bir kurulumu var. Yeniden denenmesi gereken herhangi bir işlevde from retrying import retry
ve retry
dekoratör olarak kullanabilirsiniz.
@retry(wait_exponential_multiplier=1000, wait_exponential_max=60*1000, stop_max_delay=10*60*1000)
def find_file(name, parent=''):
...
sadece fonksiyon bildirimi önce @retry
koymak gerekir dekoratör kullanmak için: İşte benim bir örnek. Sadece retry()
'u kullanabilirsiniz, ancak zamanlamanın nasıl çalıştığını ayarlamak için geçirebileceğiniz isteğe bağlı parametreler vardır. Denemeler arasında bekleme süresinin artmasını ayarlamak için wait_exponential_multiplier
kullanıyorum. wait_exponential_max
, denemeler arasında bekleyebilecek maksimum süredir. Ve stop_max_delay
, istisnayı yükseltmeden önce yeniden denemek için harcayacağı zamandır. Tüm değerleri milisaniyedir.
Bir yanıt bulduğumda yanıtı günlüğe kaydeder ve bir cevap bulduğumda yanıtlayacağım. – Rajiv
Bunun için oy verin - aynı sorun burada http://stackoverflow.com/questions/19769000/google-drive-uploading-file-size-limit –
Benim için çözüldü - önceki yorumuma bakın. Mimuzu kontrol edin ve dosyalarınızı Content-Type: applicatio/octet-stream ile yüklemeyi deneyin. GoogleDrive bazen dosya yakınsama ile başarısız olur. –