feat(translator): Feature-Flag TRANSLATOR_ENABLED zum Abschalten
Ueber die ENV-Variable TRANSLATOR_ENABLED (default true) kann der Translator-Agent komplett deaktiviert werden. Wenn false: - translate_articles steigt mit return [] aus, ohne Claude-Calls - Fremdsprachige Artikel bleiben unuebersetzt (headline_de/content_de NULL) Hintergrund: Bei Lage 6 Irankonflikt sind 10.210 Artikel ohne DE-Uebersetzung aufgelaufen. Pro Refresh werden 2042 Batches sequentiell gestreamt (~25s/Batch -> 13.5h Gesamtdauer pro Refresh), was den Pipeline-Step factcheck blockiert und die Queue lahmlegt. Bis das Performance-Thema geloest ist (Parallelisierung, Relevanz-Filter, Hard-Cap), wird der Agent live deaktiviert. Zustand spaeter ueber .env wieder aktivierbar. Live-.env wurde mit TRANSLATOR_ENABLED=false ergaenzt.
Dieser Commit ist enthalten in:
@@ -12,7 +12,7 @@ import logging
|
|||||||
import re
|
import re
|
||||||
|
|
||||||
from agents.claude_client import call_claude, ClaudeUsage, UsageAccumulator
|
from agents.claude_client import call_claude, ClaudeUsage, UsageAccumulator
|
||||||
from config import CLAUDE_MODEL_FAST
|
from config import CLAUDE_MODEL_FAST, TRANSLATOR_ENABLED
|
||||||
|
|
||||||
logger = logging.getLogger("osint.translator")
|
logger = logging.getLogger("osint.translator")
|
||||||
|
|
||||||
@@ -230,6 +230,13 @@ async def translate_articles(
|
|||||||
if not articles:
|
if not articles:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
if not TRANSLATOR_ENABLED:
|
||||||
|
logger.info(
|
||||||
|
"Translator deaktiviert (TRANSLATOR_ENABLED=false), %d Artikel uebersprungen",
|
||||||
|
len(articles),
|
||||||
|
)
|
||||||
|
return []
|
||||||
|
|
||||||
all_translations = []
|
all_translations = []
|
||||||
for i in range(0, len(articles), batch_size):
|
for i in range(0, len(articles), batch_size):
|
||||||
batch = articles[i : i + batch_size]
|
batch = articles[i : i + batch_size]
|
||||||
|
|||||||
@@ -41,6 +41,10 @@ OUTPUT_LANGUAGE = "Deutsch"
|
|||||||
# In Kundenversion auf False setzen oder Env-Variable entfernen
|
# In Kundenversion auf False setzen oder Env-Variable entfernen
|
||||||
DEV_MODE = os.environ.get("DEV_MODE", "true").lower() == "true"
|
DEV_MODE = os.environ.get("DEV_MODE", "true").lower() == "true"
|
||||||
|
|
||||||
|
# Feature-Flag: Translator-Agent (Haiku) komplett deaktivieren.
|
||||||
|
# False = keine Uebersetzungen mehr, fremdsprachige Artikel bleiben unuebersetzt.
|
||||||
|
TRANSLATOR_ENABLED = os.environ.get("TRANSLATOR_ENABLED", "true").lower() == "true"
|
||||||
|
|
||||||
# RSS-Feeds (Fallback, primär aus DB geladen)
|
# RSS-Feeds (Fallback, primär aus DB geladen)
|
||||||
RSS_FEEDS = {
|
RSS_FEEDS = {
|
||||||
"deutsch": [
|
"deutsch": [
|
||||||
|
|||||||
In neuem Issue referenzieren
Einen Benutzer sperren