feat: auto-sync extension registry from Gitea on startup
Every time the server starts (including after deploy), it syncs the extension registry from Gitea before serving requests. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -993,8 +993,21 @@ class APIHandler(BaseHTTPRequestHandler):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# Load modules from DB; fall back to static list if DB unavailable
|
# Sync extensions from Gitea and load into DB on every startup
|
||||||
_load_modules_from_db()
|
try:
|
||||||
|
result = sync_extension_registry()
|
||||||
|
if result['status'] == 'ok':
|
||||||
|
changes = result['added'] + result['reactivated'] + result['deactivated']
|
||||||
|
if changes:
|
||||||
|
print(f"[init] Registry synced — added: {result['added']}, reactivated: {result['reactivated']}, deactivated: {result['deactivated']}")
|
||||||
|
else:
|
||||||
|
print(f"[init] Registry synced — no changes ({len(MODULES)} modules)")
|
||||||
|
else:
|
||||||
|
print(f"[init] Registry sync failed: {result.get('message', '')}")
|
||||||
|
_load_modules_from_db()
|
||||||
|
except Exception as e:
|
||||||
|
print(f"[init] Registry sync error: {e}")
|
||||||
|
_load_modules_from_db()
|
||||||
if not MODULES:
|
if not MODULES:
|
||||||
MODULES.update(_MODULES_FALLBACK)
|
MODULES.update(_MODULES_FALLBACK)
|
||||||
print(f"[init] Using static fallback: {len(MODULES)} modules")
|
print(f"[init] Using static fallback: {len(MODULES)} modules")
|
||||||
|
|||||||
Reference in New Issue
Block a user