fix(core): Report when waitTill is invalid and handle it (#8356)

This commit is contained in:
Omar Ajoue 2024-01-17 12:08:20 +00:00 committed by GitHub
parent 48a0f91c72
commit d5455d7acc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -53,6 +53,21 @@ export class WaitTracker {
for (const execution of executions) { for (const execution of executions) {
const executionId = execution.id; const executionId = execution.id;
if (this.waitingExecutions[executionId] === undefined) { if (this.waitingExecutions[executionId] === undefined) {
if (!(execution.waitTill instanceof Date)) {
// n8n expects waitTill to be a date object
// but for some reason it's not being converted
// we are handling this like this since it seems to address the issue
// for some users, as reported by Jon when using a custom image.
// Once we figure out why this it not a Date object, we can remove this.
ErrorReporter.error('Wait Till is not a date object', {
extra: {
variableType: typeof execution.waitTill,
},
});
if (typeof execution.waitTill === 'string') {
execution.waitTill = new Date(execution.waitTill);
}
}
const triggerTime = execution.waitTill!.getTime() - new Date().getTime(); const triggerTime = execution.waitTill!.getTime() - new Date().getTime();
this.waitingExecutions[executionId] = { this.waitingExecutions[executionId] = {
executionId, executionId,