@nocobase/plugin-workflow 2.1.0-beta.36 → 2.1.0-beta.38

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.
Files changed (71) hide show
  1. package/dist/client/618.19af7f84261c815d.js +10 -0
  2. package/dist/client/964.ffbf5b47ed12bbdc.js +10 -0
  3. package/dist/client/Branch.d.ts +7 -3
  4. package/dist/client/BranchContext.d.ts +18 -0
  5. package/dist/client/components/TimeoutInput.d.ts +11 -0
  6. package/dist/client/constants.d.ts +13 -0
  7. package/dist/client/index.js +1 -1
  8. package/dist/client/nodes/index.d.ts +2 -0
  9. package/dist/client/schemas/executions.d.ts +42 -0
  10. package/dist/client/utils.d.ts +17 -0
  11. package/dist/common/collections/executions.d.ts +42 -0
  12. package/dist/common/collections/executions.js +50 -1
  13. package/dist/common/collections/workflows.d.ts +6 -2
  14. package/dist/common/collections/workflows.js +3 -1
  15. package/dist/common/constants.d.ts +5 -0
  16. package/dist/common/constants.js +7 -0
  17. package/dist/externalVersion.js +12 -12
  18. package/dist/locale/de-DE.json +4 -0
  19. package/dist/locale/en-US.json +7 -0
  20. package/dist/locale/es-ES.json +4 -0
  21. package/dist/locale/fr-FR.json +4 -0
  22. package/dist/locale/hu-HU.json +7 -3
  23. package/dist/locale/id-ID.json +4 -0
  24. package/dist/locale/it-IT.json +4 -0
  25. package/dist/locale/ja-JP.json +5 -1
  26. package/dist/locale/ko-KR.json +4 -0
  27. package/dist/locale/nl-NL.json +7 -3
  28. package/dist/locale/pt-BR.json +4 -0
  29. package/dist/locale/ru-RU.json +4 -0
  30. package/dist/locale/tr-TR.json +4 -0
  31. package/dist/locale/uk-UA.json +7 -3
  32. package/dist/locale/vi-VN.json +7 -3
  33. package/dist/locale/zh-CN.json +8 -0
  34. package/dist/locale/zh-TW.json +7 -3
  35. package/dist/node_modules/cron-parser/package.json +1 -1
  36. package/dist/node_modules/joi/package.json +1 -1
  37. package/dist/node_modules/lru-cache/package.json +1 -1
  38. package/dist/node_modules/nodejs-snowflake/package.json +1 -1
  39. package/dist/server/Dispatcher.d.ts +9 -7
  40. package/dist/server/Dispatcher.js +190 -122
  41. package/dist/server/ExecutionTimeoutManager.d.ts +45 -0
  42. package/dist/server/ExecutionTimeoutManager.js +312 -0
  43. package/dist/server/Plugin.d.ts +12 -0
  44. package/dist/server/Plugin.js +21 -1
  45. package/dist/server/Processor.d.ts +65 -9
  46. package/dist/server/Processor.js +285 -33
  47. package/dist/server/RunningExecutionRegistry.d.ts +18 -0
  48. package/dist/server/RunningExecutionRegistry.js +48 -0
  49. package/dist/server/actions/executions.d.ts +4 -3
  50. package/dist/server/actions/executions.js +42 -21
  51. package/dist/server/actions/jobs.d.ts +2 -1
  52. package/dist/server/actions/jobs.js +28 -1
  53. package/dist/server/constants.d.ts +2 -0
  54. package/dist/server/constants.js +3 -0
  55. package/dist/server/index.d.ts +2 -0
  56. package/dist/server/index.js +2 -0
  57. package/dist/server/instructions/index.d.ts +10 -3
  58. package/dist/server/migrations/20260501120000-workflow-timeout.d.ts +13 -0
  59. package/dist/server/migrations/20260501120000-workflow-timeout.js +63 -0
  60. package/dist/server/timeout-errors.d.ts +13 -0
  61. package/dist/server/timeout-errors.js +47 -0
  62. package/dist/server/types/Execution.d.ts +6 -0
  63. package/dist/server/types/Job.d.ts +3 -3
  64. package/dist/server/types/Workflow.d.ts +6 -1
  65. package/dist/server/utils.d.ts +11 -1
  66. package/dist/server/utils.js +92 -5
  67. package/dist/swagger/index.d.ts +22 -0
  68. package/dist/swagger/index.js +22 -0
  69. package/package.json +2 -2
  70. package/dist/client/261.7722d7400942730e.js +0 -10
  71. package/dist/client/964.6251d37b35710747.js +0 -10
@@ -17,6 +17,7 @@ export type NodeAvailableContext = {
17
17
  workflow: object;
18
18
  upstream: object;
19
19
  branchIndex: number;
20
+ syncOnly?: boolean;
20
21
  };
21
22
  type Config = Record<string, any>;
