Refactor server state and add health checks

This commit is contained in:
2026-05-24 22:24:13 +02:00
parent a78a708757
commit d49fe28f08
12 changed files with 378 additions and 104 deletions
+4 -16
View File
@@ -15,6 +15,7 @@ from telethon import TelegramClient, events
from telethon.tl.types import MessageMediaPhoto, MessageMediaDocument, MessageMediaWebPage, User, PeerChannel, Channel, Chat
from telethon.errors import FloodWaitError, SessionPasswordNeededError
import qrcode
from app_state import StateStore
warnings.filterwarnings("ignore", message="Using async sessions support is an experimental feature")
@@ -66,6 +67,7 @@ class OptimizedTelegramScraper:
self.DATA_DIR.mkdir(exist_ok=True)
self.SESSION_DIR.mkdir(exist_ok=True)
self.STATE_FILE = str(self.DATA_DIR / 'state.json')
self.state_store = StateStore(self.DATA_DIR / 'state.json')
self.state = self.load_state()
self.client = None
self.continuous_scraping_active = False
@@ -77,25 +79,11 @@ class OptimizedTelegramScraper:
self.forwarding_handler = None
def load_state(self) -> Dict[str, Any]:
if os.path.exists(self.STATE_FILE):
try:
with open(self.STATE_FILE, 'r') as f:
return json.load(f)
except:
pass
return {
'api_id': None,
'api_hash': None,
'channels': {},
'channel_names': {},
'scrape_media': True,
'forwarding_rules': [],
}
return self.state_store.load()
def save_state(self):
try:
with open(self.STATE_FILE, 'w') as f:
json.dump(self.state, f, indent=2)
self.state_store.save(self.state)
except Exception as e:
print(f"Failed to save state: {e}")