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) {
|
||||
const stmt = db.prepare(`
|
||||
UPDATE task_queue
|
||||
SET assigned_turtle_id = ?, status = 'assigned', updated_at = ?
|
||||
WHERE id = ?
|
||||
`);
|
||||
stmt.run(turtleId, Date.now(), taskId);
|
||||
if (turtleId === null || turtleId === undefined) {
|
||||
// Un-assign: clear turtle and revert to pending
|
||||
const stmt = db.prepare(`
|
||||
UPDATE task_queue
|
||||
SET assigned_turtle_id = NULL, status = 'pending', updated_at = ?
|
||||
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) {
|
||||
|
||||
Reference in New Issue
Block a user