drop multi-node ssh execution, unify job runner to local + fix job completion atomicity

- remove nodes table, ssh service, nodes api, NodesPage route
- execute.ts: local-only spawn, atomic CAS job claim via UPDATE status
- wrap job done + subtitle_files insert + review_plans status in db transaction
- stream ffmpeg output per line with 500ms throttled flush
- bump version to 2026.04.13
This commit is contained in:
2026-04-13 07:25:19 +02:00
parent 1762f070a9
commit cdcb1ff706
12 changed files with 108 additions and 583 deletions

View File

@@ -84,7 +84,6 @@ export interface Job {
item_id: number;
command: string;
job_type: 'copy' | 'transcode';
node_id: number | null;
status: 'pending' | 'running' | 'done' | 'error';
output: string | null;
exit_code: number | null;
@@ -93,22 +92,6 @@ export interface Job {
completed_at: string | null;
}
export interface Node {
id: number;
name: string;
host: string;
port: number;
username: string;
private_key: string;
ffmpeg_path: string;
work_dir: string;
movies_path: string;
series_path: string;
status: 'unknown' | 'ok' | 'error';
last_checked_at: string | null;
created_at: string;
}
// ─── Analyzer types ───────────────────────────────────────────────────────────
export interface StreamWithDecision extends MediaStream {