Переглянути джерело

Added retry in case of random gdrive 500 error

luis 7 роки тому
батько
коміт
851d31e113
4 змінених файлів з 6 додано та 13 видалено
  1. 3 11
      internal/fs/gdrivefs/gdrivefs.go
  2. 2 1
      main.go
  3. BIN
      test/cloudmount
  4. 1 1
      version.go

+ 3 - 11
internal/fs/gdrivefs/gdrivefs.go

@@ -131,7 +131,9 @@ func (fs *GDriveFS) Refresh() {
 		Fields(gdFields).
 		Do()
 	if err != nil {
+		// Sometimes gdrive returns error 500 randomly
 		log.Println("GDrive ERR:", err)
+		fs.Refresh() // retry
 		return
 	}
 	fileList = append(fileList, r.Files...)
@@ -145,23 +147,13 @@ func (fs *GDriveFS) Refresh() {
 			Do()
 		if err != nil {
 			log.Println("GDrive ERR:", err)
+			fs.Refresh() // retry // Same as above
 			return
 		}
 		fileList = append(fileList, r.Files...)
 	}
 	log.Println("Total entries:", len(fileList))
 
-	// TimeSort
-	/*log.Println("Sort by time")
-	sort.Slice(fileList, func(i, j int) bool {
-		createdTimeI, _ := time.Parse(time.RFC3339, fileList[i].CreatedTime)
-		createdTimeJ, _ := time.Parse(time.RFC3339, fileList[i].CreatedTime)
-		if createdTimeI.Before(createdTimeJ) {
-			return true
-		}
-		return false
-	})*/
-
 	// Cache ID for faster retrieval, might not be necessary
 	for _, f := range fileList {
 		fileMap[f.Id] = f

+ 2 - 1
main.go

@@ -27,8 +27,9 @@ func main() {
 
 	// getClient
 	log.Printf("%s-%s\n", Name, Version)
-
 	core := core.New()
+
+	// More will be added later
 	core.Drivers["gdrive"] = gdrivefs.New
 
 	if err := parseFlags(&core.Config); err != nil {

BIN
test/cloudmount


+ 1 - 1
version.go

@@ -2,5 +2,5 @@ package main
 
 const (
   //Version contains version of the package
-  Version = "0.2 - built: 2017-07-10 19:32:33 UTC"
+  Version = "0.2-2-g4eba960 - built: 2017-07-10 20:23:51 UTC"
 )