ZReviewTender 1.3.1 → 1.3.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8aa61d9df145edfd0173d98b25bb14d808cbdfc245d0e98b6bbbd8a93252d40
4
- data.tar.gz: e9179552c2ee27f447dffd6bad8719e74d5d4081943a6c77e8a95f0347afbdd9
3
+ metadata.gz: 42b1c7196a1088ba1af0ea680c1fe89b41daa91be09c137f3b9ab61d1b775501
4
+ data.tar.gz: d9d29e7dca76fde9d957cbc8360726baa925f25cf232e918b045d68c8d2206e1
5
5
  SHA512:
6
- metadata.gz: 2470ca04e3802dcd49092a5faf86a606655cfe69dd9077baa05bacc07688d3ca8ddb33fd69aa97f377a46c177be7a86ad4e2cac92184e3510c1500882472785a
7
- data.tar.gz: acbb5ea1d6c87f91bdd7de77160c97c3da9e6733ccc89bee64510f9c66500e476113a1f89886e29eb9e5e42ec49b0a9aa366a8ab2cad120995a4b4887d7136b4
6
+ metadata.gz: 4181c131a12529197907e3859577169e029dfafb52d49f3d2e91e1352a4a549b331a7a0c621bf9a9243af9c51922b704ef94dd5e3b9030f05753f1a30be1820a
7
+ data.tar.gz: 5a23d413b5e4ed62d302eeecbff51d90df24b254060aca00f5542ada623a4332d3771ca068971561c51ca390be32ea4325f8c2491ac989d2cea4e717683aae25
data/.version CHANGED
@@ -1 +1 @@
1
- 1.3.1
1
+ 1.3.2
data/lib/GoogleAPI.rb CHANGED
@@ -45,14 +45,21 @@ class GoogleAPI < Processor
45
45
  result = JSON.parse(response)
46
46
 
47
47
  if !result["error"].nil?
48
- if retryCount >= 10
49
- raise "Could not connect to #{tokenURI}, key id: #{keyID}, error message: #{response}"
48
+ # Quota exceeded for quota metric 'Write requests' and limit 'Write requests per minute per user
49
+ if result["error"]["code"] == 429
50
+ puts "[GoogleAPI] Reached Rate Limited, sleep 30 secs..."
51
+ sleep(30)
52
+ return request(url, method, data, 0)
50
53
  else
51
- @token = generateJWT()
52
- message = "JWT Invalid, retry. (#{retryCount + 1})"
53
- logger.logWarn(message)
54
- puts "[GoogleAPI] #{message}"
55
- return request(url, method, data, retryCount + 1)
54
+ if retryCount >= 10
55
+ raise "Could not connect to #{tokenURI}, key id: #{keyID}, error message: #{response}"
56
+ else
57
+ @token = generateJWT()
58
+ message = "JWT Invalid, retry. (#{retryCount + 1})"
59
+ logger.logWarn(message)
60
+ puts "[GoogleAPI] #{message}"
61
+ return request(url, method, data, retryCount + 1)
62
+ end
56
63
  end
57
64
  else
58
65
  return result
@@ -73,6 +73,7 @@ class GoogleSheetProcessor < Processor
73
73
  end
74
74
  end
75
75
 
76
+ values = []
76
77
  filterReviews.each do |review|
77
78
  cols = []
78
79
  formatValues.each do |formatValue|
@@ -89,10 +90,15 @@ class GoogleSheetProcessor < Processor
89
90
 
90
91
  cols.append(formatValue)
91
92
  end
92
-
93
- puts "[GoogleSheetProcessor] insert #{cols} to #{sheetID}-#{sheetName}"
93
+ values.append(cols)
94
+ end
94
95
 
95
- googleAPI.request("https://sheets.googleapis.com/v4/spreadsheets/#{sheetID}/values/#{sheetName}:append?valueInputOption=RAW", "POST", {:values => [cols]})
96
+ page = 1
97
+ limit = 500
98
+ values.each_slice(limit) do |value|
99
+ puts "[GoogleSheetProcessor] Insert rows(#{page}/#{(values.length/limit).ceil + 1}) to #{sheetID}-#{sheetName}"
100
+ page += 1
101
+ googleAPI.request("https://sheets.googleapis.com/v4/spreadsheets/#{sheetID}/values/#{sheetName}!A1:append?valueInputOption=RAW", "POST", {:values => value})
96
102
  end
97
103
 
98
104
  return reviews
@@ -82,6 +82,7 @@ class SlackProcessor < Processor
82
82
  logger.logError(payload)
83
83
  logger.logError(result)
84
84
  if result[:message] == "ratelimited"
85
+ puts "[SlackProcessor] Reached Rate Limited, sleep 1 sec..."
85
86
  sleep(1)
86
87
  pendingPayloads.insert(0, payload)
87
88
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ZReviewTender
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
4
+ version: 1.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ZhgChgLi