Skip to content

Commit 34c302a

Browse files
committed
Use update1 in complete() method
1 parent 8430e2a commit 34c302a

1 file changed

Lines changed: 8 additions & 12 deletions

File tree

src/datajoint/jobs.py

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -374,18 +374,14 @@ def complete(self, key: dict, duration: float = None, keep: bool = None) -> None
374374

375375
if keep:
376376
# Update to success status
377-
duration_sql = f", duration={duration}" if duration is not None else ""
378-
key_conditions = " AND ".join(
379-
f"`{attr}`='{job_key[attr]}'" if isinstance(job_key[attr], str) else f"`{attr}`={job_key[attr]}"
380-
for attr in pk_attrs
381-
)
382-
sql = f"""
383-
UPDATE {self.full_table_name}
384-
SET status='success',
385-
completed_time=NOW(6){duration_sql}
386-
WHERE {key_conditions}
387-
"""
388-
self.connection.query(sql)
377+
update_row = {
378+
**job_key,
379+
"status": "success",
380+
"completed_time": datetime.now(),
381+
}
382+
if duration is not None:
383+
update_row["duration"] = duration
384+
self.update1(update_row)
389385
else:
390386
# Delete the job entry
391387
(self & job_key).delete_quick()

0 commit comments

Comments
 (0)