@nocobase/plugin-workflow 2.1.0-beta.37 → 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.
- package/dist/client/618.19af7f84261c815d.js +10 -0
- package/dist/client/964.ffbf5b47ed12bbdc.js +10 -0
- package/dist/client/components/TimeoutInput.d.ts +11 -0
- package/dist/client/constants.d.ts +13 -0
- package/dist/client/index.js +1 -1
- package/dist/client/schemas/executions.d.ts +42 -0
- package/dist/common/collections/executions.d.ts +42 -0
- package/dist/common/collections/executions.js +50 -1
- package/dist/common/collections/workflows.d.ts +6 -2
- package/dist/common/collections/workflows.js +3 -1
- package/dist/common/constants.d.ts +5 -0
- package/dist/common/constants.js +7 -0
- package/dist/externalVersion.js +12 -12
- package/dist/locale/de-DE.json +4 -0
- package/dist/locale/en-US.json +7 -0
- package/dist/locale/es-ES.json +4 -0
- package/dist/locale/fr-FR.json +4 -0
- package/dist/locale/hu-HU.json +7 -3
- package/dist/locale/id-ID.json +4 -0
- package/dist/locale/it-IT.json +4 -0
- package/dist/locale/ja-JP.json +5 -1
- package/dist/locale/ko-KR.json +4 -0
- package/dist/locale/nl-NL.json +7 -3
- package/dist/locale/pt-BR.json +4 -0
- package/dist/locale/ru-RU.json +4 -0
- package/dist/locale/tr-TR.json +4 -0
- package/dist/locale/uk-UA.json +7 -3
- package/dist/locale/vi-VN.json +7 -3
- package/dist/locale/zh-CN.json +8 -0
- package/dist/locale/zh-TW.json +7 -3
- package/dist/node_modules/cron-parser/package.json +1 -1
- package/dist/node_modules/joi/package.json +1 -1
- package/dist/node_modules/lru-cache/package.json +1 -1
- package/dist/node_modules/nodejs-snowflake/package.json +1 -1
- package/dist/server/Dispatcher.d.ts +9 -7
- package/dist/server/Dispatcher.js +190 -122
- package/dist/server/ExecutionTimeoutManager.d.ts +45 -0
- package/dist/server/ExecutionTimeoutManager.js +312 -0
- package/dist/server/Plugin.d.ts +12 -0
- package/dist/server/Plugin.js +21 -1
- package/dist/server/Processor.d.ts +65 -9
- package/dist/server/Processor.js +285 -33
- package/dist/server/RunningExecutionRegistry.d.ts +18 -0
- package/dist/server/RunningExecutionRegistry.js +48 -0
- package/dist/server/actions/executions.d.ts +4 -3
- package/dist/server/actions/executions.js +42 -21
- package/dist/server/actions/jobs.d.ts +2 -1
- package/dist/server/actions/jobs.js +28 -1
- package/dist/server/constants.d.ts +2 -0
- package/dist/server/constants.js +3 -0
- package/dist/server/index.d.ts +2 -0
- package/dist/server/index.js +2 -0
- package/dist/server/instructions/index.d.ts +10 -3
- package/dist/server/migrations/20260501120000-workflow-timeout.d.ts +13 -0
- package/dist/server/migrations/20260501120000-workflow-timeout.js +63 -0
- package/dist/server/timeout-errors.d.ts +13 -0
- package/dist/server/timeout-errors.js +47 -0
- package/dist/server/types/Execution.d.ts +6 -0
- package/dist/server/types/Job.d.ts +3 -3
- package/dist/server/types/Workflow.d.ts +6 -1
- package/dist/server/utils.d.ts +11 -1
- package/dist/server/utils.js +92 -5
- package/dist/swagger/index.d.ts +22 -0
- package/dist/swagger/index.js +22 -0
- package/package.json +2 -2
- package/dist/client/261.7722d7400942730e.js +0 -10
- package/dist/client/964.6251d37b35710747.js +0 -10
package/dist/locale/pt-BR.json
CHANGED
|
@@ -102,6 +102,8 @@
|
|
|
102
102
|
"Executed at": "Executado em",
|
|
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": "Histórico de execução",
|
|
105
|
+
"Timeout settings": "Configurações de tempo limite",
|
|
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 sem limite. Se você definir qualquer outro valor e a execução ainda não tiver sido concluída quando o tempo limite for atingido, o plano de execução será encerrado e os nós restantes não serão executados. O tempo na fila não é contabilizado; a contagem só começa depois que a execução entra em um processador pela primeira vez.",
|
|
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 estendidos",
|
|
@@ -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": "Milissegundos",
|
|
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": "Sem limite",
|
|
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",
|
package/dist/locale/ru-RU.json
CHANGED
|
@@ -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": "Расширенные типы",
|
|
@@ -116,6 +118,7 @@
|
|
|
116
118
|
"General failed but should do another try.": "Общая ошибка, но следует попробовать снова.",
|
|
117
119
|
"Go back": "Назад",
|
|
118
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.": "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.": "Если количество вызовов цикла слишком велико, возникнут проблемы с производительностью.",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"Unassigned fields will be set to default values, and those without default values will be set to null.": "Неназначенные поля будут установлены в значения по умолчанию, а те, у которых их нет, будут установлены в null.",
|
|
233
236
|
"Unknown node": "Неизвестный узел",
|
|
234
237
|
"Unknown trigger": "Неизвестный триггер",
|
|
238
|
+
"Unlimited": "Без ограничений",
|
|
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.": "Обновить все подходящие данные одновременно, что обеспечивает лучшую производительность при большом объеме данных. Однако связанные поля не поддерживаются (если внешний ключ не находится в текущей коллекции), и обновленные данные не будут запускать другие рабочие процессы.",
|
|
236
240
|
"Update in a batch": "Пакетное обновление",
|
|
237
241
|
"Update mode": "Режим обновления",
|
package/dist/locale/tr-TR.json
CHANGED
|
@@ -102,6 +102,8 @@
|
|
|
102
102
|
"Executed at": "Executed at",
|
|
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": "Yürütme Geçmişi",
|
|
105
|
+
"Timeout settings": "Zaman aşımı ayarları",
|
|
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 sınırsız anlamına gelir. Başka herhangi bir değer ayarlanırsa ve zaman aşımına ulaşıldığında yürütme hâlâ tamamlanmamışsa, yürütme planı sonlandırılır ve kalan düğümler çalıştırılmaz. Kuyrukta bekleme süresi hesaba katılmaz; süre sayımı yalnızca ilk kez bir işlemciye girdikten sonra başlar.",
|
|
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": "Extended types",
|
|
@@ -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": "Saat",
|
|
121
|
+
"Milliseconds": "Milisaniye",
|
|
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": "Sınırsız",
|
|
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",
|
package/dist/locale/uk-UA.json
CHANGED
|
@@ -102,6 +102,8 @@
|
|
|
102
102
|
"Executed at": "Executed at",
|
|
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": "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": "Exit when query result is null",
|
|
106
108
|
"Expression syntax error": "Expression syntax error",
|
|
107
109
|
"Extended types": "Extended types",
|
|
@@ -115,7 +117,8 @@
|
|
|
115
117
|
"Full form data": "Full form data",
|
|
116
118
|
"General failed but should do another try.": "General failed but should do another try.",
|
|
117
119
|
"Go back": "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.": "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.",
|
|
@@ -131,7 +134,7 @@
|
|
|
131
134
|
"Manually canceled whole execution when waiting.": "Manually canceled whole execution when waiting.",
|
|
132
135
|
"Maximum number of cycling triggers": "Maximum number of cycling triggers",
|
|
133
136
|
"Maximum number of loop calls": "Maximum number of loop calls",
|
|
134
|
-
"Minutes": "
|
|
137
|
+
"Minutes": "Хвилини",
|
|
135
138
|
"Mode": "Mode",
|
|
136
139
|
"Months": "Months",
|
|
137
140
|
"Move all downstream nodes to": "Move all downstream nodes to",
|
|
@@ -178,7 +181,7 @@
|
|
|
178
181
|
"Running of some node was aborted by program flow.": "Running of some node was aborted by program flow.",
|
|
179
182
|
"Schedule event": "Schedule event",
|
|
180
183
|
"Scope variables": "Scope variables",
|
|
181
|
-
"Seconds": "
|
|
184
|
+
"Seconds": "Секунди",
|
|
182
185
|
"Select context": "Select context",
|
|
183
186
|
"Select users": "Select users",
|
|
184
187
|
"Select workflow": "Select workflow",
|
|
@@ -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": "Без обмежень",
|
|
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",
|
package/dist/locale/vi-VN.json
CHANGED
|
@@ -102,6 +102,8 @@
|
|
|
102
102
|
"Executed at": "Executed at",
|
|
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": "Execution history",
|
|
105
|
+
"Timeout settings": "Cài đặt thời gian chờ",
|
|
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 nghĩa là không giới hạn. Nếu đặt bất kỳ giá trị nào khác mà việc thực thi vẫn chưa hoàn tất khi hết thời gian chờ, kế hoạch thực thi sẽ bị chấm dứt và các nút còn lại sẽ không được thực thi. Thời gian chờ trong hàng đợi không được tính; chỉ bắt đầu tính thời gian sau khi lần đầu đi vào bộ xử lý.",
|
|
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": "Extended types",
|
|
@@ -115,7 +117,8 @@
|
|
|
115
117
|
"Full form data": "Full form data",
|
|
116
118
|
"General failed but should do another try.": "General failed but should do another try.",
|
|
117
119
|
"Go back": "Go back",
|
|
118
|
-
"Hours": "
|
|
120
|
+
"Hours": "Giờ",
|
|
121
|
+
"Milliseconds": "Mili giây",
|
|
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.",
|
|
@@ -131,7 +134,7 @@
|
|
|
131
134
|
"Manually canceled whole execution when waiting.": "Manually canceled whole execution when waiting.",
|
|
132
135
|
"Maximum number of cycling triggers": "Maximum number of cycling triggers",
|
|
133
136
|
"Maximum number of loop calls": "Maximum number of loop calls",
|
|
134
|
-
"Minutes": "
|
|
137
|
+
"Minutes": "Phút",
|
|
135
138
|
"Mode": "Chế độ",
|
|
136
139
|
"Months": "Months",
|
|
137
140
|
"Move all downstream nodes to": "Move all downstream nodes to",
|
|
@@ -178,7 +181,7 @@
|
|
|
178
181
|
"Running of some node was aborted by program flow.": "Running of some node was aborted by program flow.",
|
|
179
182
|
"Schedule event": "Schedule event",
|
|
180
183
|
"Scope variables": "Scope variables",
|
|
181
|
-
"Seconds": "
|
|
184
|
+
"Seconds": "Giây",
|
|
182
185
|
"Select context": "Select context",
|
|
183
186
|
"Select users": "Select users",
|
|
184
187
|
"Select workflow": "Select workflow",
|
|
@@ -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": "Không giới hạn",
|
|
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",
|
package/dist/locale/zh-CN.json
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"Add node": "添加节点",
|
|
13
13
|
"Add workflow": "添加工作流",
|
|
14
14
|
"Advanced": "高级模式",
|
|
15
|
+
"Advance options": "高级选项",
|
|
15
16
|
"After end of branches": "分支结束后",
|
|
16
17
|
"After record added": "新增数据后",
|
|
17
18
|
"After record added or updated": "新增或更新数据后",
|
|
@@ -107,6 +108,11 @@
|
|
|
107
108
|
"Executed at": "执行于",
|
|
108
109
|
"Executed workflow cannot be modified. Could be copied to a new version to modify.": "已经执行过的工作流不能被修改,可通过复制到新版本后再修改。",
|
|
109
110
|
"Execution history": "执行历史",
|
|
111
|
+
"Timeout settings": "超时设置",
|
|
112
|
+
"Timed out": "已超时",
|
|
113
|
+
"Canceled manually": "手动取消",
|
|
114
|
+
"Aborted with parent execution": "随父执行一同终止",
|
|
115
|
+
"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 表示不限制,设置其他任意值在到期还未执行完成时,执行计划将被终止,剩余节点不再被执行。处于队列中的执行计划不计时,仅在首次进入处理器后开始计时。",
|
|
110
116
|
"Exit when query result is null": "查询结果为空时,退出流程",
|
|
111
117
|
"Expression syntax error": "表达式语法错误",
|
|
112
118
|
"Extended types": "扩展类型",
|
|
@@ -121,6 +127,7 @@
|
|
|
121
127
|
"General failed but should do another try.": "执行失败,需重试。",
|
|
122
128
|
"Go back": "返回",
|
|
123
129
|
"Hours": "小时",
|
|
130
|
+
"Milliseconds": "毫秒",
|
|
124
131
|
"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.": "如果选中,在途的节点在禁用或升级到新版本的工作流中将继续处理。否则将自动取消执行。",
|
|
125
132
|
"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.": "选中后,当查询结果有多条记录时,会返回数组作为结果,可以使用循环节点对它逐条操作;否则,仅返回一条数据。",
|
|
126
133
|
"Input workflow result": "请输入工作流执行结果",
|
|
@@ -247,6 +254,7 @@
|
|
|
247
254
|
"Unassigned fields will be set to default values, and those without default values will be set to null.": "未被赋值的字段将被设置为默认值,没有默认值的设置为空值。",
|
|
248
255
|
"Unknown node": "未知节点",
|
|
249
256
|
"Unknown trigger": "未知触发器",
|
|
257
|
+
"Unlimited": "不限制",
|
|
250
258
|
"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.": "一次性更新所有符合条件的数据,在数据量较大时有比较好的性能;但不支持关系字段的更新(除非是在当前表中的外键),被更新的数据也不会触发其他工作流。",
|
|
251
259
|
"Update in a batch": "批量更新",
|
|
252
260
|
"Update mode": "更新模式",
|
package/dist/locale/zh-TW.json
CHANGED
|
@@ -102,6 +102,8 @@
|
|
|
102
102
|
"Executed at": "Executed at",
|
|
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": "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": "Exit when query result is null",
|
|
106
108
|
"Expression syntax error": "Expression syntax error",
|
|
107
109
|
"Extended types": "Extended types",
|
|
@@ -115,7 +117,8 @@
|
|
|
115
117
|
"Full form data": "Full form data",
|
|
116
118
|
"General failed but should do another try.": "General failed but should do another try.",
|
|
117
119
|
"Go back": "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.": "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.",
|
|
@@ -131,7 +134,7 @@
|
|
|
131
134
|
"Manually canceled whole execution when waiting.": "Manually canceled whole execution when waiting.",
|
|
132
135
|
"Maximum number of cycling triggers": "Maximum number of cycling triggers",
|
|
133
136
|
"Maximum number of loop calls": "Maximum number of loop calls",
|
|
134
|
-
"Minutes": "
|
|
137
|
+
"Minutes": "分鐘",
|
|
135
138
|
"Mode": "Mode",
|
|
136
139
|
"Months": "Months",
|
|
137
140
|
"Move all downstream nodes to": "Move all downstream nodes to",
|
|
@@ -178,7 +181,7 @@
|
|
|
178
181
|
"Running of some node was aborted by program flow.": "Running of some node was aborted by program flow.",
|
|
179
182
|
"Schedule event": "Schedule event",
|
|
180
183
|
"Scope variables": "Scope variables",
|
|
181
|
-
"Seconds": "
|
|
184
|
+
"Seconds": "秒",
|
|
182
185
|
"Select context": "Select context",
|
|
183
186
|
"Select users": "Select users",
|
|
184
187
|
"Select workflow": "Select workflow",
|
|
@@ -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": "不限制",
|
|
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",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2026-05-
|
|
1
|
+
{"name":"cron-parser","version":"4.4.0","description":"Node.js library for parsing crontab instructions","main":"lib/parser.js","types":"index.d.ts","typesVersions":{"<4.1":{"*":["types/ts3/*"]}},"directories":{"test":"test"},"scripts":{"test:tsd":"tsd","test:unit":"TZ=UTC tap ./test/*.js","test:cover":"TZ=UTC tap --coverage-report=html ./test/*.js","lint":"eslint .","lint:fix":"eslint --fix .","test":"npm run lint && npm run test:unit && npm run test:tsd"},"repository":{"type":"git","url":"https://github.com/harrisiirak/cron-parser.git"},"keywords":["cron","crontab","parser"],"author":"Harri Siirak","contributors":["Nicholas Clawson","Daniel Prentis <daniel@salsitasoft.com>","Renault John Lecoultre","Richard Astbury <richard.astbury@gmail.com>","Meaglin Wasabi <Meaglin.wasabi@gmail.com>","Mike Kusold <hello@mikekusold.com>","Alex Kit <alex.kit@atmajs.com>","Santiago Gimeno <santiago.gimeno@gmail.com>","Daniel <darc.tec@gmail.com>","Christian Steininger <christian.steininger.cs@gmail.com>","Mykola Piskovyi <m.piskovyi@gmail.com>","Brian Vaughn <brian.david.vaughn@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Yasuhiroki <yasuhiroki.duck@gmail.com>","Nicholas Clawson <nickclaw@gmail.com>","Brendan Warkentin <faazshift@gmail.com>","Charlie Fish <fishcharlie.code@gmail.com>","Ian Graves <ian+diskimage@iangrav.es>","Andy Thompson <me@andytson.com>","Regev Brody <regevbr@gmail.com>"],"license":"MIT","dependencies":{"luxon":"^1.28.0"},"devDependencies":{"eslint":"^8.2.0","sinon":"^10.0.0","tap":"^16.0.1","tsd":"^0.19.0"},"engines":{"node":">=0.8"},"browser":{"fs":false},"tap":{"check-coverage":false},"tsd":{"directory":"test","compilerOptions":{"lib":["es2017","dom"]}},"_lastModified":"2026-05-29T02:53:45.763Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"joi","description":"Object schema validation","version":"17.13.3","repository":"git://github.com/hapijs/joi","main":"lib/index.js","types":"lib/index.d.ts","browser":"dist/joi-browser.min.js","files":["lib/**/*","dist/*"],"keywords":["schema","validation"],"dependencies":{"@hapi/hoek":"^9.3.0","@hapi/topo":"^5.1.0","@sideway/address":"^4.1.5","@sideway/formula":"^3.0.1","@sideway/pinpoint":"^2.0.0"},"devDependencies":{"@hapi/bourne":"2.x.x","@hapi/code":"8.x.x","@hapi/joi-legacy-test":"npm:@hapi/joi@15.x.x","@hapi/lab":"^25.1.3","@types/node":"^14.18.63","typescript":"4.3.x"},"scripts":{"prepublishOnly":"cd browser && npm install && npm run build","test":"lab -t 100 -a @hapi/code -L -Y","test-cov-html":"lab -r html -o coverage.html -a @hapi/code"},"license":"BSD-3-Clause","_lastModified":"2026-05-
|
|
1
|
+
{"name":"joi","description":"Object schema validation","version":"17.13.3","repository":"git://github.com/hapijs/joi","main":"lib/index.js","types":"lib/index.d.ts","browser":"dist/joi-browser.min.js","files":["lib/**/*","dist/*"],"keywords":["schema","validation"],"dependencies":{"@hapi/hoek":"^9.3.0","@hapi/topo":"^5.1.0","@sideway/address":"^4.1.5","@sideway/formula":"^3.0.1","@sideway/pinpoint":"^2.0.0"},"devDependencies":{"@hapi/bourne":"2.x.x","@hapi/code":"8.x.x","@hapi/joi-legacy-test":"npm:@hapi/joi@15.x.x","@hapi/lab":"^25.1.3","@types/node":"^14.18.63","typescript":"4.3.x"},"scripts":{"prepublishOnly":"cd browser && npm install && npm run build","test":"lab -t 100 -a @hapi/code -L -Y","test-cov-html":"lab -r html -o coverage.html -a @hapi/code"},"license":"BSD-3-Clause","_lastModified":"2026-05-29T02:53:45.515Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"11.3.5","author":"Isaac Z. Schlueter <i@izs.me>","keywords":["mru","lru","cache"],"sideEffects":false,"scripts":{"build":"npm run prepare","prepare":"tshy && bash scripts/build.sh","pretest":"npm run prepare","presnap":"npm run prepare","test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","format":"prettier --write .","typedoc":"typedoc --tsconfig ./.tshy/esm.json ./src/*.ts","benchmark-results-typedoc":"bash scripts/benchmark-results-typedoc.sh","prebenchmark":"npm run prepare","benchmark":"make -C benchmark","preprofile":"npm run prepare","profile":"make -C benchmark profile","lint":"oxlint --fix src test","postsnap":"npm run lint","postlint":"npm run format"},"main":"./dist/commonjs/index.min.js","types":"./dist/commonjs/index.d.ts","tshy":{"esmDialects":["node","browser"],"exports":{"./raw":"./src/index.ts",".":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.min.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.min.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}}},"selfLink":false},"repository":{"type":"git","url":"git+ssh://git@github.com/isaacs/node-lru-cache.git"},"devDependencies":{"benchmark":"^2.1.4","esbuild":"^0.25.9","marked":"^4.2.12","mkdirp":"^3.0.1","oxlint":"^1.58.0","oxlint-tsgolint":"^0.19.0","prettier":"^3.8.1","tap":"^21.6.3","tshy":"^4.1.1","typedoc":"^0.28.18"},"license":"BlueOak-1.0.0","files":["dist"],"engines":{"node":"20 || >=22"},"exports":{"./raw":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},".":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.min.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.min.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}}},"type":"module","module":"./dist/esm/index.min.js","_lastModified":"2026-05-
|
|
1
|
+
{"name":"lru-cache","description":"A cache object that deletes the least-recently-used items.","version":"11.3.5","author":"Isaac Z. Schlueter <i@izs.me>","keywords":["mru","lru","cache"],"sideEffects":false,"scripts":{"build":"npm run prepare","prepare":"tshy && bash scripts/build.sh","pretest":"npm run prepare","presnap":"npm run prepare","test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","prepublishOnly":"git push origin --follow-tags","format":"prettier --write .","typedoc":"typedoc --tsconfig ./.tshy/esm.json ./src/*.ts","benchmark-results-typedoc":"bash scripts/benchmark-results-typedoc.sh","prebenchmark":"npm run prepare","benchmark":"make -C benchmark","preprofile":"npm run prepare","profile":"make -C benchmark profile","lint":"oxlint --fix src test","postsnap":"npm run lint","postlint":"npm run format"},"main":"./dist/commonjs/index.min.js","types":"./dist/commonjs/index.d.ts","tshy":{"esmDialects":["node","browser"],"exports":{"./raw":"./src/index.ts",".":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.min.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.min.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}}},"selfLink":false},"repository":{"type":"git","url":"git+ssh://git@github.com/isaacs/node-lru-cache.git"},"devDependencies":{"benchmark":"^2.1.4","esbuild":"^0.25.9","marked":"^4.2.12","mkdirp":"^3.0.1","oxlint":"^1.58.0","oxlint-tsgolint":"^0.19.0","prettier":"^3.8.1","tap":"^21.6.3","tshy":"^4.1.1","typedoc":"^0.28.18"},"license":"BlueOak-1.0.0","files":["dist"],"engines":{"node":"20 || >=22"},"exports":{"./raw":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.js"}},".":{"import":{"node":{"types":"./dist/esm/node/index.d.ts","default":"./dist/esm/node/index.min.js"},"browser":{"types":"./dist/esm/browser/index.d.ts","default":"./dist/esm/browser/index.min.js"},"types":"./dist/esm/index.d.ts","default":"./dist/esm/index.min.js"},"require":{"types":"./dist/commonjs/index.d.ts","default":"./dist/commonjs/index.min.js"}}},"type":"module","module":"./dist/esm/index.min.js","_lastModified":"2026-05-29T02:53:44.779Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"nodejs-snowflake","collaborators":["Utkarsh Srivastava <utkarsh@sagacious.dev>"],"description":"Generate time sortable 64 bits unique ids for distributed systems (inspired from twitter snowflake)","version":"2.0.1","license":"Apache 2.0","repository":{"type":"git","url":"https://github.com/utkarsh-pro/nodejs-snowflake.git"},"files":["nodejs_snowflake_bg.wasm","nodejs_snowflake.js","nodejs_snowflake.d.ts"],"main":"nodejs_snowflake.js","types":"nodejs_snowflake.d.ts","_lastModified":"2026-05-
|
|
1
|
+
{"name":"nodejs-snowflake","collaborators":["Utkarsh Srivastava <utkarsh@sagacious.dev>"],"description":"Generate time sortable 64 bits unique ids for distributed systems (inspired from twitter snowflake)","version":"2.0.1","license":"Apache 2.0","repository":{"type":"git","url":"https://github.com/utkarsh-pro/nodejs-snowflake.git"},"files":["nodejs_snowflake_bg.wasm","nodejs_snowflake.js","nodejs_snowflake.d.ts"],"main":"nodejs_snowflake.js","types":"nodejs_snowflake.d.ts","_lastModified":"2026-05-29T02:53:44.597Z"}
|
|
@@ -8,13 +8,14 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { Transactionable } from 'sequelize';
|
|
10
10
|
import type { QueueEventOptions } from '@nocobase/server';
|
|
11
|
-
import Processor from './Processor';
|
|
11
|
+
import Processor, { ProcessorRerunOptions } from './Processor';
|
|
12
12
|
import type { ExecutionModel, JobModel, WorkflowModel } from './types';
|
|
13
13
|
import type PluginWorkflowServer from './Plugin';
|
|
14
14
|
type Pending = {
|
|
15
15
|
execution: ExecutionModel;
|
|
16
16
|
job?: JobModel;
|
|
17
|
-
|
|
17
|
+
immediate?: boolean;
|
|
18
|
+
rerun?: ProcessorRerunOptions;
|
|
18
19
|
};
|
|
19
20
|
export type EventOptions = {
|
|
20
21
|
eventKey?: string;
|
|
@@ -23,6 +24,7 @@ export type EventOptions = {
|
|
|
23
24
|
manually?: boolean;
|
|
24
25
|
force?: boolean;
|
|
25
26
|
stack?: Array<number | string>;
|
|
27
|
+
parentExecutionId?: number | string;
|
|
26
28
|
onTriggerFail?: Function;
|
|
27
29
|
[key: string]: any;
|
|
28
30
|
} & Transactionable;
|
|
@@ -30,7 +32,7 @@ export default class Dispatcher {
|
|
|
30
32
|
private readonly plugin;
|
|
31
33
|
private ready;
|
|
32
34
|
private executing;
|
|
33
|
-
private
|
|
35
|
+
private saving;
|
|
34
36
|
private pending;
|
|
35
37
|
private events;
|
|
36
38
|
private eventsCount;
|
|
@@ -40,8 +42,8 @@ export default class Dispatcher {
|
|
|
40
42
|
setReady(ready: boolean): void;
|
|
41
43
|
getEventsCount(): number;
|
|
42
44
|
trigger(workflow: WorkflowModel, context: object, options?: EventOptions): void | Promise<Processor | null>;
|
|
43
|
-
private
|
|
44
|
-
resume(job:
|
|
45
|
+
private saveEvent;
|
|
46
|
+
resume(job: JobModel): Promise<void>;
|
|
45
47
|
start(execution: ExecutionModel): Promise<void>;
|
|
46
48
|
beforeStop(): Promise<void>;
|
|
47
49
|
dispatch(): void;
|
|
@@ -49,8 +51,8 @@ export default class Dispatcher {
|
|
|
49
51
|
private triggerSync;
|
|
50
52
|
private validateEvent;
|
|
51
53
|
private createExecution;
|
|
52
|
-
private
|
|
53
|
-
private
|
|
54
|
+
private prepare;
|
|
55
|
+
private enter;
|
|
54
56
|
private process;
|
|
55
57
|
}
|
|
56
58
|
export {};
|