fix quedued issue with repull container
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
Reference in New Issue
Block a user