Browse Source

added timeout capture

master
Evgeniy Ierusalimov 2 weeks ago
parent
commit
2897749ee3
2 changed files with 10 additions and 2 deletions
  1. 1
    1
      src/image_ocr.py
  2. 9
    1
      src/postprocess/qwen_client.py

+ 1
- 1
src/image_ocr.py View File

185
         filtered: list[Path] = []
185
         filtered: list[Path] = []
186
         for p in image_paths:
186
         for p in image_paths:
187
             if (out / (p.stem + RAW_EXTENSION)).exists():
187
             if (out / (p.stem + RAW_EXTENSION)).exists():
188
-                logger.info("Пропуск %s (уже есть .json)", p.name)
188
+                logger.info("Пропуск %s (уже есть %s)", p.name, RAW_EXTENSION)
189
                 skipped += 1
189
                 skipped += 1
190
             else:
190
             else:
191
                 filtered.append(p)
191
                 filtered.append(p)

+ 9
- 1
src/postprocess/qwen_client.py View File

54
                 API_URL,
54
                 API_URL,
55
                 headers={"x-api-key": _api_key(), "anthropic-version": "2023-06-01", "Content-Type": "application/json"},
55
                 headers={"x-api-key": _api_key(), "anthropic-version": "2023-06-01", "Content-Type": "application/json"},
56
                 json={"model": model, "max_tokens": max_tokens, "messages": messages},
56
                 json={"model": model, "max_tokens": max_tokens, "messages": messages},
57
-                timeout=120,
57
+                timeout=300,
58
             )
58
             )
59
             r.raise_for_status()
59
             r.raise_for_status()
60
             data = r.json()
60
             data = r.json()
76
                 continue
76
                 continue
77
             logger.warning("Qwen API: ошибка — %s", e)
77
             logger.warning("Qwen API: ошибка — %s", e)
78
             return None, {}
78
             return None, {}
79
+        except (requests.Timeout, requests.ConnectionError) as e:
80
+            if attempt < 3:
81
+                delay = 5 * attempt
82
+                logger.info("Qwen API: таймаут/соединение, ожидание %dс и повтор...", delay)
83
+                _time.sleep(delay)
84
+                continue
85
+            logger.warning("Qwen API: ошибка — %s", e)
86
+            return None, {}
79
         except (requests.RequestException, KeyError, IndexError) as e:
87
         except (requests.RequestException, KeyError, IndexError) as e:
80
             logger.warning("Qwen API: ошибка — %s", e)
88
             logger.warning("Qwen API: ошибка — %s", e)
81
             return None, {}
89
             return None, {}

Loading…
Cancel
Save