@budibase/server 1.2.45 → 1.2.46
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/builder/assets/{index.0956c8bc.js → index.f6823431.js} +1 -1
- package/builder/index.html +1 -1
- package/coverage/clover.xml +29 -27
- package/coverage/coverage-final.json +2 -2
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/utils/index.html +1 -1
- package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +13 -7
- package/coverage/lcov-report/automations/index.html +12 -12
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +1 -1
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +1 -1
- package/coverage/lcov-report/events/AutomationEmitter.js.html +5 -5
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +11 -11
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +1 -1
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/coverage/lcov.info +33 -31
- package/dist/automations/bullboard.js +2 -0
- package/dist/automations/listeners.js +102 -0
- package/dist/automations/utils.js +6 -2
- package/dist/package.json +6 -6
- package/dist/threads/automation.js +27 -11
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/automations/bullboard.js +2 -0
- package/src/automations/listeners.ts +78 -0
- package/src/automations/utils.ts +7 -6
- package/src/threads/automation.ts +35 -16
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.addListeners = void 0;
|
|
36
|
+
const automation = __importStar(require("../threads/automation"));
|
|
37
|
+
const addListeners = (queue) => {
|
|
38
|
+
logging(queue);
|
|
39
|
+
// handleStalled(queue)
|
|
40
|
+
};
|
|
41
|
+
exports.addListeners = addListeners;
|
|
42
|
+
const handleStalled = (queue) => {
|
|
43
|
+
queue.on("active", (job) => __awaiter(void 0, void 0, void 0, function* () {
|
|
44
|
+
yield automation.removeStalled(job);
|
|
45
|
+
}));
|
|
46
|
+
};
|
|
47
|
+
const logging = (queue) => {
|
|
48
|
+
var _a;
|
|
49
|
+
if ((_a = process.env.NODE_DEBUG) === null || _a === void 0 ? void 0 : _a.includes("bull")) {
|
|
50
|
+
queue
|
|
51
|
+
.on("error", (error) => {
|
|
52
|
+
// An error occurred.
|
|
53
|
+
console.error(`automation-event=error error=${JSON.stringify(error)}`);
|
|
54
|
+
})
|
|
55
|
+
.on("waiting", (jobId) => {
|
|
56
|
+
// A Job is waiting to be processed as soon as a worker is idling.
|
|
57
|
+
console.log(`automation-event=waiting jobId=${jobId}`);
|
|
58
|
+
})
|
|
59
|
+
.on("active", (job, jobPromise) => {
|
|
60
|
+
// A job has started. You can use `jobPromise.cancel()`` to abort it.
|
|
61
|
+
console.log(`automation-event=active jobId=${job.id}`);
|
|
62
|
+
})
|
|
63
|
+
.on("stalled", (job) => {
|
|
64
|
+
// A job has been marked as stalled. This is useful for debugging job
|
|
65
|
+
// workers that crash or pause the event loop.
|
|
66
|
+
console.error(`automation-event=stalled jobId=${job.id} job=${JSON.stringify(job)}`);
|
|
67
|
+
})
|
|
68
|
+
.on("progress", (job, progress) => {
|
|
69
|
+
// A job's progress was updated!
|
|
70
|
+
console.log(`automation-event=progress jobId=${job.id} progress=${progress}`);
|
|
71
|
+
})
|
|
72
|
+
.on("completed", (job, result) => {
|
|
73
|
+
// A job successfully completed with a `result`.
|
|
74
|
+
console.log(`automation-event=completed jobId=${job.id} result=${result}`);
|
|
75
|
+
})
|
|
76
|
+
.on("failed", (job, err) => {
|
|
77
|
+
// A job failed with reason `err`!
|
|
78
|
+
console.log(`automation-event=failed jobId=${job.id} error=${err}`);
|
|
79
|
+
})
|
|
80
|
+
.on("paused", () => {
|
|
81
|
+
// The queue has been paused.
|
|
82
|
+
console.log(`automation-event=paused`);
|
|
83
|
+
})
|
|
84
|
+
.on("resumed", (job) => {
|
|
85
|
+
// The queue has been resumed.
|
|
86
|
+
console.log(`automation-event=paused jobId=${job.id}`);
|
|
87
|
+
})
|
|
88
|
+
.on("cleaned", (jobs, type) => {
|
|
89
|
+
// Old jobs have been cleaned from the queue. `jobs` is an array of cleaned
|
|
90
|
+
// jobs, and `type` is the type of jobs cleaned.
|
|
91
|
+
console.log(`automation-event=cleaned length=${jobs.length} type=${type}`);
|
|
92
|
+
})
|
|
93
|
+
.on("drained", () => {
|
|
94
|
+
// Emitted every time the queue has processed all the waiting jobs (even if there can be some delayed jobs not yet processed)
|
|
95
|
+
console.log(`automation-event=drained`);
|
|
96
|
+
})
|
|
97
|
+
.on("removed", (job) => {
|
|
98
|
+
// A job successfully removed.
|
|
99
|
+
console.log(`automation-event=removed jobId=${job.id}`);
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
};
|
|
@@ -52,10 +52,13 @@ const pro_1 = require("@budibase/pro");
|
|
|
52
52
|
const WH_STEP_ID = triggerInfo_1.definitions.WEBHOOK.stepId;
|
|
53
53
|
const CRON_STEP_ID = triggerInfo_1.definitions.CRON.stepId;
|
|
54
54
|
const Runner = new threads_1.Thread(threads_1.ThreadType.AUTOMATION);
|
|
55
|
+
const jobMessage = (job, message) => {
|
|
56
|
+
return `app=${job.data.event.appId} automation=${job.data.automation._id} jobId=${job.id} trigger=${job.data.automation.definition.trigger.event} : ${message}`;
|
|
57
|
+
};
|
|
55
58
|
function processEvent(job) {
|
|
56
59
|
return __awaiter(this, void 0, void 0, function* () {
|
|
57
60
|
try {
|
|
58
|
-
console.log(
|
|
61
|
+
console.log(jobMessage(job, "running"));
|
|
59
62
|
// need to actually await these so that an error can be captured properly
|
|
60
63
|
const tenantId = backend_core_1.tenancy.getTenantIDFromAppID(job.data.event.appId);
|
|
61
64
|
return yield backend_core_1.tenancy.doInTenant(tenantId, () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -65,7 +68,7 @@ function processEvent(job) {
|
|
|
65
68
|
}
|
|
66
69
|
catch (err) {
|
|
67
70
|
const errJson = JSON.stringify(err);
|
|
68
|
-
console.error(
|
|
71
|
+
console.error(jobMessage(job, `was unable to run - ${errJson}`));
|
|
69
72
|
console.trace(err);
|
|
70
73
|
return { err };
|
|
71
74
|
}
|
|
@@ -119,6 +122,7 @@ function disableCron(jobId, jobKey) {
|
|
|
119
122
|
return __awaiter(this, void 0, void 0, function* () {
|
|
120
123
|
yield bullboard_1.queue.removeRepeatableByKey(jobKey);
|
|
121
124
|
yield bullboard_1.queue.removeJobs(jobId);
|
|
125
|
+
console.log(`jobId=${jobId} disabled`);
|
|
122
126
|
});
|
|
123
127
|
}
|
|
124
128
|
exports.disableCron = disableCron;
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/server",
|
|
3
3
|
"email": "hi@budibase.com",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.45",
|
|
5
5
|
"description": "Budibase Web Server",
|
|
6
6
|
"main": "src/index.ts",
|
|
7
7
|
"repository": {
|
|
@@ -77,11 +77,11 @@
|
|
|
77
77
|
"license": "GPL-3.0",
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@apidevtools/swagger-parser": "10.0.3",
|
|
80
|
-
"@budibase/backend-core": "^1.2.
|
|
81
|
-
"@budibase/client": "^1.2.
|
|
82
|
-
"@budibase/pro": "1.2.
|
|
83
|
-
"@budibase/string-templates": "^1.2.
|
|
84
|
-
"@budibase/types": "^1.2.
|
|
80
|
+
"@budibase/backend-core": "^1.2.45",
|
|
81
|
+
"@budibase/client": "^1.2.45",
|
|
82
|
+
"@budibase/pro": "1.2.45",
|
|
83
|
+
"@budibase/string-templates": "^1.2.45",
|
|
84
|
+
"@budibase/types": "^1.2.45",
|
|
85
85
|
"@bull-board/api": "3.7.0",
|
|
86
86
|
"@bull-board/koa": "3.9.4",
|
|
87
87
|
"@elastic/elasticsearch": "7.10.0",
|
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.execute = void 0;
|
|
15
|
+
exports.removeStalled = exports.execute = void 0;
|
|
16
16
|
const utils_1 = __importDefault(require("./utils"));
|
|
17
17
|
utils_1.default.threadSetup();
|
|
18
18
|
const utils_2 = require("../automations/utils");
|
|
@@ -130,22 +130,30 @@ class Orchestrator {
|
|
|
130
130
|
return metadata;
|
|
131
131
|
});
|
|
132
132
|
}
|
|
133
|
-
|
|
133
|
+
stopCron(reason) {
|
|
134
134
|
var _a, _b;
|
|
135
135
|
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
-
if (!
|
|
137
|
-
return
|
|
136
|
+
if (!this._repeat) {
|
|
137
|
+
return;
|
|
138
138
|
}
|
|
139
|
+
logWarn(`CRON disabled reason=${reason} - ${this._appId}/${this._automation._id}`);
|
|
139
140
|
const automation = this._automation;
|
|
140
141
|
const trigger = automation.definition.trigger;
|
|
142
|
+
yield (0, utils_2.disableCron)((_a = this._repeat) === null || _a === void 0 ? void 0 : _a.jobId, (_b = this._repeat) === null || _b === void 0 ? void 0 : _b.jobKey);
|
|
143
|
+
this.updateExecutionOutput(trigger.id, trigger.stepId, {}, {
|
|
144
|
+
status: types_1.AutomationStatus.STOPPED_ERROR,
|
|
145
|
+
success: false,
|
|
146
|
+
});
|
|
147
|
+
yield (0, logging_1.storeLog)(automation, this.executionOutput);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
checkIfShouldStop(metadata) {
|
|
151
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
152
|
+
if (!metadata.errorCount || !this._repeat) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
141
155
|
if (metadata.errorCount >= constants_1.MAX_AUTOMATION_RECURRING_ERRORS) {
|
|
142
|
-
|
|
143
|
-
yield (0, utils_2.disableCron)((_a = this._repeat) === null || _a === void 0 ? void 0 : _a.jobId, (_b = this._repeat) === null || _b === void 0 ? void 0 : _b.jobKey);
|
|
144
|
-
this.updateExecutionOutput(trigger.id, trigger.stepId, {}, {
|
|
145
|
-
status: types_1.AutomationStatus.STOPPED_ERROR,
|
|
146
|
-
success: false,
|
|
147
|
-
});
|
|
148
|
-
yield (0, logging_1.storeLog)(automation, this.executionOutput);
|
|
156
|
+
yield this.stopCron("errors");
|
|
149
157
|
return true;
|
|
150
158
|
}
|
|
151
159
|
return false;
|
|
@@ -396,3 +404,11 @@ function execute(input, callback) {
|
|
|
396
404
|
}));
|
|
397
405
|
}
|
|
398
406
|
exports.execute = execute;
|
|
407
|
+
const removeStalled = (input) => {
|
|
408
|
+
const appId = input.data.event.appId;
|
|
409
|
+
doInAppContext(appId, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
410
|
+
const automationOrchestrator = new Orchestrator(input.data.automation, input.data.event, input.opts);
|
|
411
|
+
yield automationOrchestrator.stopCron("stalled");
|
|
412
|
+
}));
|
|
413
|
+
};
|
|
414
|
+
exports.removeStalled = removeStalled;
|