feat: enhance task assignment logic to support un-assigning tasks
This commit is contained in:
@@ -375,12 +375,22 @@ export function getNextTask() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function assignTask(taskId, turtleId) {
|
export function assignTask(taskId, turtleId) {
|
||||||
const stmt = db.prepare(`
|
if (turtleId === null || turtleId === undefined) {
|
||||||
UPDATE task_queue
|
// Un-assign: clear turtle and revert to pending
|
||||||
SET assigned_turtle_id = ?, status = 'assigned', updated_at = ?
|
const stmt = db.prepare(`
|
||||||
WHERE id = ?
|
UPDATE task_queue
|
||||||
`);
|
SET assigned_turtle_id = NULL, status = 'pending', updated_at = ?
|
||||||
stmt.run(turtleId, Date.now(), taskId);
|
WHERE id = ?
|
||||||
|
`);
|
||||||
|
stmt.run(Date.now(), taskId);
|
||||||
|
} else {
|
||||||
|
const stmt = db.prepare(`
|
||||||
|
UPDATE task_queue
|
||||||
|
SET assigned_turtle_id = ?, status = 'assigned', updated_at = ?
|
||||||
|
WHERE id = ?
|
||||||
|
`);
|
||||||
|
stmt.run(turtleId, Date.now(), taskId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export function updateTaskStatus(taskId, status, result = null) {
|
export function updateTaskStatus(taskId, status, result = null) {
|
||||||
|
|||||||
Reference in New Issue
Block a user