fix: close task container promptly when agent uses IPC-only messaging (#840)
Scheduled tasks that send messages via send_message (IPC) instead of returning text as result left the container idle for ~30 minutes until the hard timeout killed it (exit 137). This blocked new messages for the group during that window. Root cause: scheduleClose() was only called inside the `if (streamedOutput.result)` branch. Tasks that communicate solely through IPC (e.g. heartbeat check-ins) complete with result=null, so the 10s close timer was never set. Fix: also call scheduleClose() on status==='success', covering both result-based and IPC-only task completions. Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -191,6 +191,7 @@ async function runTask(
|
||||
}
|
||||
if (streamedOutput.status === 'success') {
|
||||
deps.queue.notifyIdle(task.chat_jid);
|
||||
scheduleClose(); // Close promptly even when result is null (e.g. IPC-only tasks)
|
||||
}
|
||||
if (streamedOutput.status === 'error') {
|
||||
error = streamedOutput.error || 'Unknown error';
|
||||
|
||||
Reference in New Issue
Block a user