st3v3x commited on
Commit
f90af03
路
verified 路
1 Parent(s): 319df2d

Actualizar nodo OmniVision

Browse files
Files changed (1) hide show
  1. client.py +5 -4
client.py CHANGED
@@ -320,7 +320,7 @@ class WorkerEngine:
320
  started = time.time()
321
  received = 0
322
  last_report = started
323
- max_attempts = 8
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 and total_size:
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 and total_size:
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):