Mein Code-Node läuft immer wieder in einen Timeout. Aber früher hat er einwandfrei funktioniert. Ich denke nicht, dass der Code sehr komplex ist.
Hier ist der Code:
const rawDate = $input.item.json.Date;
const rawTime = $input.item.json.Current_Time;
const parts = rawDate.split(‘-’);
const day = parts[0].padStart(2, ‘0’);
const monthMap = { Jan:‘01’, Feb:‘02’, Mar:‘03’, Apr:‘04’, May:‘05’, Jun:‘06’, Jul:‘07’, Aug:‘08’, Sep:‘09’, Oct:‘10’, Nov:‘11’, Dec:‘12’ };
const mm = monthMap[parts[1]];
const yyyy = 20${parts[2]};
const timeWithMs = rawTime.split(‘T’)[1];
const timePart = timeWithMs.split(‘.’)[0];
const offsetPart = timeWithMs.includes(‘+’) ? +${timeWithMs.split('+')[1]} : -${timeWithMs.split('-')[1]};
return {
…$input.item.json,
Formatted_Date: ${yyyy}-${mm}-${day}T${timePart}${offsetPart}
};
1 „Gefällt mir“
const { Date: d, Current_Time: t } = $input.item.json;
const [day, mon, yr] = d.split(‘-’);
const month = {
Jan:‘01’, Feb:‘02’, Mar:‘03’, Apr:‘04’,
May:‘05’, Jun:‘06’, Jul:‘07’, Aug:‘08’,
Sep:‘09’, Oct:‘10’, Nov:‘11’, Dec:‘12’
}[mon];
const time = t.split(‘T’)[1];
const [hms, offset] = time.split(‘.’);
return [
{
json: {
…$input.item.json,
Formatted_Date: 20${yr}-${month}-${day.padStart(2,'0')}T${hms}.${offset || ''}
}
}
];
Willkommen @Elan_Savan!
Dieser Code ist zu simpel, um das 60-Sekunden-Limit von selbst zu erreichen – Date-String-Parsing wie dieses läuft in unter 1 ms ab. Die wahrscheinlichste Ursache ist die Anzahl der Elemente, die in den Node fließen: Code-Nodes führen standardmäßig einmal pro Element aus, sodass wenn deine vorgelagerten Daten gewachsen sind (z. B. 200+ Zeilen aus einer Tabellenkalkulation), sich die Gesamtausführungszeit aufaddiert und kann das Timeout auslösen. Klicke auf den Node im Editor und überprüfe, wie viele Elemente an seinem Eingang ankommen.
Wenn die Elementanzahl normal aussieht, kann es auch ein vorübergehendes Problem mit der Cloud-Task-Runner-Kapazität sein – versuche, den Workflow aus- und wieder einzuschalten und führe ihn dann im Testmodus erneut aus, um zu sehen, ob es sich konsistent reproduzieren lässt.
1 „Gefällt mir“
Danke für die Einsicht, @nguyenthieutoan.
Du hast recht, dass der Code selbst leichtgewichtig ist und normalerweise nicht das 60-Sekunden-Ausführungslimit erreichen sollte. Das erste, das ich überprüfen würde, ist die Anzahl der Elemente, die in den Code-Knoten eingehen, da n8n den Code standardmäßig für jedes eingehende Element ausführt. Wenn die vorgelagerte Quelle Hunderte von Datensätzen zurückgibt, könnte die kumulative Ausführungszeit erheblich werden.
Ich würde auch empfehlen, folgende Punkte zu überprüfen:
• Ob der Workflow im Modus „Einmal pro Element ausführen