abuse: полный пересчёт индекса только по явному вызову (env не тормозит scan)
This commit is contained in:
@@ -167,14 +167,15 @@ def _connect():
|
||||
return con
|
||||
|
||||
|
||||
def rebuild(full=False, chunk=4000):
|
||||
def rebuild(full=False, chunk=4000, auto=False):
|
||||
"""Инкрементальный индекс абузов: classify по новым items, без полного перещёлкивания.
|
||||
|
||||
full=True (или OMNI_ABUSE_REBUILD=1) — пересчитать всю базу после правки правил.
|
||||
auto=True (вызов из чтения) игнорирует env, иначе каждый scan делал бы полный проход.
|
||||
Возвращает число записей, попавших в индекс на этом проходе.
|
||||
"""
|
||||
import os
|
||||
if os.environ.get("OMNI_ABUSE_REBUILD") == "1":
|
||||
if not auto and os.environ.get("OMNI_ABUSE_REBUILD") == "1":
|
||||
full = True
|
||||
con = _connect()
|
||||
try:
|
||||
@@ -207,7 +208,7 @@ def rebuild(full=False, chunk=4000):
|
||||
def _rows(limit=400, tag=None, q=None, since_days=None):
|
||||
"""Читает из индекса abuse_idx; индекс добивается свежими записями перед чтением."""
|
||||
try:
|
||||
rebuild()
|
||||
rebuild(auto=True)
|
||||
except Exception:
|
||||
pass
|
||||
sql = ("SELECT i.id, i.source, i.url, i.title, i.text, i.published, a.tags, i.score, a.score "
|
||||
|
||||
Reference in New Issue
Block a user