fix(core): Make node execution order configurable, and backward-compatible (#6507)
* fix(core): Make node execution order configurable, and backward-compatible * ⚡ Also add new Merge-Node behaviour * ⚡ Fix typo * Fix lint issue * update labels * rename legacy to v0 * remove the unnecessary log * default all new workflows to use v1 execution-order * remove the controller changes * clone default settings to avoid it getting modified --------- Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
This commit is contained in:
committed by
GitHub
parent
f0dfc3cf4e
commit
d97edbcffa
@@ -13,6 +13,31 @@
|
||||
>
|
||||
<template #content>
|
||||
<div v-loading="isLoading" class="workflow-settings" data-test-id="workflow-settings-dialog">
|
||||
<el-row>
|
||||
<el-col :span="10" class="setting-name">
|
||||
{{ $locale.baseText('workflowSettings.executionOrder') + ':' }}
|
||||
</el-col>
|
||||
<el-col :span="14" class="ignore-key-press">
|
||||
<n8n-select
|
||||
v-model="workflowSettings.executionOrder"
|
||||
placeholder="Select Execution Order"
|
||||
size="medium"
|
||||
filterable
|
||||
:disabled="readOnlyEnv"
|
||||
:limit-popper-width="true"
|
||||
data-test-id="workflow-settings-execution-order"
|
||||
>
|
||||
<n8n-option
|
||||
v-for="option in executionOrderOptions"
|
||||
:key="option.key"
|
||||
:label="option.value"
|
||||
:value="option.key"
|
||||
>
|
||||
</n8n-option>
|
||||
</n8n-select>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="10" class="setting-name">
|
||||
{{ $locale.baseText('workflowSettings.errorWorkflow') + ':' }}
|
||||
@@ -421,9 +446,14 @@ export default defineComponent({
|
||||
saveDataSuccessExecutionOptions: [] as Array<{ key: string; value: string }>,
|
||||
saveExecutionProgressOptions: [] as Array<{ key: string | boolean; value: string }>,
|
||||
saveManualOptions: [] as Array<{ key: string | boolean; value: string }>,
|
||||
executionOrderOptions: [
|
||||
{ key: 'v0', value: 'v0 (legacy)' },
|
||||
{ key: 'v1', value: 'v1 (recommended)' },
|
||||
] as Array<{ key: string; value: string }>,
|
||||
timezones: [] as Array<{ key: string; value: string }>,
|
||||
workflowSettings: {} as IWorkflowSettings,
|
||||
workflows: [] as IWorkflowShortResponse[],
|
||||
executionOrder: 'v0',
|
||||
executionTimeout: 0,
|
||||
maxExecutionTimeout: 0,
|
||||
timeoutHMS: { hours: 0, minutes: 0, seconds: 0 } as ITimeoutHMS,
|
||||
@@ -535,6 +565,9 @@ export default defineComponent({
|
||||
if (workflowSettings.maxExecutionTimeout === undefined) {
|
||||
workflowSettings.maxExecutionTimeout = this.rootStore.maxExecutionTimeout;
|
||||
}
|
||||
if (workflowSettings.executionOrder === undefined) {
|
||||
workflowSettings.executionOrder = 'v0';
|
||||
}
|
||||
|
||||
this.workflowSettings = workflowSettings;
|
||||
this.timeoutHMS = this.convertToHMS(workflowSettings.executionTimeout);
|
||||
|
||||
Reference in New Issue
Block a user