fix quedued issue with repull container

This commit is contained in:
southseact-3d
2026-02-08 17:43:00 +00:00
parent 1e0168b301
commit eb7aa29c0c

View File

@@ -5382,11 +5382,13 @@ async function restoreInterruptedSessions() {
if (!session.restoredAfterRestart) continue; if (!session.restoredAfterRestart) continue;
let hasQueuedMessages = false; let hasQueuedMessages = false;
const messagesToProcess = [];
if (Array.isArray(session.messages)) { if (Array.isArray(session.messages)) {
for (const msg of session.messages) { for (const msg of session.messages) {
if (msg.status === 'queued' && msg.retryAfterRestart) { if (msg.status === 'queued' && msg.retryAfterRestart) {
hasQueuedMessages = true; hasQueuedMessages = true;
messageCount++; messageCount++;
messagesToProcess.push(msg);
log('Restoring message after restart', { log('Restoring message after restart', {
sessionId: session.id, sessionId: session.id,
messageId: msg.id, messageId: msg.id,
@@ -5394,6 +5396,17 @@ async function restoreInterruptedSessions() {
}); });
} }
} }
if (messagesToProcess.length > 0) {
let prev = Promise.resolve();
for (const msg of messagesToProcess) {
prev = prev.then(async () => {
delete msg.retryAfterRestart;
await processMessage(session.id, msg);
});
}
await prev;
}
} }
if (hasQueuedMessages) { if (hasQueuedMessages) {