Actualizar nodo OmniVision
Browse files
client.py
CHANGED
|
@@ -320,7 +320,7 @@ class WorkerEngine:
|
|
| 320 |
started = time.time()
|
| 321 |
received = 0
|
| 322 |
last_report = started
|
| 323 |
-
max_attempts =
|
| 324 |
|
| 325 |
# Descarga por HTTP reanudable con Range: si el stream del manager
|
| 326 |
# muere a mitad de la transferencia, se reabre la conexi贸n pidiendo
|
|
@@ -336,17 +336,17 @@ class WorkerEngine:
|
|
| 336 |
|
| 337 |
attempt += 1
|
| 338 |
headers = dict(req_headers)
|
| 339 |
-
if received > 0
|
| 340 |
headers["Range"] = f"bytes={received}-"
|
| 341 |
|
| 342 |
try:
|
| 343 |
with self.session.get(download_url, headers=headers, stream=True, timeout=120) as resp:
|
| 344 |
if resp.status_code == 416 and total_size and received >= total_size:
|
| 345 |
break # archivo ya completo
|
| 346 |
-
if resp.status_code == 200 and received > 0
|
| 347 |
# El servidor ignor贸 el Range: reescribir desde cero
|
| 348 |
f.seek(0)
|
| 349 |
-
f.truncate()
|
| 350 |
received = 0
|
| 351 |
elif resp.status_code == 206 and received > 0:
|
| 352 |
f.seek(received)
|
|
@@ -378,6 +378,7 @@ class WorkerEngine:
|
|
| 378 |
chunk = chunk[: total_size - received]
|
| 379 |
if chunk:
|
| 380 |
f.write(chunk)
|
|
|
|
| 381 |
received += len(chunk)
|
| 382 |
now = time.time()
|
| 383 |
if now - last_report >= 1 or (total_size and received >= total_size):
|
|
|
|
| 320 |
started = time.time()
|
| 321 |
received = 0
|
| 322 |
last_report = started
|
| 323 |
+
max_attempts = 20
|
| 324 |
|
| 325 |
# Descarga por HTTP reanudable con Range: si el stream del manager
|
| 326 |
# muere a mitad de la transferencia, se reabre la conexi贸n pidiendo
|
|
|
|
| 336 |
|
| 337 |
attempt += 1
|
| 338 |
headers = dict(req_headers)
|
| 339 |
+
if received > 0:
|
| 340 |
headers["Range"] = f"bytes={received}-"
|
| 341 |
|
| 342 |
try:
|
| 343 |
with self.session.get(download_url, headers=headers, stream=True, timeout=120) as resp:
|
| 344 |
if resp.status_code == 416 and total_size and received >= total_size:
|
| 345 |
break # archivo ya completo
|
| 346 |
+
if resp.status_code == 200 and received > 0:
|
| 347 |
# El servidor ignor贸 el Range: reescribir desde cero
|
| 348 |
f.seek(0)
|
| 349 |
+
f.truncate(0)
|
| 350 |
received = 0
|
| 351 |
elif resp.status_code == 206 and received > 0:
|
| 352 |
f.seek(received)
|
|
|
|
| 378 |
chunk = chunk[: total_size - received]
|
| 379 |
if chunk:
|
| 380 |
f.write(chunk)
|
| 381 |
+
f.flush()
|
| 382 |
received += len(chunk)
|
| 383 |
now = time.time()
|
| 384 |
if now - last_report >= 1 or (total_size and received >= total_size):
|