pindo 4.8.0 → 4.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/pindo/client/pgyeruploadclient.rb +20 -25
- data/lib/pindo/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cff4bb49b837340114cc7cb33a2a6d2cbbb91ac74e97a2485d803887fdc2713
|
4
|
+
data.tar.gz: 8b4390944c7a344643014534b9167f01ace020bf4fac8ff3ac485da4c4ae7506
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8dbc329c5d290c7abbcf75dee882a07ea7187187ba38287271fa485c21d75fd22fcd8267a362d38e49e4bb87813ab6b0d56c53c67dae1e49f570de0ad6c68739
|
7
|
+
data.tar.gz: 2263c2090f3377f75241d8b9a0adfb8db568acce03393f01eae36e0413ca1303cd4cde8ba6c5ebb2b70c9d4b2b47d28095e18516e7d236e262a8a6bf38e6f52f
|
@@ -99,7 +99,8 @@ module Pindo
|
|
99
99
|
puts "文件路径: #{@upload_binary_file}"
|
100
100
|
puts "文件大小: #{total_m}M"
|
101
101
|
puts "上传路径: #{upload_path_key}"
|
102
|
-
puts
|
102
|
+
puts
|
103
|
+
puts "切片大小: 5MB"
|
103
104
|
|
104
105
|
upload_result = nil
|
105
106
|
|
@@ -108,7 +109,8 @@ module Pindo
|
|
108
109
|
|
109
110
|
upload_id= result_data["data"]["uploadId"]
|
110
111
|
@upload_params_list = result_data["data"]["uploadParamsList"]
|
111
|
-
task_num = @upload_params_list.length
|
112
|
+
task_num = @upload_params_list.length
|
113
|
+
retry_count = 5
|
112
114
|
if task_num < 2
|
113
115
|
task_num = 2
|
114
116
|
end
|
@@ -116,8 +118,9 @@ module Pindo
|
|
116
118
|
if task_num > 100
|
117
119
|
task_num = 100
|
118
120
|
end
|
119
|
-
|
120
|
-
puts "
|
121
|
+
|
122
|
+
puts "线程个数: #{task_num}"
|
123
|
+
puts "重试次数: #{retry_count}"
|
121
124
|
puts
|
122
125
|
|
123
126
|
Funlog.instance.fancyinfo_start("开始上传...")
|
@@ -126,7 +129,7 @@ module Pindo
|
|
126
129
|
# single_task_upload_data_req( )
|
127
130
|
|
128
131
|
|
129
|
-
multi_task_upload_data_req(task_num:task_num)
|
132
|
+
multi_task_upload_data_req(task_num:task_num, retry_count:retry_count)
|
130
133
|
|
131
134
|
result_data = post_upload_finish_req(upload_path_key:upload_path_key, upload_id:upload_id, eTags:@upload_eTags)
|
132
135
|
|
@@ -143,11 +146,10 @@ module Pindo
|
|
143
146
|
end
|
144
147
|
|
145
148
|
|
146
|
-
def multi_task_upload_data_req(task_num:1)
|
147
|
-
|
149
|
+
def multi_task_upload_data_req(task_num:1, retry_count: 3)
|
148
150
|
|
149
151
|
for i in 0..@upload_params_list.length-1 do
|
150
|
-
@upload_params_list[i]["retryCount"] =
|
152
|
+
@upload_params_list[i]["retryCount"] = retry_count
|
151
153
|
end
|
152
154
|
|
153
155
|
while @upload_params_list.size > 0
|
@@ -201,7 +203,6 @@ module Pindo
|
|
201
203
|
put_data = file.read(read_length)
|
202
204
|
|
203
205
|
request = create_req(upload_url:upload_url, body_data:put_data, read_length:read_length)
|
204
|
-
|
205
206
|
request.on_progress do |dltotal, dlnow, ultotal, ulnow|
|
206
207
|
if ulnow
|
207
208
|
@progress_bar.update_upload_index(upload_part:part_no, upload_size:ulnow)
|
@@ -209,8 +210,6 @@ module Pindo
|
|
209
210
|
end
|
210
211
|
end
|
211
212
|
|
212
|
-
eTag_item = nil
|
213
|
-
|
214
213
|
request.on_complete do |response|
|
215
214
|
if response.success?
|
216
215
|
@progress_bar.complete_upload_index(upload_part:part_no, complete_size:read_length)
|
@@ -221,7 +220,8 @@ module Pindo
|
|
221
220
|
@progress_bar.delete_upload_index(upload_part:part_no)
|
222
221
|
upload_params_item["retryCount"] = upload_params_item["retryCount"] - 1
|
223
222
|
if upload_params_item["retryCount"] > 0
|
224
|
-
@upload_params_list.push(upload_params_item)
|
223
|
+
# @upload_params_list.push(upload_params_item)
|
224
|
+
single_task_upload_part_data_req(upload_params_item:upload_params_item, hydra_handle:hydra_handle)
|
225
225
|
else
|
226
226
|
Funlog.instance.fancyinfo_error("文件#{@upload_binary_file} 上传失败! 😭😭😭")
|
227
227
|
raise Informative, "上传文件失败"
|
@@ -234,9 +234,6 @@ module Pindo
|
|
234
234
|
else
|
235
235
|
hydra_handle.queue(request)
|
236
236
|
end
|
237
|
-
|
238
|
-
return eTag_item
|
239
|
-
|
240
237
|
end
|
241
238
|
|
242
239
|
def create_req(upload_url:nil, body_data:nil, read_length:nil)
|
@@ -341,6 +338,7 @@ module Pindo
|
|
341
338
|
attr_accessor :upload_total_size
|
342
339
|
attr_accessor :last_update_time
|
343
340
|
attr_accessor :update_ing_size
|
341
|
+
attr_accessor :is_done
|
344
342
|
|
345
343
|
def initialize(upload_total_size:nil, draw_char:'>')
|
346
344
|
|
@@ -351,6 +349,8 @@ module Pindo
|
|
351
349
|
|
352
350
|
@complete_size = 0
|
353
351
|
@update_ing_size = {}
|
352
|
+
|
353
|
+
@is_done = false
|
354
354
|
end
|
355
355
|
|
356
356
|
def update_upload_index(upload_part:nil, upload_size:nil)
|
@@ -373,7 +373,7 @@ module Pindo
|
|
373
373
|
total_num = @upload_total_size
|
374
374
|
index_num = @complete_size
|
375
375
|
@update_ing_size.each do |key, value|
|
376
|
-
|
376
|
+
index_num = index_num + value
|
377
377
|
end
|
378
378
|
|
379
379
|
progress_str = sprintf("%.2f", 100.0 * index_num / total_num )
|
@@ -382,19 +382,14 @@ module Pindo
|
|
382
382
|
index = 40.0 * index_num / total_num
|
383
383
|
upload_message = "已上传:#{upload_size}MB|#{progress_str}\%【" + (@draw_char * (index/1).floor).ljust(40.0, '_') + "】Total:#{total_size}MB"
|
384
384
|
Funlog.instance.fancyinfo_update(upload_message)
|
385
|
+
if index_num == total_num && !@is_done
|
386
|
+
@is_done = true
|
387
|
+
Funlog.instance.fancyinfo_success(upload_message)
|
388
|
+
end
|
385
389
|
end
|
386
390
|
end
|
387
391
|
|
388
392
|
end
|
389
393
|
|
390
|
-
# def set_progress(index_num, total_num, char ='>' )
|
391
|
-
# progress_str = sprintf("%.2f", 100.0 * index_num / total_num )
|
392
|
-
# total_size = sprintf("%.2f", 1.00 * total_num / 1024 /1024 )
|
393
|
-
# upload_size = sprintf("%.2f", 1.00 * index_num / 1024 /1024 )
|
394
|
-
# index = 40.0 * index_num / total_num
|
395
|
-
# upload_message = "已上传:#{upload_size}MB|#{progress_str}\%【" + (char * (index/1).floor).ljust(40.0, '_') + "】Total:#{total_size}MB"
|
396
|
-
# Funlog.instance.fancyinfo_update(upload_message)
|
397
|
-
# end
|
398
|
-
|
399
394
|
end
|
400
395
|
end
|
data/lib/pindo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pindo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.8.
|
4
|
+
version: 4.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- wade
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-05-
|
11
|
+
date: 2024-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: claide
|