n8n 1.67.1 → 1.69.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/auth/auth.service.js +2 -0
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/commands/start.js +1 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/worker.js +4 -1
- package/dist/commands/worker.js.map +1 -1
- package/dist/config/index.d.ts +0 -11
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/schema.d.ts +0 -36
- package/dist/config/schema.js +0 -36
- package/dist/config/schema.js.map +1 -1
- package/dist/constants.d.ts +1 -6
- package/dist/constants.js +4 -9
- package/dist/constants.js.map +1 -1
- package/dist/controllers/oauth/abstract-oauth.controller.d.ts +13 -6
- package/dist/controllers/oauth/abstract-oauth.controller.js +29 -5
- package/dist/controllers/oauth/abstract-oauth.controller.js.map +1 -1
- package/dist/controllers/oauth/oauth1-credential.controller.js +13 -47
- package/dist/controllers/oauth/oauth1-credential.controller.js.map +1 -1
- package/dist/controllers/oauth/oauth2-credential.controller.js +5 -31
- package/dist/controllers/oauth/oauth2-credential.controller.js.map +1 -1
- package/dist/databases/entities/execution-entity.js.map +1 -1
- package/dist/databases/entities/index.d.ts +1 -1
- package/dist/databases/entities/index.js +2 -2
- package/dist/databases/entities/index.js.map +1 -1
- package/dist/databases/entities/{test-definition.d.ts → test-definition.ee.d.ts} +4 -3
- package/dist/databases/entities/{test-definition.js → test-definition.ee.js} +14 -9
- package/dist/databases/entities/test-definition.ee.js.map +1 -0
- package/dist/databases/migrations/common/1731404028106-AddDescriptionToTestDefinition.d.ts +5 -0
- package/dist/databases/migrations/common/1731404028106-AddDescriptionToTestDefinition.js +13 -0
- package/dist/databases/migrations/common/1731404028106-AddDescriptionToTestDefinition.js.map +1 -0
- package/dist/databases/migrations/mysqldb/1690000000001-MigrateIntegerKeysToString.js +6 -5
- package/dist/databases/migrations/mysqldb/1690000000001-MigrateIntegerKeysToString.js.map +1 -1
- package/dist/databases/migrations/mysqldb/1731582748663-MigrateTestDefinitionKeyToString.d.ts +4 -0
- package/dist/databases/migrations/mysqldb/1731582748663-MigrateTestDefinitionKeyToString.js +14 -0
- package/dist/databases/migrations/mysqldb/1731582748663-MigrateTestDefinitionKeyToString.js.map +1 -0
- package/dist/databases/migrations/mysqldb/index.js +4 -0
- package/dist/databases/migrations/mysqldb/index.js.map +1 -1
- package/dist/databases/migrations/postgresdb/1731582748663-MigrateTestDefinitionKeyToString.d.ts +4 -0
- package/dist/databases/migrations/postgresdb/1731582748663-MigrateTestDefinitionKeyToString.js +20 -0
- package/dist/databases/migrations/postgresdb/1731582748663-MigrateTestDefinitionKeyToString.js.map +1 -0
- package/dist/databases/migrations/postgresdb/index.js +4 -0
- package/dist/databases/migrations/postgresdb/index.js.map +1 -1
- package/dist/databases/migrations/sqlite/1731404028106-AddDescriptionToTestDefinition.d.ts +4 -0
- package/dist/databases/migrations/sqlite/1731404028106-AddDescriptionToTestDefinition.js +12 -0
- package/dist/databases/migrations/sqlite/1731404028106-AddDescriptionToTestDefinition.js.map +1 -0
- package/dist/databases/migrations/sqlite/1731582748663-MigrateTestDefinitionKeyToString.d.ts +5 -0
- package/dist/databases/migrations/sqlite/1731582748663-MigrateTestDefinitionKeyToString.js +20 -0
- package/dist/databases/migrations/sqlite/1731582748663-MigrateTestDefinitionKeyToString.js.map +1 -0
- package/dist/databases/migrations/sqlite/index.js +4 -0
- package/dist/databases/migrations/sqlite/index.js.map +1 -1
- package/dist/databases/repositories/execution.repository.js +5 -5
- package/dist/databases/repositories/execution.repository.js.map +1 -1
- package/dist/databases/repositories/license-metrics.repository.js +2 -8
- package/dist/databases/repositories/license-metrics.repository.js.map +1 -1
- package/dist/databases/repositories/test-definition.repository.ee.d.ts +17 -0
- package/dist/databases/repositories/test-definition.repository.ee.js +66 -0
- package/dist/databases/repositories/test-definition.repository.ee.js.map +1 -0
- package/dist/evaluation/test-definition.schema.d.ts +36 -0
- package/dist/evaluation/test-definition.schema.js +22 -0
- package/dist/evaluation/test-definition.schema.js.map +1 -0
- package/dist/evaluation/test-definition.service.ee.d.ts +42 -0
- package/dist/evaluation/test-definition.service.ee.js +99 -0
- package/dist/evaluation/test-definition.service.ee.js.map +1 -0
- package/dist/evaluation/test-definitions.controller.ee.d.ts +22 -0
- package/dist/evaluation/test-definitions.controller.ee.js +123 -0
- package/dist/evaluation/test-definitions.controller.ee.js.map +1 -0
- package/dist/evaluation/test-definitions.types.ee.d.ts +25 -0
- package/dist/evaluation/test-definitions.types.ee.js +3 -0
- package/dist/evaluation/test-definitions.types.ee.js.map +1 -0
- package/dist/events/relays/telemetry.event-relay.js +3 -3
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/execution-lifecycle-hooks/save-execution-progress.js +1 -1
- package/dist/execution-lifecycle-hooks/save-execution-progress.js.map +1 -1
- package/dist/execution-lifecycle-hooks/to-save-settings.d.ts +2 -2
- package/dist/execution-lifecycle-hooks/to-save-settings.js +7 -12
- package/dist/execution-lifecycle-hooks/to-save-settings.js.map +1 -1
- package/dist/generic-helpers.d.ts +1 -1
- package/dist/interfaces.d.ts +1 -7
- package/dist/interfaces.js.map +1 -1
- package/dist/load-nodes-and-credentials.js +9 -1
- package/dist/load-nodes-and-credentials.js.map +1 -1
- package/dist/posthog/index.js +3 -7
- package/dist/posthog/index.js.map +1 -1
- package/dist/requests.d.ts +2 -2
- package/dist/response-helper.js +5 -0
- package/dist/response-helper.js.map +1 -1
- package/dist/runners/default-task-runner-disconnect-analyzer.d.ts +2 -3
- package/dist/runners/default-task-runner-disconnect-analyzer.js +11 -2
- package/dist/runners/default-task-runner-disconnect-analyzer.js.map +1 -1
- package/dist/runners/errors/missing-auth-token.error.d.ts +3 -0
- package/dist/runners/errors/missing-auth-token.error.js +10 -0
- package/dist/runners/errors/missing-auth-token.error.js.map +1 -0
- package/dist/runners/errors/task-runner-failed-heartbeat.error.d.ts +5 -0
- package/dist/runners/errors/task-runner-failed-heartbeat.error.js +25 -0
- package/dist/runners/errors/task-runner-failed-heartbeat.error.js.map +1 -0
- package/dist/runners/errors/task-runner-oom-error.d.ts +1 -0
- package/dist/runners/errors/task-runner-oom-error.js +6 -5
- package/dist/runners/errors/task-runner-oom-error.js.map +1 -1
- package/dist/runners/errors/task-runner-timeout.error.d.ts +5 -0
- package/dist/runners/errors/task-runner-timeout.error.js +25 -0
- package/dist/runners/errors/task-runner-timeout.error.js.map +1 -0
- package/dist/runners/errors.d.ts +3 -0
- package/dist/runners/errors.js +7 -1
- package/dist/runners/errors.js.map +1 -1
- package/dist/runners/internal-task-runner-disconnect-analyzer.d.ts +2 -2
- package/dist/runners/internal-task-runner-disconnect-analyzer.js +3 -3
- package/dist/runners/internal-task-runner-disconnect-analyzer.js.map +1 -1
- package/dist/runners/runner-lifecycle-events.d.ts +8 -0
- package/dist/runners/runner-lifecycle-events.js +18 -0
- package/dist/runners/runner-lifecycle-events.js.map +1 -0
- package/dist/runners/runner-types.d.ts +7 -7
- package/dist/runners/runner-ws-server.d.ts +22 -3
- package/dist/runners/runner-ws-server.js +58 -6
- package/dist/runners/runner-ws-server.js.map +1 -1
- package/dist/runners/task-broker.service.d.ts +10 -3
- package/dist/runners/task-broker.service.js +56 -8
- package/dist/runners/task-broker.service.js.map +1 -1
- package/dist/runners/task-managers/data-request-response-builder.d.ts +3 -15
- package/dist/runners/task-managers/data-request-response-builder.js +30 -110
- package/dist/runners/task-managers/data-request-response-builder.js.map +1 -1
- package/dist/runners/task-managers/data-request-response-stripper.d.ts +15 -0
- package/dist/runners/task-managers/data-request-response-stripper.js +85 -0
- package/dist/runners/task-managers/data-request-response-stripper.js.map +1 -0
- package/dist/runners/task-managers/task-manager.d.ts +2 -0
- package/dist/runners/task-managers/task-manager.js +37 -4
- package/dist/runners/task-managers/task-manager.js.map +1 -1
- package/dist/runners/task-runner-module.js +26 -11
- package/dist/runners/task-runner-module.js.map +1 -1
- package/dist/runners/task-runner-process.d.ts +4 -4
- package/dist/runners/task-runner-process.js +27 -41
- package/dist/runners/task-runner-process.js.map +1 -1
- package/dist/runners/task-runner-server.d.ts +2 -2
- package/dist/runners/task-runner-server.js +16 -16
- package/dist/runners/task-runner-server.js.map +1 -1
- package/dist/scaling/multi-main-setup.ee.js +1 -1
- package/dist/scaling/multi-main-setup.ee.js.map +1 -1
- package/dist/security-audit/risk-reporters/instance-risk-reporter.js +1 -1
- package/dist/security-audit/risk-reporters/instance-risk-reporter.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/services/cache/cache.service.js +1 -1
- package/dist/services/cache/cache.service.js.map +1 -1
- package/dist/services/community-packages.service.js +1 -0
- package/dist/services/community-packages.service.js.map +1 -1
- package/dist/services/frontend.service.js +10 -9
- package/dist/services/frontend.service.js.map +1 -1
- package/dist/services/ownership.service.js +1 -3
- package/dist/services/ownership.service.js.map +1 -1
- package/dist/services/pruning/pruning.service.d.ts +3 -3
- package/dist/services/pruning/pruning.service.js +6 -6
- package/dist/services/pruning/pruning.service.js.map +1 -1
- package/dist/sso/saml/errors/invalid-saml-metadata.error.d.ts +4 -0
- package/dist/sso/saml/errors/invalid-saml-metadata.error.js +11 -0
- package/dist/sso/saml/errors/invalid-saml-metadata.error.js.map +1 -0
- package/dist/sso/saml/saml-validator.js +18 -49
- package/dist/sso/saml/saml-validator.js.map +1 -1
- package/dist/sso/saml/saml.service.ee.d.ts +1 -0
- package/dist/sso/saml/saml.service.ee.js +22 -6
- package/dist/sso/saml/saml.service.ee.js.map +1 -1
- package/dist/sso/saml/schema/metadata-exchange.xsd.d.ts +2 -0
- package/dist/sso/saml/schema/metadata-exchange.xsd.js +119 -0
- package/dist/sso/saml/schema/metadata-exchange.xsd.js.map +1 -0
- package/dist/sso/saml/schema/oasis-200401-wss-wssecurity-secext-1.0.xsd.d.ts +2 -0
- package/dist/sso/saml/schema/oasis-200401-wss-wssecurity-secext-1.0.xsd.js +202 -0
- package/dist/sso/saml/schema/oasis-200401-wss-wssecurity-secext-1.0.xsd.js.map +1 -0
- package/dist/sso/saml/schema/oasis-200401-wss-wssecurity-utility-1.0.xsd.d.ts +2 -0
- package/dist/sso/saml/schema/oasis-200401-wss-wssecurity-utility-1.0.xsd.js +115 -0
- package/dist/sso/saml/schema/oasis-200401-wss-wssecurity-utility-1.0.xsd.js.map +1 -0
- package/dist/sso/saml/schema/saml-schema-assertion-2.0.xsd.d.ts +2 -1
- package/dist/sso/saml/schema/saml-schema-assertion-2.0.xsd.js +6 -3
- package/dist/sso/saml/schema/saml-schema-assertion-2.0.xsd.js.map +1 -1
- package/dist/sso/saml/schema/saml-schema-metadata-2.0.xsd.d.ts +2 -1
- package/dist/sso/saml/schema/saml-schema-metadata-2.0.xsd.js +8 -3
- package/dist/sso/saml/schema/saml-schema-metadata-2.0.xsd.js.map +1 -1
- package/dist/sso/saml/schema/saml-schema-protocol-2.0.xsd.d.ts +2 -1
- package/dist/sso/saml/schema/saml-schema-protocol-2.0.xsd.js +6 -3
- package/dist/sso/saml/schema/saml-schema-protocol-2.0.xsd.js.map +1 -1
- package/dist/sso/saml/schema/ws-addr.xsd.d.ts +2 -0
- package/dist/sso/saml/schema/ws-addr.xsd.js +144 -0
- package/dist/sso/saml/schema/ws-addr.xsd.js.map +1 -0
- package/dist/sso/saml/schema/ws-authorization.xsd.d.ts +2 -0
- package/dist/sso/saml/schema/ws-authorization.xsd.js +152 -0
- package/dist/sso/saml/schema/ws-authorization.xsd.js.map +1 -0
- package/dist/sso/saml/schema/ws-federation.xsd.d.ts +2 -0
- package/dist/sso/saml/schema/ws-federation.xsd.js +477 -0
- package/dist/sso/saml/schema/ws-federation.xsd.js.map +1 -0
- package/dist/sso/saml/schema/ws-securitypolicy-1.2.xsd.d.ts +2 -0
- package/dist/sso/saml/schema/ws-securitypolicy-1.2.xsd.js +1212 -0
- package/dist/sso/saml/schema/ws-securitypolicy-1.2.xsd.js.map +1 -0
- package/dist/sso/saml/schema/xenc-schema.xsd.d.ts +2 -1
- package/dist/sso/saml/schema/xenc-schema.xsd.js +6 -3
- package/dist/sso/saml/schema/xenc-schema.xsd.js.map +1 -1
- package/dist/sso/saml/schema/xml.xsd.d.ts +2 -1
- package/dist/sso/saml/schema/xml.xsd.js +6 -3
- package/dist/sso/saml/schema/xml.xsd.js.map +1 -1
- package/dist/sso/saml/schema/xmldsig-core-schema.xsd.d.ts +2 -1
- package/dist/sso/saml/schema/xmldsig-core-schema.xsd.js +6 -3
- package/dist/sso/saml/schema/xmldsig-core-schema.xsd.js.map +1 -1
- package/dist/subworkflows/subworkflow-policy-checker.service.js +1 -3
- package/dist/subworkflows/subworkflow-policy-checker.service.js.map +1 -1
- package/dist/telemetry/index.js +2 -4
- package/dist/telemetry/index.js.map +1 -1
- package/dist/webhooks/waiting-forms.d.ts +3 -0
- package/dist/webhooks/waiting-forms.js +24 -20
- package/dist/webhooks/waiting-forms.js.map +1 -1
- package/dist/webhooks/waiting-webhooks.js +1 -1
- package/dist/webhooks/waiting-webhooks.js.map +1 -1
- package/dist/webhooks/webhook-helpers.js +3 -0
- package/dist/webhooks/webhook-helpers.js.map +1 -1
- package/dist/workflow-execute-additional-data.d.ts +3 -4
- package/dist/workflow-execute-additional-data.js +36 -44
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflows/workflow-history/workflow-history-manager.ee.js +2 -2
- package/dist/workflows/workflow-history/workflow-history-manager.ee.js.map +1 -1
- package/package.json +11 -10
- package/templates/form-trigger-409.handlebars +74 -0
- package/templates/form-trigger.handlebars +1 -8
- package/dist/databases/entities/test-definition.js.map +0 -1
- package/dist/workflows/workflow-history/constants.d.ts +0 -1
- package/dist/workflows/workflow-history/constants.js +0 -6
- package/dist/workflows/workflow-history/constants.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-runner-oom-error.js","sourceRoot":"","sources":["../../../src/runners/errors/task-runner-oom-error.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAIhD,MAAa,kBAAmB,SAAQ,+BAAgB;IAGvD,
|
|
1
|
+
{"version":3,"file":"task-runner-oom-error.js","sourceRoot":"","sources":["../../../src/runners/errors/task-runner-oom-error.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAIhD,MAAa,kBAAmB,SAAQ,+BAAgB;IAGvD,YACiB,QAA0B,EAC1C,iBAA0B;QAE1B,KAAK,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAHrC,aAAQ,GAAR,QAAQ,CAAkB;QAK1C,MAAM,cAAc,GAAG;YACtB,WAAW,EACV,oFAAoF;YACrF,cAAc,EACb,6GAA6G;YAC9G,WAAW,EAAE,0DAA0D;SACvE,CAAC;QAEF,MAAM,QAAQ,GACb,2FAA2F,CAAC;QAC7F,MAAM,WAAW,GAAG,iBAAiB;YACpC,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;YAC1D,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;QAC/D,MAAM,eAAe,GAAG,WAAW;aACjC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;aACzD,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhB,MAAM,WAAW,GAAG,GAAG,QAAQ,aAAa,eAAe,EAAE,CAAC;QAE9D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;CACD;AA9BD,gDA8BC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaskRunnerTimeoutError = void 0;
|
|
4
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
+
class TaskRunnerTimeoutError extends n8n_workflow_1.ApplicationError {
|
|
6
|
+
constructor(taskTimeout, isSelfHosted) {
|
|
7
|
+
super(`Task execution timed out after ${taskTimeout} ${taskTimeout === 1 ? 'second' : 'seconds'}`);
|
|
8
|
+
const subtitle = 'The task runner was taking too long on this task, so it was suspected of being unresponsive and restarted, and the task was aborted. You can try the following:';
|
|
9
|
+
const fixes = {
|
|
10
|
+
optimizeScript: 'Optimize your script to prevent long-running tasks, e.g. by processing data in smaller batches.',
|
|
11
|
+
ensureTermination: 'Ensure that all paths in your script are able to terminate, i.e. no infinite loops.',
|
|
12
|
+
increaseTimeout: `If your task can reasonably take more than ${taskTimeout} ${taskTimeout === 1 ? 'second' : 'seconds'}, increase the timeout using the N8N_RUNNERS_TASK_TIMEOUT environment variable.`,
|
|
13
|
+
};
|
|
14
|
+
const suggestions = [fixes.optimizeScript, fixes.ensureTermination];
|
|
15
|
+
if (isSelfHosted)
|
|
16
|
+
suggestions.push(fixes.increaseTimeout);
|
|
17
|
+
const suggestionsText = suggestions
|
|
18
|
+
.map((suggestion, index) => `${index + 1}. ${suggestion}`)
|
|
19
|
+
.join('<br/>');
|
|
20
|
+
const description = `${subtitle}<br/><br/>${suggestionsText}`;
|
|
21
|
+
this.description = description;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.TaskRunnerTimeoutError = TaskRunnerTimeoutError;
|
|
25
|
+
//# sourceMappingURL=task-runner-timeout.error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-runner-timeout.error.js","sourceRoot":"","sources":["../../../src/runners/errors/task-runner-timeout.error.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAEhD,MAAa,sBAAuB,SAAQ,+BAAgB;IAG3D,YAAY,WAAmB,EAAE,YAAqB;QACrD,KAAK,CACJ,kCAAkC,WAAW,IAAI,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAC3F,CAAC;QAEF,MAAM,QAAQ,GACb,iKAAiK,CAAC;QAEnK,MAAM,KAAK,GAAG;YACb,cAAc,EACb,iGAAiG;YAClG,iBAAiB,EAChB,qFAAqF;YACtF,eAAe,EAAE,8CAA8C,WAAW,IAAI,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,iFAAiF;SACvM,CAAC;QAEF,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAEpE,IAAI,YAAY;YAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAE1D,MAAM,eAAe,GAAG,WAAW;aACjC,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC;aACzD,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhB,MAAM,WAAW,GAAG,GAAG,QAAQ,aAAa,eAAe,EAAE,CAAC;QAE9D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;CACD;AA/BD,wDA+BC"}
|
package/dist/runners/errors.d.ts
CHANGED
|
@@ -3,5 +3,8 @@ export declare class TaskRejectError extends ApplicationError {
|
|
|
3
3
|
reason: string;
|
|
4
4
|
constructor(reason: string);
|
|
5
5
|
}
|
|
6
|
+
export declare class TaskDeferredError extends ApplicationError {
|
|
7
|
+
constructor();
|
|
8
|
+
}
|
|
6
9
|
export declare class TaskError extends ApplicationError {
|
|
7
10
|
}
|
package/dist/runners/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TaskError = exports.TaskRejectError = void 0;
|
|
3
|
+
exports.TaskError = exports.TaskDeferredError = exports.TaskRejectError = void 0;
|
|
4
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
5
|
class TaskRejectError extends n8n_workflow_1.ApplicationError {
|
|
6
6
|
constructor(reason) {
|
|
@@ -9,6 +9,12 @@ class TaskRejectError extends n8n_workflow_1.ApplicationError {
|
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
exports.TaskRejectError = TaskRejectError;
|
|
12
|
+
class TaskDeferredError extends n8n_workflow_1.ApplicationError {
|
|
13
|
+
constructor() {
|
|
14
|
+
super('Task deferred until runner is ready', { level: 'info' });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.TaskDeferredError = TaskDeferredError;
|
|
12
18
|
class TaskError extends n8n_workflow_1.ApplicationError {
|
|
13
19
|
}
|
|
14
20
|
exports.TaskError = TaskError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/runners/errors.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAEhD,MAAa,eAAgB,SAAQ,+BAAgB;IACpD,YAAmB,MAAc;QAChC,KAAK,CAAC,8BAA8B,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAD/C,WAAM,GAAN,MAAM,CAAQ;IAEjC,CAAC;CACD;AAJD,0CAIC;AAED,MAAa,SAAU,SAAQ,+BAAgB;CAAG;AAAlD,8BAAkD"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/runners/errors.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAEhD,MAAa,eAAgB,SAAQ,+BAAgB;IACpD,YAAmB,MAAc;QAChC,KAAK,CAAC,8BAA8B,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAD/C,WAAM,GAAN,MAAM,CAAQ;IAEjC,CAAC;CACD;AAJD,0CAIC;AAED,MAAa,iBAAkB,SAAQ,+BAAgB;IACtD;QACC,KAAK,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC;CACD;AAJD,8CAIC;AAED,MAAa,SAAU,SAAQ,+BAAgB;CAAG;AAAlD,8BAAkD"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TaskRunnersConfig } from '@n8n/config';
|
|
2
2
|
import { DefaultTaskRunnerDisconnectAnalyzer } from './default-task-runner-disconnect-analyzer';
|
|
3
|
-
import type {
|
|
3
|
+
import type { DisconnectErrorOptions } from './runner-types';
|
|
4
4
|
import { TaskRunnerProcess } from './task-runner-process';
|
|
5
5
|
export declare class InternalTaskRunnerDisconnectAnalyzer extends DefaultTaskRunnerDisconnectAnalyzer {
|
|
6
6
|
private readonly runnerConfig;
|
|
@@ -8,6 +8,6 @@ export declare class InternalTaskRunnerDisconnectAnalyzer extends DefaultTaskRun
|
|
|
8
8
|
private get isCloudDeployment();
|
|
9
9
|
private readonly exitReasonSignal;
|
|
10
10
|
constructor(runnerConfig: TaskRunnersConfig, taskRunnerProcess: TaskRunnerProcess);
|
|
11
|
-
|
|
11
|
+
toDisconnectError(opts: DisconnectErrorOptions): Promise<Error>;
|
|
12
12
|
private awaitExitSignal;
|
|
13
13
|
}
|
|
@@ -32,12 +32,12 @@ let InternalTaskRunnerDisconnectAnalyzer = class InternalTaskRunnerDisconnectAna
|
|
|
32
32
|
windowSizeInMs: 500,
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
|
-
async
|
|
35
|
+
async toDisconnectError(opts) {
|
|
36
36
|
const exitCode = await this.awaitExitSignal();
|
|
37
37
|
if (exitCode === 'oom') {
|
|
38
|
-
return new task_runner_oom_error_1.TaskRunnerOomError(runnerId, this.isCloudDeployment);
|
|
38
|
+
return new task_runner_oom_error_1.TaskRunnerOomError(opts.runnerId ?? 'Unknown runner ID', this.isCloudDeployment);
|
|
39
39
|
}
|
|
40
|
-
return await super.
|
|
40
|
+
return await super.toDisconnectError(opts);
|
|
41
41
|
}
|
|
42
42
|
async awaitExitSignal() {
|
|
43
43
|
if (this.runnerConfig.mode === 'external') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-task-runner-disconnect-analyzer.js","sourceRoot":"","sources":["../../src/runners/internal-task-runner-disconnect-analyzer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAgD;AAChD,mCAAiC;AAEjC,sDAA8B;AAE9B,uGAAgG;AAChG,0EAAoE;
|
|
1
|
+
{"version":3,"file":"internal-task-runner-disconnect-analyzer.js","sourceRoot":"","sources":["../../src/runners/internal-task-runner-disconnect-analyzer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wCAAgD;AAChD,mCAAiC;AAEjC,sDAA8B;AAE9B,uGAAgG;AAChG,0EAAoE;AAEpE,mEAA8D;AAE9D,+DAA0D;AAOnD,IAAM,oCAAoC,GAA1C,MAAM,oCAAqC,SAAQ,6EAAmC;IAC5F,IAAY,iBAAiB;QAC5B,OAAO,gBAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC;IAClD,CAAC;IAID,YACkB,YAA+B,EAC/B,iBAAoC;QAErD,KAAK,EAAE,CAAC;QAHS,iBAAY,GAAZ,YAAY,CAAmB;QAC/B,sBAAiB,GAAjB,iBAAiB,CAAmB;QASrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,2CAAmB,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE;YAC/E,cAAc,EAAE,GAAG;SACnB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAA4B;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACxB,OAAO,IAAI,0CAAkB,CAAC,IAAI,CAAC,QAAQ,IAAI,mBAAmB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7F,CAAC;QAED,OAAO,MAAM,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,eAAe;QAC5B,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAI3C,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAE/D,OAAO,cAAc,EAAE,MAAM,IAAI,SAAS,CAAC;IAC5C,CAAC;CACD,CAAA;AA5CY,oFAAoC;+CAApC,oCAAoC;IADhD,IAAA,gBAAO,GAAE;qCASuB,0BAAiB;QACZ,uCAAiB;GAT1C,oCAAoC,CA4ChD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TypedEmitter } from '../typed-emitter';
|
|
2
|
+
type RunnerLifecycleEventMap = {
|
|
3
|
+
'runner:failed-heartbeat-check': never;
|
|
4
|
+
'runner:timed-out-during-task': never;
|
|
5
|
+
};
|
|
6
|
+
export declare class RunnerLifecycleEvents extends TypedEmitter<RunnerLifecycleEventMap> {
|
|
7
|
+
}
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.RunnerLifecycleEvents = void 0;
|
|
10
|
+
const typedi_1 = require("typedi");
|
|
11
|
+
const typed_emitter_1 = require("../typed-emitter");
|
|
12
|
+
let RunnerLifecycleEvents = class RunnerLifecycleEvents extends typed_emitter_1.TypedEmitter {
|
|
13
|
+
};
|
|
14
|
+
exports.RunnerLifecycleEvents = RunnerLifecycleEvents;
|
|
15
|
+
exports.RunnerLifecycleEvents = RunnerLifecycleEvents = __decorate([
|
|
16
|
+
(0, typedi_1.Service)()
|
|
17
|
+
], RunnerLifecycleEvents);
|
|
18
|
+
//# sourceMappingURL=runner-lifecycle-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-lifecycle-events.js","sourceRoot":"","sources":["../../src/runners/runner-lifecycle-events.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mCAAiC;AAEjC,mDAA+C;AAQxC,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,4BAAqC;CAAG,CAAA;AAAtE,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,gBAAO,GAAE;GACG,qBAAqB,CAAiD"}
|
|
@@ -3,14 +3,8 @@ import type { INodeExecutionData } from 'n8n-workflow';
|
|
|
3
3
|
import type WebSocket from 'ws';
|
|
4
4
|
import type { TaskRunner } from './task-broker.service';
|
|
5
5
|
import type { AuthlessRequest } from '../requests';
|
|
6
|
-
export interface TaskDataRequestParams {
|
|
7
|
-
dataOfNodes: string[] | 'all';
|
|
8
|
-
prevNode: boolean;
|
|
9
|
-
input: boolean;
|
|
10
|
-
env: boolean;
|
|
11
|
-
}
|
|
12
6
|
export interface DisconnectAnalyzer {
|
|
13
|
-
|
|
7
|
+
toDisconnectError(opts: DisconnectErrorOptions): Promise<Error>;
|
|
14
8
|
}
|
|
15
9
|
export type DataRequestType = 'input' | 'node' | 'all';
|
|
16
10
|
export interface TaskResultData {
|
|
@@ -26,3 +20,9 @@ export interface TaskRunnerServerInitRequest extends AuthlessRequest<{}, {}, {},
|
|
|
26
20
|
export type TaskRunnerServerInitResponse = Response & {
|
|
27
21
|
req: TaskRunnerServerInitRequest;
|
|
28
22
|
};
|
|
23
|
+
export type DisconnectReason = 'shutting-down' | 'failed-heartbeat-check' | 'unknown';
|
|
24
|
+
export type DisconnectErrorOptions = {
|
|
25
|
+
runnerId?: TaskRunner['id'];
|
|
26
|
+
reason?: DisconnectReason;
|
|
27
|
+
heartbeatInterval?: number;
|
|
28
|
+
};
|
|
@@ -1,19 +1,38 @@
|
|
|
1
|
+
import { TaskRunnersConfig } from '@n8n/config';
|
|
1
2
|
import type { BrokerMessage } from '@n8n/task-runner';
|
|
2
3
|
import type WebSocket from 'ws';
|
|
3
4
|
import { Logger } from '../logging/logger.service';
|
|
4
5
|
import { DefaultTaskRunnerDisconnectAnalyzer } from './default-task-runner-disconnect-analyzer';
|
|
5
|
-
import
|
|
6
|
+
import { RunnerLifecycleEvents } from './runner-lifecycle-events';
|
|
7
|
+
import type { DisconnectAnalyzer, DisconnectReason, TaskRunnerServerInitRequest, TaskRunnerServerInitResponse } from './runner-types';
|
|
6
8
|
import { TaskBroker, type TaskRunner } from './task-broker.service';
|
|
9
|
+
declare const enum WsStatusCode {
|
|
10
|
+
CloseNormal = 1000,
|
|
11
|
+
CloseGoingAway = 1001,
|
|
12
|
+
CloseProtocolError = 1002,
|
|
13
|
+
CloseUnsupportedData = 1003,
|
|
14
|
+
CloseNoStatus = 1005,
|
|
15
|
+
CloseAbnormal = 1006,
|
|
16
|
+
CloseInvalidData = 1007
|
|
17
|
+
}
|
|
7
18
|
export declare class TaskRunnerWsServer {
|
|
8
19
|
private readonly logger;
|
|
9
20
|
private readonly taskBroker;
|
|
10
21
|
private disconnectAnalyzer;
|
|
22
|
+
private readonly taskTunnersConfig;
|
|
23
|
+
private readonly runnerLifecycleEvents;
|
|
11
24
|
runnerConnections: Map<TaskRunner['id'], WebSocket>;
|
|
12
|
-
|
|
25
|
+
private heartbeatTimer;
|
|
26
|
+
constructor(logger: Logger, taskBroker: TaskBroker, disconnectAnalyzer: DefaultTaskRunnerDisconnectAnalyzer, taskTunnersConfig: TaskRunnersConfig, runnerLifecycleEvents: RunnerLifecycleEvents);
|
|
27
|
+
start(): void;
|
|
28
|
+
private startHeartbeatChecks;
|
|
29
|
+
stop(): Promise<void>;
|
|
13
30
|
setDisconnectAnalyzer(disconnectAnalyzer: DisconnectAnalyzer): void;
|
|
14
31
|
getDisconnectAnalyzer(): DefaultTaskRunnerDisconnectAnalyzer;
|
|
15
32
|
sendMessage(id: TaskRunner['id'], message: BrokerMessage.ToRunner.All): void;
|
|
16
33
|
add(id: TaskRunner['id'], connection: WebSocket): void;
|
|
17
|
-
removeConnection(id: TaskRunner['id']): Promise<void>;
|
|
34
|
+
removeConnection(id: TaskRunner['id'], reason?: DisconnectReason, code?: WsStatusCode): Promise<void>;
|
|
18
35
|
handleRequest(req: TaskRunnerServerInitRequest, _res: TaskRunnerServerInitResponse): void;
|
|
36
|
+
private stopConnectedRunners;
|
|
19
37
|
}
|
|
38
|
+
export {};
|
|
@@ -10,20 +10,63 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.TaskRunnerWsServer = void 0;
|
|
13
|
+
const config_1 = require("@n8n/config");
|
|
14
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
13
15
|
const typedi_1 = require("typedi");
|
|
16
|
+
const constants_1 = require("../constants");
|
|
14
17
|
const logger_service_1 = require("../logging/logger.service");
|
|
15
18
|
const default_task_runner_disconnect_analyzer_1 = require("./default-task-runner-disconnect-analyzer");
|
|
19
|
+
const runner_lifecycle_events_1 = require("./runner-lifecycle-events");
|
|
16
20
|
const task_broker_service_1 = require("./task-broker.service");
|
|
17
21
|
function heartbeat() {
|
|
18
22
|
this.isAlive = true;
|
|
19
23
|
}
|
|
24
|
+
var WsStatusCode;
|
|
25
|
+
(function (WsStatusCode) {
|
|
26
|
+
WsStatusCode[WsStatusCode["CloseNormal"] = 1000] = "CloseNormal";
|
|
27
|
+
WsStatusCode[WsStatusCode["CloseGoingAway"] = 1001] = "CloseGoingAway";
|
|
28
|
+
WsStatusCode[WsStatusCode["CloseProtocolError"] = 1002] = "CloseProtocolError";
|
|
29
|
+
WsStatusCode[WsStatusCode["CloseUnsupportedData"] = 1003] = "CloseUnsupportedData";
|
|
30
|
+
WsStatusCode[WsStatusCode["CloseNoStatus"] = 1005] = "CloseNoStatus";
|
|
31
|
+
WsStatusCode[WsStatusCode["CloseAbnormal"] = 1006] = "CloseAbnormal";
|
|
32
|
+
WsStatusCode[WsStatusCode["CloseInvalidData"] = 1007] = "CloseInvalidData";
|
|
33
|
+
})(WsStatusCode || (WsStatusCode = {}));
|
|
20
34
|
let TaskRunnerWsServer = class TaskRunnerWsServer {
|
|
21
|
-
constructor(logger, taskBroker, disconnectAnalyzer) {
|
|
35
|
+
constructor(logger, taskBroker, disconnectAnalyzer, taskTunnersConfig, runnerLifecycleEvents) {
|
|
22
36
|
this.logger = logger;
|
|
23
37
|
this.taskBroker = taskBroker;
|
|
24
38
|
this.disconnectAnalyzer = disconnectAnalyzer;
|
|
39
|
+
this.taskTunnersConfig = taskTunnersConfig;
|
|
40
|
+
this.runnerLifecycleEvents = runnerLifecycleEvents;
|
|
25
41
|
this.runnerConnections = new Map();
|
|
26
42
|
}
|
|
43
|
+
start() {
|
|
44
|
+
this.startHeartbeatChecks();
|
|
45
|
+
}
|
|
46
|
+
startHeartbeatChecks() {
|
|
47
|
+
const { heartbeatInterval } = this.taskTunnersConfig;
|
|
48
|
+
if (heartbeatInterval <= 0) {
|
|
49
|
+
throw new n8n_workflow_1.ApplicationError('Heartbeat interval must be greater than 0');
|
|
50
|
+
}
|
|
51
|
+
this.heartbeatTimer = setInterval(() => {
|
|
52
|
+
for (const [runnerId, connection] of this.runnerConnections.entries()) {
|
|
53
|
+
if (!connection.isAlive) {
|
|
54
|
+
void this.removeConnection(runnerId, 'failed-heartbeat-check', 1005);
|
|
55
|
+
this.runnerLifecycleEvents.emit('runner:failed-heartbeat-check');
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
connection.isAlive = false;
|
|
59
|
+
connection.ping();
|
|
60
|
+
}
|
|
61
|
+
}, heartbeatInterval * constants_1.Time.seconds.toMilliseconds);
|
|
62
|
+
}
|
|
63
|
+
async stop() {
|
|
64
|
+
if (this.heartbeatTimer) {
|
|
65
|
+
clearInterval(this.heartbeatTimer);
|
|
66
|
+
this.heartbeatTimer = undefined;
|
|
67
|
+
}
|
|
68
|
+
await this.stopConnectedRunners();
|
|
69
|
+
}
|
|
27
70
|
setDisconnectAnalyzer(disconnectAnalyzer) {
|
|
28
71
|
this.disconnectAnalyzer = disconnectAnalyzer;
|
|
29
72
|
}
|
|
@@ -75,24 +118,33 @@ let TaskRunnerWsServer = class TaskRunnerWsServer {
|
|
|
75
118
|
connection.on('message', onMessage);
|
|
76
119
|
connection.send(JSON.stringify({ type: 'broker:inforequest' }));
|
|
77
120
|
}
|
|
78
|
-
async removeConnection(id) {
|
|
121
|
+
async removeConnection(id, reason = 'unknown', code) {
|
|
79
122
|
const connection = this.runnerConnections.get(id);
|
|
80
123
|
if (connection) {
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
124
|
+
const disconnectError = await this.disconnectAnalyzer.toDisconnectError({
|
|
125
|
+
runnerId: id,
|
|
126
|
+
reason,
|
|
127
|
+
heartbeatInterval: this.taskTunnersConfig.heartbeatInterval,
|
|
128
|
+
});
|
|
129
|
+
this.taskBroker.deregisterRunner(id, disconnectError);
|
|
130
|
+
connection.close(code);
|
|
84
131
|
this.runnerConnections.delete(id);
|
|
85
132
|
}
|
|
86
133
|
}
|
|
87
134
|
handleRequest(req, _res) {
|
|
88
135
|
this.add(req.query.id, req.ws);
|
|
89
136
|
}
|
|
137
|
+
async stopConnectedRunners() {
|
|
138
|
+
await Promise.all(Array.from(this.runnerConnections.keys()).map(async (id) => await this.removeConnection(id, 'shutting-down', 1001)));
|
|
139
|
+
}
|
|
90
140
|
};
|
|
91
141
|
exports.TaskRunnerWsServer = TaskRunnerWsServer;
|
|
92
142
|
exports.TaskRunnerWsServer = TaskRunnerWsServer = __decorate([
|
|
93
143
|
(0, typedi_1.Service)(),
|
|
94
144
|
__metadata("design:paramtypes", [logger_service_1.Logger,
|
|
95
145
|
task_broker_service_1.TaskBroker,
|
|
96
|
-
default_task_runner_disconnect_analyzer_1.DefaultTaskRunnerDisconnectAnalyzer
|
|
146
|
+
default_task_runner_disconnect_analyzer_1.DefaultTaskRunnerDisconnectAnalyzer,
|
|
147
|
+
config_1.TaskRunnersConfig,
|
|
148
|
+
runner_lifecycle_events_1.RunnerLifecycleEvents])
|
|
97
149
|
], TaskRunnerWsServer);
|
|
98
150
|
//# sourceMappingURL=runner-ws-server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-ws-server.js","sourceRoot":"","sources":["../../src/runners/runner-ws-server.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"runner-ws-server.js","sourceRoot":"","sources":["../../src/runners/runner-ws-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { TaskRunnersConfig } from '@n8n/config';
|
|
1
2
|
import type { BrokerMessage, RequesterMessage, RunnerMessage, TaskResultData } from '@n8n/task-runner';
|
|
2
3
|
import { Logger } from '../logging/logger.service';
|
|
3
|
-
import { TaskRejectError } from './errors';
|
|
4
|
+
import { TaskDeferredError, TaskRejectError } from './errors';
|
|
5
|
+
import { RunnerLifecycleEvents } from './runner-lifecycle-events';
|
|
4
6
|
export interface TaskRunner {
|
|
5
7
|
id: string;
|
|
6
8
|
name?: string;
|
|
@@ -12,6 +14,7 @@ export interface Task {
|
|
|
12
14
|
runnerId: TaskRunner['id'];
|
|
13
15
|
requesterId: string;
|
|
14
16
|
taskType: string;
|
|
17
|
+
timeout?: NodeJS.Timeout;
|
|
15
18
|
}
|
|
16
19
|
export interface TaskOffer {
|
|
17
20
|
offerId: string;
|
|
@@ -29,9 +32,11 @@ export interface TaskRequest {
|
|
|
29
32
|
export type MessageCallback = (message: BrokerMessage.ToRunner.All) => Promise<void> | void;
|
|
30
33
|
export type RequesterMessageCallback = (message: BrokerMessage.ToRequester.All) => Promise<void> | void;
|
|
31
34
|
type RunnerAcceptCallback = () => void;
|
|
32
|
-
type TaskRejectCallback = (reason: TaskRejectError) => void;
|
|
35
|
+
type TaskRejectCallback = (reason: TaskRejectError | TaskDeferredError) => void;
|
|
33
36
|
export declare class TaskBroker {
|
|
34
37
|
private readonly logger;
|
|
38
|
+
private readonly taskRunnersConfig;
|
|
39
|
+
private readonly runnerLifecycleEvents;
|
|
35
40
|
private knownRunners;
|
|
36
41
|
private requesters;
|
|
37
42
|
private tasks;
|
|
@@ -39,7 +44,7 @@ export declare class TaskBroker {
|
|
|
39
44
|
private requesterAcceptRejects;
|
|
40
45
|
private pendingTaskOffers;
|
|
41
46
|
private pendingTaskRequests;
|
|
42
|
-
constructor(logger: Logger);
|
|
47
|
+
constructor(logger: Logger, taskRunnersConfig: TaskRunnersConfig, runnerLifecycleEvents: RunnerLifecycleEvents);
|
|
43
48
|
expireTasks(): void;
|
|
44
49
|
registerRunner(runner: TaskRunner, messageCallback: MessageCallback): void;
|
|
45
50
|
deregisterRunner(runnerId: string, error: Error): void;
|
|
@@ -51,6 +56,7 @@ export declare class TaskBroker {
|
|
|
51
56
|
handleRpcRequest(taskId: Task['id'], callId: string, name: RunnerMessage.ToBroker.RPC['name'], params: unknown[]): Promise<void>;
|
|
52
57
|
handleRunnerAccept(taskId: Task['id']): void;
|
|
53
58
|
handleRunnerReject(taskId: Task['id'], reason: string): void;
|
|
59
|
+
handleRunnerDeferred(taskId: Task['id']): void;
|
|
54
60
|
handleDataRequest(taskId: Task['id'], requestId: RunnerMessage.ToBroker.TaskDataRequest['requestId'], requestParams: RunnerMessage.ToBroker.TaskDataRequest['requestParams']): Promise<void>;
|
|
55
61
|
handleNodeTypesRequest(taskId: Task['id'], requestId: RunnerMessage.ToBroker.NodeTypesRequest['requestId'], requestParams: RunnerMessage.ToBroker.NodeTypesRequest['requestParams']): Promise<void>;
|
|
56
62
|
handleResponse(taskId: Task['id'], requestId: RunnerMessage.ToBroker.TaskDataRequest['requestId'], data: unknown): Promise<void>;
|
|
@@ -64,6 +70,7 @@ export declare class TaskBroker {
|
|
|
64
70
|
private failTask;
|
|
65
71
|
private getRunnerOrFailTask;
|
|
66
72
|
sendTaskSettings(taskId: Task['id'], settings: unknown): Promise<void>;
|
|
73
|
+
private handleTaskTimeout;
|
|
67
74
|
taskDoneHandler(taskId: Task['id'], data: TaskResultData): Promise<void>;
|
|
68
75
|
taskErrorHandler(taskId: Task['id'], error: unknown): Promise<void>;
|
|
69
76
|
acceptOffer(offer: TaskOffer, request: TaskRequest): Promise<void>;
|
|
@@ -8,16 +8,26 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.TaskBroker = void 0;
|
|
16
|
+
const config_1 = require("@n8n/config");
|
|
13
17
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
14
18
|
const nanoid_1 = require("nanoid");
|
|
15
19
|
const typedi_1 = require("typedi");
|
|
20
|
+
const config_2 = __importDefault(require("../config"));
|
|
21
|
+
const constants_1 = require("../constants");
|
|
16
22
|
const logger_service_1 = require("../logging/logger.service");
|
|
17
23
|
const errors_1 = require("./errors");
|
|
24
|
+
const task_runner_timeout_error_1 = require("./errors/task-runner-timeout.error");
|
|
25
|
+
const runner_lifecycle_events_1 = require("./runner-lifecycle-events");
|
|
18
26
|
let TaskBroker = class TaskBroker {
|
|
19
|
-
constructor(logger) {
|
|
27
|
+
constructor(logger, taskRunnersConfig, runnerLifecycleEvents) {
|
|
20
28
|
this.logger = logger;
|
|
29
|
+
this.taskRunnersConfig = taskRunnersConfig;
|
|
30
|
+
this.runnerLifecycleEvents = runnerLifecycleEvents;
|
|
21
31
|
this.knownRunners = new Map();
|
|
22
32
|
this.requesters = new Map();
|
|
23
33
|
this.tasks = new Map();
|
|
@@ -25,11 +35,17 @@ let TaskBroker = class TaskBroker {
|
|
|
25
35
|
this.requesterAcceptRejects = new Map();
|
|
26
36
|
this.pendingTaskOffers = [];
|
|
27
37
|
this.pendingTaskRequests = [];
|
|
38
|
+
if (this.taskRunnersConfig.taskTimeout <= 0) {
|
|
39
|
+
throw new n8n_workflow_1.ApplicationError('Task timeout must be greater than 0');
|
|
40
|
+
}
|
|
28
41
|
}
|
|
29
42
|
expireTasks() {
|
|
30
43
|
const now = process.hrtime.bigint();
|
|
31
44
|
for (let i = this.pendingTaskOffers.length - 1; i >= 0; i--) {
|
|
32
|
-
|
|
45
|
+
const offer = this.pendingTaskOffers[i];
|
|
46
|
+
if (offer.validFor === -1)
|
|
47
|
+
continue;
|
|
48
|
+
if (offer.validUntil < now) {
|
|
33
49
|
this.pendingTaskOffers.splice(i, 1);
|
|
34
50
|
}
|
|
35
51
|
}
|
|
@@ -76,13 +92,18 @@ let TaskBroker = class TaskBroker {
|
|
|
76
92
|
case 'runner:taskrejected':
|
|
77
93
|
this.handleRunnerReject(message.taskId, message.reason);
|
|
78
94
|
break;
|
|
95
|
+
case 'runner:taskdeferred':
|
|
96
|
+
this.handleRunnerDeferred(message.taskId);
|
|
97
|
+
break;
|
|
79
98
|
case 'runner:taskoffer':
|
|
80
99
|
this.taskOffered({
|
|
81
100
|
runnerId,
|
|
82
101
|
taskType: message.taskType,
|
|
83
102
|
offerId: message.offerId,
|
|
84
103
|
validFor: message.validFor,
|
|
85
|
-
validUntil:
|
|
104
|
+
validUntil: message.validFor === -1
|
|
105
|
+
? 0n
|
|
106
|
+
: process.hrtime.bigint() + BigInt(message.validFor * 1_000_000),
|
|
86
107
|
});
|
|
87
108
|
break;
|
|
88
109
|
case 'runner:taskdone':
|
|
@@ -131,6 +152,13 @@ let TaskBroker = class TaskBroker {
|
|
|
131
152
|
this.runnerAcceptRejects.delete(taskId);
|
|
132
153
|
}
|
|
133
154
|
}
|
|
155
|
+
handleRunnerDeferred(taskId) {
|
|
156
|
+
const acceptReject = this.runnerAcceptRejects.get(taskId);
|
|
157
|
+
if (acceptReject) {
|
|
158
|
+
acceptReject.reject(new errors_1.TaskDeferredError());
|
|
159
|
+
this.runnerAcceptRejects.delete(taskId);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
134
162
|
async handleDataRequest(taskId, requestId, requestParams) {
|
|
135
163
|
const task = this.tasks.get(taskId);
|
|
136
164
|
if (!task) {
|
|
@@ -278,17 +306,30 @@ let TaskBroker = class TaskBroker {
|
|
|
278
306
|
}
|
|
279
307
|
async sendTaskSettings(taskId, settings) {
|
|
280
308
|
const runner = await this.getRunnerOrFailTask(taskId);
|
|
309
|
+
const task = this.tasks.get(taskId);
|
|
310
|
+
if (!task)
|
|
311
|
+
return;
|
|
312
|
+
task.timeout = setTimeout(async () => {
|
|
313
|
+
await this.handleTaskTimeout(taskId);
|
|
314
|
+
}, this.taskRunnersConfig.taskTimeout * constants_1.Time.seconds.toMilliseconds);
|
|
281
315
|
await this.messageRunner(runner.id, {
|
|
282
316
|
type: 'broker:tasksettings',
|
|
283
317
|
taskId,
|
|
284
318
|
settings,
|
|
285
319
|
});
|
|
286
320
|
}
|
|
321
|
+
async handleTaskTimeout(taskId) {
|
|
322
|
+
const task = this.tasks.get(taskId);
|
|
323
|
+
if (!task)
|
|
324
|
+
return;
|
|
325
|
+
this.runnerLifecycleEvents.emit('runner:timed-out-during-task');
|
|
326
|
+
await this.taskErrorHandler(taskId, new task_runner_timeout_error_1.TaskRunnerTimeoutError(this.taskRunnersConfig.taskTimeout, config_2.default.getEnv('deployment.type') !== 'cloud'));
|
|
327
|
+
}
|
|
287
328
|
async taskDoneHandler(taskId, data) {
|
|
288
329
|
const task = this.tasks.get(taskId);
|
|
289
|
-
if (!task)
|
|
330
|
+
if (!task)
|
|
290
331
|
return;
|
|
291
|
-
|
|
332
|
+
clearTimeout(task.timeout);
|
|
292
333
|
await this.requesters.get(task.requesterId)?.({
|
|
293
334
|
type: 'broker:taskdone',
|
|
294
335
|
taskId: task.id,
|
|
@@ -298,9 +339,9 @@ let TaskBroker = class TaskBroker {
|
|
|
298
339
|
}
|
|
299
340
|
async taskErrorHandler(taskId, error) {
|
|
300
341
|
const task = this.tasks.get(taskId);
|
|
301
|
-
if (!task)
|
|
342
|
+
if (!task)
|
|
302
343
|
return;
|
|
303
|
-
|
|
344
|
+
clearTimeout(task.timeout);
|
|
304
345
|
await this.requesters.get(task.requesterId)?.({
|
|
305
346
|
type: 'broker:taskerror',
|
|
306
347
|
taskId: task.id,
|
|
@@ -330,6 +371,11 @@ let TaskBroker = class TaskBroker {
|
|
|
330
371
|
this.logger.info(`Task (${taskId}) rejected by Runner with reason "${e.reason}"`);
|
|
331
372
|
return;
|
|
332
373
|
}
|
|
374
|
+
if (e instanceof errors_1.TaskDeferredError) {
|
|
375
|
+
this.logger.info(`Task (${taskId}) deferred until runner is ready`);
|
|
376
|
+
this.pendingTaskRequests.push(request);
|
|
377
|
+
return;
|
|
378
|
+
}
|
|
333
379
|
throw e;
|
|
334
380
|
}
|
|
335
381
|
const task = {
|
|
@@ -431,6 +477,8 @@ let TaskBroker = class TaskBroker {
|
|
|
431
477
|
exports.TaskBroker = TaskBroker;
|
|
432
478
|
exports.TaskBroker = TaskBroker = __decorate([
|
|
433
479
|
(0, typedi_1.Service)(),
|
|
434
|
-
__metadata("design:paramtypes", [logger_service_1.Logger
|
|
480
|
+
__metadata("design:paramtypes", [logger_service_1.Logger,
|
|
481
|
+
config_1.TaskRunnersConfig,
|
|
482
|
+
runner_lifecycle_events_1.RunnerLifecycleEvents])
|
|
435
483
|
], TaskBroker);
|
|
436
484
|
//# sourceMappingURL=task-broker.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-broker.service.js","sourceRoot":"","sources":["../../src/runners/task-broker.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task-broker.service.js","sourceRoot":"","sources":["../../src/runners/task-broker.service.ts"],"names":[],"mappings":"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"}
|