Explorer
/tmp/aa037_precheck.py
← Zurück ↓ Download
import sqlite3,json,subprocess,urllib.request
from pathlib import Path
Q='/opt/struktur/obsidian-graphiti-import/obsidian_graphiti_import.db'; R='/opt/struktur/graphiti/request-data/requests.db'
print('HEALTH',urllib.request.urlopen('http://127.0.0.1:8644/health',timeout=20).read().decode())
print('PATCH_HASHES'); print(subprocess.check_output(['docker','exec','graphiti-service','sha256sum','/app/main.py','/app/llm_call_worker.py'],text=True))
print('BLOCK',Path('/opt/struktur/obsidian-graphiti-import/import_run_block.json').read_text())
q=sqlite3.connect('file:'+Q+'?mode=ro',uri=True); q.row_factory=sqlite3.Row
print('COUNTS',q.execute('select status,count(*) from files group by status').fetchall())
print('PROCESSING',q.execute("select id,status,attempts,updated_at,last_error,graphiti_episode_uuid from files where status='processing'").fetchall())
print('CANDIDATES')
for r in q.execute("select id,relative_path,status,attempts,size,last_error,last_error_phase,graphiti_episode_uuid from files where status in ('retry','failed') and id not in (11,13,31,69,166,182,184) and graphiti_episode_uuid is null order by id"):
 print(json.dumps(dict(r),ensure_ascii=False))
q.close()
r=sqlite3.connect('file:'+R+'?mode=ro',uri=True); print('ACTIVE_REQUESTS',r.execute("select count(*) from graphiti_requests where status in ('started','processing')").fetchone()[0]); print('RECENT',r.execute('select request_id,queue_id,status,http_status,started_at,completed_at from graphiti_requests order by rowid desc limit 10').fetchall()); r.close()
print('PROCESSES'); print(subprocess.check_output(['bash','-lc',"ps -eo pid,etime,args | grep -E 'importer.py|recovery|orchestrator' | grep -v grep || true"],text=True))
print('IMPORTER_BLOCK_REFS'); print(subprocess.check_output(['bash','-lc',"grep -nE 'run_block|blocked|force_id|ids' /opt/struktur/obsidian-graphiti-import/importer.py | head -80"],text=True))