22
23
  type Options = {
@@ -29,6 +30,7 @@ export declare abstract class Instruction {
29
30
  group: string;
30
31
  description?: string;
31
32
  icon?: JSX.Element;
33
+ async?: boolean;
32
34
  /**
33
35
  * @deprecated migrate to `presetFieldset` instead
34
36
  */
@@ -149,6 +149,26 @@ export declare const executionSchema: {
149
149
  unique?: undefined;
150
150
  onDelete?: undefined;
151
151
  defaultValue?: undefined;
152
+ } | {
153
+ type: string;
154
+ name: string;
155
+ uiSchema: {
156
+ title: string;
157
+ type: string;
158
+ 'x-component': string;
159
+ 'x-decorator': string;
160
+ enum: string;
161
+ 'x-component-props'?: undefined;
162
+ 'x-read-pretty'?: undefined;
163
+ };
164
+ interface?: undefined;
165
+ primaryKey?: undefined;
166
+ allowNull?: undefined;
167
+ target?: undefined;
168
+ foreignKey?: undefined;
169
+ unique?: undefined;
170
+ onDelete?: undefined;
171
+ defaultValue?: undefined;
152
172
  } | {
153
173
  type: string;
154
174
  name: string;
@@ -161,6 +181,28 @@ export declare const executionSchema: {
161
181
  foreignKey?: undefined;
162
182
  unique?: undefined;
163
183
  onDelete?: undefined;
184
+ } | {
185
+ type: string;
186
+ name: string;
187
+ uiSchema: {
188
+ type: string;
189
+ title: string;
190
+ 'x-component': string;
191
+ 'x-component-props': {
192
+ fieldNames?: undefined;
193
+ };
194
+ 'x-read-pretty': boolean;
195
+ 'x-decorator'?: undefined;
196
+ enum?: undefined;
197
+ };
198
+ interface?: undefined;
199
+ primaryKey?: undefined;
200
+ allowNull?: undefined;
201
+ target?: undefined;
202
+ foreignKey?: undefined;
203
+ unique?: undefined;
204
+ onDelete?: undefined;
205
+ defaultValue?: undefined;
164
206
  })[];
165
207
  indexes: {
166
208
  fields: string[];
@@ -6,7 +6,24 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
+ import type { BranchContextValue } from './BranchContext';
9
10
  export declare function linkNodes(nodes: any): void;
10
11
  export declare function traverseSchema(schema: any, fn: any): void;
11
12
  export declare function getWorkflowDetailPath(id: string | number): string;
12
13
  export declare function getWorkflowExecutionsPath(id: string | number): string;
14
+ type WorkflowCapabilityContext = {
15
+ engine: {
16
+ isWorkflowSync(workflow: any): boolean;
17
+ };
18
+ workflow: any;
19
+ upstream: any;
20
+ branchIndex: number | null;
21
+ syncOnly?: boolean;
22
+ branchContext?: Pick<BranchContextValue, 'syncOnly'> | null;
23
+ };
24
+ type AvailableInstruction = {
25
+ async?: boolean;
26
+ isAvailable?(ctx: WorkflowCapabilityContext): boolean;
27
+ };
28
+ export declare function getInstructionAvailable(instruction: AvailableInstruction, ctx: WorkflowCapabilityContext): string;
29
+ export {};
@@ -138,6 +138,26 @@ declare const _default: {
138
138
  unique?: undefined;
139
139
  onDelete?: undefined;
140
140
  defaultValue?: undefined;
141
+ } | {
142
+ type: string;
143
+ name: string;
144
+ uiSchema: {
145
+ title: string;
146
+ type: string;
147
+ 'x-component': string;
148
+ 'x-decorator': string;
149
+ enum: string;
150
+ 'x-component-props'?: undefined;
151
+ 'x-read-pretty'?: undefined;
152
+ };
153
+ interface?: undefined;
154
+ primaryKey?: undefined;
155
+ allowNull?: undefined;
156
+ target?: undefined;
157
+ foreignKey?: undefined;
158
+ unique?: undefined;
159
+ onDelete?: undefined;
160
+ defaultValue?: undefined;
141
161
  } | {
142
162
  type: string;
143
163
  name: string;
@@ -150,6 +170,28 @@ declare const _default: {
150
170
  foreignKey?: undefined;
151
171
  unique?: undefined;
152
172
  onDelete?: undefined;
173
+ } | {
174
+ type: string;
175
+ name: string;
176
+ uiSchema: {
177
+ type: string;
178
+ title: string;
179
+ 'x-component': string;
180
+ 'x-component-props': {
181
+ fieldNames?: undefined;
182
+ };
183
+ 'x-read-pretty': boolean;
184
+ 'x-decorator'?: undefined;
185
+ enum?: undefined;
186
+ };
187
+ interface?: undefined;
188
+ primaryKey?: undefined;
189
+ allowNull?: undefined;
190
+ target?: undefined;
191
+ foreignKey?: undefined;
192
+ unique?: undefined;
193
+ onDelete?: undefined;
194
+ defaultValue?: undefined;
153
195
  })[];
154
196
  indexes: {
155
197
  fields: string[];
@@ -113,11 +113,34 @@ var executions_default = {
113
113
  enum: "{{ExecutionStatusOptions}}"
114
114
  }
115
115
  },
116
+ {
117
+ type: "string",
118
+ name: "reason",
119
+ uiSchema: {
120
+ title: `{{t("Reason", { ns: "${import_constants.NAMESPACE}" })}}`,
121
+ type: "string",
122
+ "x-component": "Select",
123
+ "x-decorator": "FormItem",
124
+ enum: "{{ExecutionReasonOptions}}"
125
+ }
126
+ },
116
127
  {
117
128
  type: "boolean",
118
129
  name: "dispatched",
119
130
  defaultValue: false
120
131
  },
132
+ {
133
+ type: "bigInt",
134
+ name: "parentExecutionId",
135
+ interface: "id",
136
+ uiSchema: {
137
+ type: "number",
138
+ title: `{{t("Parent execution ID", { ns: "${import_constants.NAMESPACE}" })}}`,
139
+ "x-component": "InputNumber",
140
+ "x-component-props": {},
141
+ "x-read-pretty": true
142
+ }
143
+ },
121
144
  {
122
145
  type: "json",
123
146
  name: "stack"
@@ -126,6 +149,28 @@ var executions_default = {
126
149
  type: "json",
127
150
  name: "output"
128
151
  },
152
+ {
153
+ type: "datetime",
154
+ name: "startedAt",
155
+ uiSchema: {
156
+ type: "datetime",
157
+ title: `{{t("Started at", { ns: "${import_constants.NAMESPACE}" })}}`,
158
+ "x-component": "DatePicker",
159
+ "x-component-props": {},
160
+ "x-read-pretty": true
161
+ }
162
+ },
163
+ {
164
+ type: "datetime",
165
+ name: "expiresAt",
166
+ uiSchema: {
167
+ type: "datetime",
168
+ title: `{{t("Expires at", { ns: "${import_constants.NAMESPACE}" })}}`,
169
+ "x-component": "DatePicker",
170
+ "x-component-props": {},
171
+ "x-read-pretty": true
172
+ }
173
+ },
129
174
  {
130
175
  type: "datetime",
131
176
  name: "createdAt",
@@ -151,5 +196,9 @@ var executions_default = {
151
196
  }
152
197
  }
153
198
  ],
154
- indexes: [{ fields: ["dispatched", "id"] }]
199
+ indexes: [
200
+ { fields: ["dispatched", "id"] },
201
+ { fields: ["status", "expiresAt"] },
202
+ { fields: ["parentExecutionId", "status"] }
203
+ ]
155
204
  };
@@ -173,7 +173,9 @@ declare const _default: {
173
173
  type: string;
174
174
  name: string;
175
175
  required: boolean;
176
- defaultValue: {};
176
+ defaultValue: {
177
+ timeout?: undefined;
178
+ };
177
179
  primaryKey?: undefined;
178
180
  allowNull?: undefined;
179
181
  interface?: undefined;
@@ -265,7 +267,9 @@ declare const _default: {
265
267
  } | {
266
268
  type: string;
267
269
  name: string;
268
- defaultValue: {};
270
+ defaultValue: {
271
+ timeout: number;
272
+ };
269
273
  primaryKey?: undefined;
270
274
  allowNull?: undefined;
271
275
  interface?: undefined;
@@ -180,7 +180,9 @@ var workflows_default = {
180
180
  {
181
181
  type: "jsonb",
182
182
  name: "options",
183
- defaultValue: {}
183
+ defaultValue: {
184
+ timeout: 0
185
+ }
184
186
  },
185
187
  {
186
188
  type: "hasOne",
@@ -7,3 +7,8 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
  export declare const NAMESPACE = "workflow";
10
+ export declare const EXECUTION_REASON: {
11
+ readonly TIMEOUT: "timeout";
12
+ readonly MANUAL_CANCEL: "manual_cancel";
13
+ readonly PARENT_ABORTED: "parent_aborted";
14
+ };
@@ -26,11 +26,18 @@ var __copyProps = (to, from, except, desc) => {
26
26
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
27
27
  var constants_exports = {};
28
28
  __export(constants_exports, {
29
+ EXECUTION_REASON: () => EXECUTION_REASON,
29
30
  NAMESPACE: () => NAMESPACE
30
31
  });
31
32
  module.exports = __toCommonJS(constants_exports);
32
33
  const NAMESPACE = "workflow";
34
+ const EXECUTION_REASON = {
35
+ TIMEOUT: "timeout",
36
+ MANUAL_CANCEL: "manual_cancel",
37
+ PARENT_ABORTED: "parent_aborted"
38
+ };
33
39
  // Annotate the CommonJS export names for ESM import in node:
34
40
  0 && (module.exports = {
41
+ EXECUTION_REASON,
35
42
  NAMESPACE
36
43
  });
@@ -11,8 +11,8 @@ module.exports = {
11
11
  "react": "18.2.0",
12
12
  "@formily/core": "2.3.7",
13
13
  "@formily/react": "2.3.7",
14
- "@nocobase/client": "2.1.0-beta.36",
15
- "@nocobase/utils": "2.1.0-beta.36",
14
+ "@nocobase/client": "2.1.0-beta.38",
15
+ "@nocobase/utils": "2.1.0-beta.38",
16
16
  "antd": "5.24.2",
17
17
  "@ant-design/icons": "5.6.1",
18
18
  "react-router-dom": "6.30.1",
@@ -20,20 +20,20 @@ module.exports = {
20
20
  "lodash": "4.18.1",
21
21
  "@dnd-kit/core": "6.1.0",
22
22
  "@formily/shared": "2.3.7",
23
- "@nocobase/flow-engine": "2.1.0-beta.36",
24
- "@nocobase/plugin-mobile": "2.1.0-beta.36",
23
+ "@nocobase/flow-engine": "2.1.0-beta.38",
24
+ "@nocobase/plugin-mobile": "2.1.0-beta.38",
25
25
  "sequelize": "6.35.2",
26
- "@nocobase/server": "2.1.0-beta.36",
27
- "@nocobase/database": "2.1.0-beta.36",
28
- "@nocobase/data-source-manager": "2.1.0-beta.36",
29
- "@nocobase/logger": "2.1.0-beta.36",
30
- "@nocobase/evaluators": "2.1.0-beta.36",
26
+ "@nocobase/server": "2.1.0-beta.38",
27
+ "@nocobase/database": "2.1.0-beta.38",
28
+ "@nocobase/data-source-manager": "2.1.0-beta.38",
29
+ "@nocobase/logger": "2.1.0-beta.38",
30
+ "@nocobase/evaluators": "2.1.0-beta.38",
31
31
  "@formily/antd-v5": "1.2.3",
32
32
  "@formily/reactive": "2.3.7",
33
33
  "@emotion/css": "11.13.0",
34
34
  "@formily/json-schema": "2.3.7",
35
- "@nocobase/actions": "2.1.0-beta.36",
35
+ "@nocobase/actions": "2.1.0-beta.38",
36
36
  "dayjs": "1.11.13",
37
- "@nocobase/plugin-workflow-test": "2.1.0-beta.36",
38
- "@nocobase/test": "2.1.0-beta.36"
37
+ "@nocobase/plugin-workflow-test": "2.1.0-beta.38",
38
+ "@nocobase/test": "2.1.0-beta.38"
39
39
  };
@@ -102,6 +102,8 @@
102
102
  "Executed at": "Ausgeführt am",
103
103
  "Executed workflow cannot be modified. Could be copied to a new version to modify.": "Ausgeführter Workflow kann nicht geändert werden. Kann in eine neue Version kopiert werden, um Änderungen vorzunehmen.",
104
104
  "Execution history": "Ausführungsverlauf",
105
+ "Timeout settings": "Zeitlimit-Einstellungen",
106
+ "0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor.": "0 bedeutet unbegrenzt. Wenn Sie einen anderen Wert festlegen und die Ausführung beim Erreichen des Zeitlimits noch nicht abgeschlossen ist, wird der Ausführungsplan beendet und die verbleibenden Knoten werden nicht mehr ausgeführt. Die Zeit in der Warteschlange wird nicht mitgezählt; die Zeitmessung beginnt erst, nachdem die Ausführung erstmals einen Prozessor erreicht hat.",
105
107
  "Exit when query result is null": "Beenden, wenn das Abfrageergebnis null ist",
106
108
  "Expression syntax error": "Ausdruckssyntaxfehler",
107
109
  "Extended types": "Erweiterte Typen",
@@ -116,6 +118,7 @@
116
118
  "General failed but should do another try.": "Allgemeiner Fehler, aber sollte erneut versucht werden.",
117
119
  "Go back": "Zurück",
118
120
  "Hours": "Stunden",
121
+ "Milliseconds": "Millisekunden",
119
122
  "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.": "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.",
120
123
  "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.": "Wenn aktiviert, wird bei mehreren Datensätzen im Abfrageergebnis ein Array als Ergebnis zurückgegeben, das mit einem Schleifenknoten einzeln verarbeitet werden kann. Andernfalls wird nur ein Datensatz zurückgegeben.",
121
124
  "If the number of loop calls is too large, there will be performance issues.": "Wenn die Anzahl der Schleifenaufrufe zu groß ist, kann es zu Leistungsproblemen kommen.",
@@ -232,6 +235,7 @@
232
235
  "Unassigned fields will be set to default values, and those without default values will be set to null.": "Nicht zugewiesene Felder werden auf Standardwerte gesetzt, und solche ohne Standardwerte werden auf null gesetzt.",
233
236
  "Unknown node": "Unbekannter Knoten",
234
237
  "Unknown trigger": "Unbekannter Auslöser",
238
+ "Unlimited": "Unbegrenzt",
235
239
  "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.": "Alle berechtigten Daten auf einmal aktualisieren, was bei großen Datenmengen eine bessere Leistung bietet. Aber Assoziationsfelder werden nicht unterstützt (es sei denn, Fremdschlüssel in der aktuellen Sammlung), und die aktualisierten Daten lösen keine anderen Workflows aus.",
236
240
  "Update in a batch": "Stapelaktualisierung",
237
241
  "Update mode": "Aktualisierungsmodus",
@@ -104,6 +104,11 @@
104
104
  "Executed at": "Executed at",
105
105
  "Executed workflow cannot be modified. Could be copied to a new version to modify.": "Executed workflow cannot be modified. Could be copied to a new version to modify.",
106
106
  "Execution history": "Execution history",
107
+ "Timeout settings": "Timeout settings",
108
+ "Timed out": "Timed out",
109
+ "Canceled manually": "Canceled manually",
110
+ "Aborted with parent execution": "Aborted with parent execution",
111
+ "0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor.": "0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor.",
107
112
  "Exit when query result is null": "Exit when query result is null",
108
113
  "Expression syntax error": "Expression syntax error",
109
114
  "Extended types": "Extended types",
@@ -118,6 +123,7 @@
118
123
  "General failed but should do another try.": "General failed but should do another try.",
119
124
  "Go back": "Go back",
120
125
  "Hours": "Hours",
126
+ "Milliseconds": "Milliseconds",
121
127
  "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.": "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.",
122
128
  "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.": "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.",
123
129
  "If the number of loop calls is too large, there will be performance issues.": "If the number of loop calls is too large, there will be performance issues.",
@@ -239,6 +245,7 @@
239
245
  "Unassigned fields will be set to default values, and those without default values will be set to null.": "Unassigned fields will be set to default values, and those without default values will be set to null.",
240
246
  "Unknown node": "Unknown node",
241
247
  "Unknown trigger": "Unknown trigger",
248
+ "Unlimited": "Unlimited",
242
249
  "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.": "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.",
243
250
  "Update in a batch": "Update in a batch",
244
251
  "Update mode": "Update mode",
@@ -102,6 +102,8 @@
102
102
  "Executed at": "Ejecutado en",
103
103
  "Executed workflow cannot be modified. Could be copied to a new version to modify.": "Executed workflow cannot be modified. Could be copied to a new version to modify.",
104
104
  "Execution history": "Historial de ejecución",
105
+ "Timeout settings": "Configuración del tiempo de espera",
106
+ "0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor.": "0 significa sin límite. Si establece cualquier otro valor y la ejecución aún no ha finalizado cuando se alcanza el tiempo límite, el plan de ejecución se terminará y los nodos restantes no se ejecutarán. El tiempo en cola no se contabiliza; el conteo comienza solo después de que entra por primera vez en un procesador.",
105
107
  "Exit when query result is null": "Exit when query result is null",
106
108
  "Expression syntax error": "Expression syntax error",
107
109
  "Extended types": "Tipos ampliados",
@@ -116,6 +118,7 @@
116
118
  "General failed but should do another try.": "General failed but should do another try.",
117
119
  "Go back": "Go back",
118
120
  "Hours": "Horas",
121
+ "Milliseconds": "Milisegundos",
119
122
  "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.": "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.",
120
123
  "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.": "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.",
121
124
  "If the number of loop calls is too large, there will be performance issues.": "If the number of loop calls is too large, there will be performance issues.",
@@ -232,6 +235,7 @@
232
235
  "Unassigned fields will be set to default values, and those without default values will be set to null.": "Unassigned fields will be set to default values, and those without default values will be set to null.",
233
236
  "Unknown node": "Unknown node",
234
237
  "Unknown trigger": "Unknown trigger",
238
+ "Unlimited": "Sin límite",
235
239
  "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.": "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.",
236
240
  "Update in a batch": "Update in a batch",
237
241
  "Update mode": "Update mode",
@@ -102,6 +102,8 @@
102
102
  "Executed at": "Exécuté à",
103
103
  "Executed workflow cannot be modified. Could be copied to a new version to modify.": "Executed workflow cannot be modified. Could be copied to a new version to modify.",
104
104
  "Execution history": "Historique d'exécution",
105
+ "Timeout settings": "Paramètres de délai",
106
+ "0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor.": "0 signifie illimité. Si vous définissez une autre valeur et que l'exécution n'est toujours pas terminée lorsque le délai est atteint, le plan d'exécution sera interrompu et les nœuds restants ne seront pas exécutés. Le temps passé dans la file d'attente n'est pas comptabilisé ; le chronométrage ne commence qu'après la première entrée dans un processeur.",
105
107
  "Exit when query result is null": "Exit when query result is null",
106
108
  "Expression syntax error": "Expression syntax error",
107
109
  "Extended types": "Types étendus",
@@ -116,6 +118,7 @@
116
118
  "General failed but should do another try.": "General failed but should do another try.",
117
119
  "Go back": "Go back",
118
120
  "Hours": "Heures",
121
+ "Milliseconds": "Millisecondes",
119
122
  "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.": "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.",
120
123
  "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.": "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.",
121
124
  "If the number of loop calls is too large, there will be performance issues.": "If the number of loop calls is too large, there will be performance issues.",
@@ -232,6 +235,7 @@
232
235
  "Unassigned fields will be set to default values, and those without default values will be set to null.": "Unassigned fields will be set to default values, and those without default values will be set to null.",
233
236
  "Unknown node": "Unknown node",
234
237
  "Unknown trigger": "Unknown trigger",
238
+ "Unlimited": "Illimité",
235
239
  "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.": "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.",
236
240
  "Update in a batch": "Update in a batch",
237
241
  "Update mode": "Update mode",
@@ -102,6 +102,8 @@
102
102
  "Executed at": "Végrehajtás időpontja",
103
103
  "Executed workflow cannot be modified. Could be copied to a new version to modify.": "A végrehajtott munkafolyamat nem módosítható. Másolható új verzióba a módosításhoz.",
104
104
  "Execution history": "Végrehajtási előzmények",
105
+ "Timeout settings": "Időkorlát beállításai",
106
+ "0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor.": "A 0 korlátlant jelent. Ha bármilyen más értéket állít be, és a végrehajtás az időkorlát elérésekor még nem fejeződött be, a végrehajtási terv leáll, és a hátralévő csomópontok nem futnak le. A várólistán töltött idő nem számít bele; az időmérés csak azután kezdődik, hogy a végrehajtás először belép egy processzorba.",
105
107
  "Exit when query result is null": "Kilépés, ha a lekérdezés eredménye null",
106
108
  "Expression syntax error": "Kifejezés szintaxis hiba",
107
109
  "Extended types": "Kiterjesztett típusok",
@@ -115,7 +117,8 @@
115
117
  "Full form data": "Teljes űrlapadatok",
116
118
  "General failed but should do another try.": "Általános hiba, de újra kell próbálni.",
117
119
  "Go back": "Vissza",
118
- "Hours": "Órák",
120
+ "Hours": "Óra",
121
+ "Milliseconds": "Milliszekundum",
119
122
  "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.": "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.",
120
123
  "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.": "Ha bejelöli, amikor több rekord van a lekérdezés eredményében, egy tömb lesz visszaadva eredményként, amely egyenként feldolgozható egy ciklus csomópont használatával. Ellenkező esetben csak egy rekord lesz visszaadva.",
121
124
  "If the number of loop calls is too large, there will be performance issues.": "Ha a ciklushívások száma túl nagy, teljesítmény problémák léphetnek fel.",
@@ -131,7 +134,7 @@
131
134
  "Manually canceled whole execution when waiting.": "A teljes végrehajtás manuálisan megszakítva várakozás közben.",
132
135
  "Maximum number of cycling triggers": "Ciklikus kiváltások maximális száma",
133
136
  "Maximum number of loop calls": "Ciklushívások maximális száma",
134
- "Minutes": "Percek",
137
+ "Minutes": "Perc",
135
138
  "Mode": "Mód",
136
139
  "Months": "Hónapok",
137
140
  "Move all downstream nodes to": "Összes alárendelt csomópont áthelyezése ide",
@@ -178,7 +181,7 @@
178
181
  "Running of some node was aborted by program flow.": "Egy csomópont futása megszakítva a programfolyamat által.",
179
182
  "Schedule event": "Ütemezett esemény",
180
183
  "Scope variables": "Hatóköri változók",
181
- "Seconds": "Másodpercek",
184
+ "Seconds": "Másodperc",
182
185
  "Select context": "Kontextus kiválasztása",
183
186
  "Select users": "Select users",
184
187
  "Select workflow": "Munkafolyamat kiválasztása",
@@ -232,6 +235,7 @@
232
235
  "Unassigned fields will be set to default values, and those without default values will be set to null.": "A nem hozzárendelt mezők alapértelmezett értékre lesznek állítva, és azok, amelyeknek nincs alapértelmezett értéke, null értékre lesznek állítva.",
233
236
  "Unknown node": "Ismeretlen csomópont",
234
237
  "Unknown trigger": "Ismeretlen kiváltó",
238
+ "Unlimited": "Korlátlan",
235
239
  "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.": "Minden megfelelő adat frissítése egyszerre, ami jobb teljesítményt nyújt, ha az adatok mennyisége nagy. De a kapcsolati mezők nem támogatottak (hacsak nem idegen kulcs az aktuális gyűjteményben), és a frissített adatok nem indítanak el más munkafolyamatokat.",
236
240
  "Update in a batch": "Kötegelt frissítés",
237
241
  "Update mode": "Frissítési mód",
@@ -102,6 +102,8 @@
102
102
  "Executed at": "Dieksekusi pada",
103
103
  "Executed workflow cannot be modified. Could be copied to a new version to modify.": "Alur kerja yang dieksekusi tidak dapat dimodifikasi. Dapat disalin ke versi baru untuk dimodifikasi.",
104
104
  "Execution history": "Riwayat eksekusi",
105
+ "Timeout settings": "Pengaturan batas waktu",
106
+ "0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor.": "0 berarti tanpa batas. Jika Anda menetapkan nilai lain dan eksekusi masih belum selesai saat batas waktu tercapai, rencana eksekusi akan dihentikan dan node yang tersisa tidak akan dijalankan. Waktu antrean tidak dihitung; penghitungan waktu baru dimulai setelah pertama kali masuk ke prosesor.",
105
107
  "Exit when query result is null": "Keluar ketika hasil kueri nol",
106
108
  "Expression syntax error": "Kesalahan sintaks ekspresi",
107
109
  "Extended types": "Tipe yang diperluas",
@@ -116,6 +118,7 @@
116
118
  "General failed but should do another try.": "Umumnya gagal tetapi harus mencoba lagi.",
117
119
  "Go back": "Kembali",
118
120
  "Hours": "Jam",
121
+ "Milliseconds": "Milidetik",
119
122
  "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.": "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.",
120
123
  "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.": "Jika dicentang, ketika ada beberapa catatan dalam hasil kueri, sebuah array akan dikembalikan sebagai hasilnya, yang dapat dioperasikan satu per satu menggunakan node loop. Jika tidak, hanya satu catatan yang akan dikembalikan.",
121
124
  "If the number of loop calls is too large, there will be performance issues.": "Jika jumlah panggilan loop terlalu besar, akan ada masalah kinerja.",
@@ -232,6 +235,7 @@
232
235
  "Unassigned fields will be set to default values, and those without default values will be set to null.": "Bidang yang tidak ditetapkan akan diatur ke nilai default, dan yang tanpa nilai default akan diatur ke null.",
233
236
  "Unknown node": "Node tidak dikenal",
234
237
  "Unknown trigger": "Pemicu tidak dikenal",
238
+ "Unlimited": "Tanpa batas",
235
239
  "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.": "Perbarui semua data yang memenuhi syarat sekaligus, yang memiliki kinerja lebih baik ketika jumlah data besar. Tetapi bidang asosiasi tidak didukung (kecuali kunci asing dalam koleksi saat ini), dan data yang diperbarui tidak akan memicu alur kerja lain.",
236
240
  "Update in a batch": "Perbarui dalam batch",
237
241
  "Update mode": "Mode pembaruan",
@@ -102,6 +102,8 @@
102
102
  "Executed at": "Eseguito alle",
103
103
  "Executed workflow cannot be modified. Could be copied to a new version to modify.": "Il workflow eseguito non può essere modificato. Potrebbe essere copiato in una nuova versione per essere modificato.",
104
104
  "Execution history": "Cronologia esecuzioni",
105
+ "Timeout settings": "Impostazioni del timeout",
106
+ "0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor.": "0 significa illimitato. Se imposti qualsiasi altro valore e l'esecuzione non è ancora completata quando viene raggiunto il timeout, il piano di esecuzione verrà terminato e i nodi rimanenti non verranno eseguiti. Il tempo trascorso in coda non viene conteggiato; il conteggio inizia solo dopo il primo ingresso in un processore.",
105
107
  "Exit when query result is null": "Esci quando il risultato della query è null",
106
108
  "Expression syntax error": "Errore di sintassi dell'espressione",
107
109
  "Extended types": "Tipi estesi",
@@ -116,6 +118,7 @@
116
118
  "General failed but should do another try.": "Fallimento generico, ma dovrebbe essere fatto un altro tentativo.",
117
119
  "Go back": "Torna indietro",
118
120
  "Hours": "Ore",
121
+ "Milliseconds": "Millisecondi",
119
122
  "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.": "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.",
120
123
  "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.": "Se selezionato, quando ci sono più record nel risultato della query, sarà restituito come risultato un array, che può essere operato uno per uno usando un nodo ciclo. Altrimenti, sarà restituito solo un record.",
121
124
  "If the number of loop calls is too large, there will be performance issues.": "If the number of loop calls is too large, there will be performance issues.",
@@ -232,6 +235,7 @@
232
235
  "Unassigned fields will be set to default values, and those without default values will be set to null.": "I campi non assegnati saranno impostati ai valori predefiniti, e quelli senza valori predefiniti saranno impostati a null.",
233
236
  "Unknown node": "Nodo sconosciuto",
234
237
  "Unknown trigger": "Trigger sconosciuto",
238
+ "Unlimited": "Illimitato",
235
239
  "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.": "Aggiorna tutti i dati idonei in una volta, il che ha prestazioni migliori quando la quantità di dati è grande. Ma i campi di associazione non sono supportati (a meno che la chiave esterna non sia nella raccolta corrente), e i dati aggiornati non attiveranno altri workflow.",
236
240
  "Update in a batch": "Aggiornamento in batch",
237
241
  "Update mode": "Modalità di aggiornamento",
@@ -102,6 +102,8 @@
102
102
  "Executed at": "実行時刻",
103
103
  "Executed workflow cannot be modified. Could be copied to a new version to modify.": "実行済みのワークフローは変更できません。新しいバージョンにコピーして変更できます。",
104
104
  "Execution history": "実行履歴",
105
+ "Timeout settings": "タイムアウト設定",
106
+ "0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor.": "0 は無制限を意味します。その他の値を設定した場合、タイムアウト到達時点で実行がまだ完了していなければ、実行計画は終了され、残りのノードは実行されません。キュー待機時間はカウントされず、最初にプロセッサへ入った時点から計時が開始されます。",
105
107
  "Exit when query result is null": "クエリ結果がnullの場合、終了する",
106
108
  "Expression syntax error": "式の文法エラー",
107
109
  "Extended types": "拡張タイプ",
@@ -115,7 +117,8 @@
115
117
  "Full form data": "全てのフォームデータ",
116
118
  "General failed but should do another try.": "一般的な失敗ですが、再試行が必要です。",
117
119
  "Go back": "戻る",
118
- "Hours": "",
120
+ "Hours": "時間",
121
+ "Milliseconds": "ミリ秒",
119
122
  "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.": "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.",
120
123
  "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.": "チェックされた場合、クエリ結果に複数のレコードが含まれる場合、配列が結果として返されます。これをループノードで1つずつ処理できます。チェックされない場合、1つのレコードだけが返されます。",
121
124
  "If the number of loop calls is too large, there will be performance issues.": "ループ呼び出し回数が過多の場合、パフォーマンス問題が発生する可能性があります。",
@@ -233,6 +236,7 @@
233
236
  "Unassigned fields will be set to default values, and those without default values will be set to null.": "未割り当てのフィールドはデフォルト値に設定され、デフォルト値がない場合はnullに設定されます。",
234
237
  "Unknown node": "不明なノード",
235
238
  "Unknown trigger": "不明なトリガー",
239
+ "Unlimited": "無制限",
236
240
  "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.": "条件に合致するデータを一括更新します。データ量が多い場合に優れたパフォーマンスを発揮しますが、関連フィールドの更新には対応していません(当該コレクションの外部キーを除く)。また更新データは他のワークフローをトリガーしません。",
237
241
  "Update all eligible data at one time, which has better performance when the amount of data is large. But the updated data will not trigger other workflows, and will not record audit logs.": "対象データを一括で更新します。データ量が多い場合にパフォーマンスが向上します。ただし、更新されたデータは他のワークフローをトリガーせず、監査ログも記録しません。",
238
242
  "Update in a batch": "一括更新",
@@ -112,6 +112,8 @@
112
112
  "Executed workflow cannot be modified": "실행된 워크플로우는 수정할 수 없습니다.",
113
113
  "Executed workflow cannot be modified. Could be copied to a new version to modify.": "실행된 워크플로우는 수정할 수 없습니다. 새 버전으로 복사하여 수정할 수 있습니다.",
114
114
  "Execution history": "실행 기록",
115
+ "Timeout settings": "시간 제한 설정",
116
+ "0 means unlimited. If you set any other value and the execution is still not completed when the timeout is reached, the execution plan will be terminated and the remaining nodes will not be executed. Time spent in queue is not counted; timing starts only after it first enters a processor.": "0은 제한 없음을 의미합니다. 다른 값을 설정한 경우 제한 시간에 도달했을 때 실행이 아직 완료되지 않았다면 실행 계획이 종료되고 나머지 노드는 더 이상 실행되지 않습니다. 대기열 시간은 계산되지 않으며, 처음으로 프로세서에 들어간 후부터 시간이 계산됩니다.",
115
117
  "Exit when query result is null": "쿼리 결과가 null이면 종료",
116
118
  "Exit when the query result is null": "쿼리 결과가 null이면 종료",
117
119
  "Expression syntax error": "식 문법 오류",
@@ -127,6 +129,7 @@
127
129
  "General failed but should do another try.": "일반적인 실패이지만 다시 시도해야 합니다.",
128
130
  "Go back": "뒤로가기",
129
131
  "Hours": "시간",
132
+ "Milliseconds": "밀리초",
130
133
  "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.": "If checked, all nodes in-progress could continue to be processed in execution of disabled workflow. Otherwise, all nodes in-progress will be aborted automatically.",
131
134
  "If checked, when there are multiple records in the query result, an array will be returned as the result, which can be operated on one by one using a loop node. Otherwise, only one record will be returned.": "선택 시 쿼리 결과가 여러 레코드일 경우 배열로 반환되어 루프 노드에서 하나씩 처리할 수 있습니다. 그렇지 않으면 하나의 레코드만 반환됩니다.",
132
135
  "If the number of loop calls is too large, there will be performance issues.": "루프 호출 횟수가 너무 많으면 성능 문제가 발생할 수 있습니다.",
@@ -249,6 +252,7 @@
249
252
  "Unassigned fields will be set to default values, and those without default values will be set to null.": "값이 할당되지 않은 필드는 기본값으로, 기본값이 없는 필드는 null로 설정됩니다.",
250
253
  "Unknown node": "알 수 없는 노드",
251
254
  "Unknown trigger": "알 수 없는 트리거",
255
+ "Unlimited": "제한 없음",
252
256
  "Update all eligible data at one time, which has better performance when the amount of data is large. But association fields are not supported (unless foreign key in current collection), and the updated data will not trigger other workflows.": "해당하는 모든 데이터를 한 번에 업데이트하여 대량 데이터에 더 나은 성능을 보입니다. 단, 연관 필드는 지원하지 않으며(현재 컬렉션의 외래키 제외), 업데이트된 데이터는 다른 워크플로우를 트리거하지 않습니다.",
253
257
  "Update all eligible data at one time, which has better performance when the amount of data is large. But the updated data will not trigger other workflows, and will not record audit logs.": "해당하는 모든 데이터를 한 번에 업데이트하여 대량 데이터에 더 나은 성능을 보입니다. 단, 업데이트된 데이터는 다른 워크플로우를 트리거하지 않으며 감사 로그도 기록하지 않습니다.",
254
258
  "Update in a batch": "일괄 업데이트",