fix: 10 пунктов ревью — /run (кортеж store.add), валидация limit/offset в панели, close() соединений SQLite, троттлинг под локом, read-only бот без OMNI_BOT_OWNERS, eviction JOBS, push_new отдаёт свежие записи, ai.py не спит после последней попытки, дедуп реестра, подключён abuse-реестр (+191 источник); tests/test_regress.py 16 проверок + CI py3.10-3.12
This commit is contained in:
@@ -44,14 +44,16 @@ class Resp:
|
||||
|
||||
|
||||
def _throttle(host):
|
||||
"""Слот резервируется под локом ДО сна: иначе N потоков проходят одновременно.
|
||||
Замер до фикса: 24 вызова на хост при 0.3с == 0.9с вместо 6.9с."""
|
||||
delay = float(_cfg.get("per_host_delay", 0.6))
|
||||
with _lock:
|
||||
now = time.time()
|
||||
prev = _last.get(host, 0)
|
||||
wait = delay - (time.time() - prev)
|
||||
wait = max(0.0, delay - (now - prev))
|
||||
_last[host] = now + wait
|
||||
if wait > 0:
|
||||
time.sleep(wait)
|
||||
with _lock:
|
||||
_last[host] = time.time()
|
||||
|
||||
|
||||
def _pick_proxy():
|
||||
|
||||
Reference in New Issue
Block a user