From 9b52c546e44e4472b4c78cd0f75a9b65b6581af0 Mon Sep 17 00:00:00 2001
From: Reid 'arrdem' McKenzie <me@arrdem.com>
Date: Sat, 8 Jul 2023 19:36:45 -0600
Subject: [PATCH] Fix: Make starting jobs more idempotent

---
 projects/tentacles/src/python/tentacles/sql/jobs.sql | 1 +
 projects/tentacles/src/python/tentacles/workers.py   | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/projects/tentacles/src/python/tentacles/sql/jobs.sql b/projects/tentacles/src/python/tentacles/sql/jobs.sql
index 51d5a05..4dcf0b0 100644
--- a/projects/tentacles/src/python/tentacles/sql/jobs.sql
+++ b/projects/tentacles/src/python/tentacles/sql/jobs.sql
@@ -165,6 +165,7 @@ SET
    started_at = datetime('now')
 WHERE
    id = :jid
+   AND started_at IS NULL
 ;
 
 -- name: cancel-job!
diff --git a/projects/tentacles/src/python/tentacles/workers.py b/projects/tentacles/src/python/tentacles/workers.py
index 029d1d9..eb65c55 100644
--- a/projects/tentacles/src/python/tentacles/workers.py
+++ b/projects/tentacles/src/python/tentacles/workers.py
@@ -274,7 +274,7 @@ def pull_jobs(app: App, db: Db) -> None:
                 db.finish_job(jid=job.id, state="cancelled")
 
             elif printer_state.get("printing"):
-                pass
+                db.start_job(jid=job.id)
 
             else:
                 log.warn(