acady-task-worker 2.3.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/connectors/aws-sf-connector.js +2 -2
- package/lib/connectors/aws-sf-connector.js.map +1 -1
- package/lib/connectors/aws-sqs-connector.js +2 -2
- package/lib/connectors/aws-sqs-connector.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/services/task-service.js +2 -2
- package/lib/task-processor/abstract-task-context.d.ts +13 -0
- package/lib/task-processor/abstract-task-context.js +120 -0
- package/lib/task-processor/abstract-task-context.js.map +1 -0
- package/lib/task-processor/abstract-task-processor.d.ts +3 -6
- package/lib/task-processor/abstract-task-processor.js +2 -90
- package/lib/task-processor/abstract-task-processor.js.map +1 -1
- package/lib/task-processor/task-context.d.ts +3 -0
- package/lib/task-processor/task-context.js +28 -0
- package/lib/task-processor/task-context.js.map +1 -0
- package/lib/task-processor/task-processor.d.ts +2 -0
- package/lib/task-processor/task-processor.js +18 -14
- package/lib/task-processor/task-processor.js.map +1 -1
- package/lib/task-processor/task.d.ts +5 -5
- package/lib/task-processor/task.js +46 -22
- package/lib/task-processor/task.js.map +1 -1
- package/package.json +13 -10
|
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g =
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
14
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
15
|
function step(op) {
|
|
16
16
|
if (f) throw new TypeError("Generator is already executing.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-sf-connector.js","sourceRoot":"","sources":["../../src/connectors/aws-sf-connector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAO6B;AAE7B;IAAA;IAgEA,CAAC;IA9DuB,8BAAe,GAAnC,UAAoC,SAAiB,EAAE,MAAW;;;;gBACxD,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;gBACtC,OAAO,GAAG,IAAI,mCAAsB,CAAC;oBACvC,SAAS,WAAA;oBACT,MAAM,QAAA;iBACT,CAAC,CAAC;gBACH,sBAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC;;;KAC/B;IAEmB,8BAAe,GAAnC,UAAoC,SAAiB,EAAE,KAAa,EAAE,KAAa;;;;gBACzE,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;gBACtC,OAAO,GAAG,IAAI,mCAAsB,CAAC;oBACvC,SAAS,WAAA;oBACT,KAAK,OAAA;oBACL,KAAK,OAAA;iBACR,CAAC,CAAC;gBACH,sBAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC;;;KAC/B;IAEmB,gCAAiB,GAArC,UAAsC,SAAiB;;;;gBAC7C,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;gBACtC,OAAO,GAAG,IAAI,qCAAwB,CAAC;oBACzC,SAAS,WAAA;iBACZ,CAAC,CAAC;gBACH,sBAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC;;;KAC/B;IAEmB,6BAAc,GAAlC,UAAmC,eAAuB,EAAE,IAAY,EAAE,KAAU;;;;;;wBAC1E,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;wBACtC,OAAO,GAAG,IAAI,kCAAqB,CAAC;4BACtC,eAAe,iBAAA;4BACf,IAAI,MAAA;4BACJ,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;yBAC/B,CAAC,CAAC;wBACc,qBAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAArC,QAAQ,GAAG,SAA0B;wBAC3C,sBAAO,QAAQ,CAAC,YAAY,EAAC;;;;KAChC;IAEc,0BAAW,GAA1B;QACI,IAAM,MAAM,GAAoB,EAAE,CAAC;QAEnC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;
|
|
1
|
+
{"version":3,"file":"aws-sf-connector.js","sourceRoot":"","sources":["../../src/connectors/aws-sf-connector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAO6B;AAE7B;IAAA;IAgEA,CAAC;IA9DuB,8BAAe,GAAnC,UAAoC,SAAiB,EAAE,MAAW;;;;gBACxD,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;gBACtC,OAAO,GAAG,IAAI,mCAAsB,CAAC;oBACvC,SAAS,WAAA;oBACT,MAAM,QAAA;iBACT,CAAC,CAAC;gBACH,sBAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC;;;KAC/B;IAEmB,8BAAe,GAAnC,UAAoC,SAAiB,EAAE,KAAa,EAAE,KAAa;;;;gBACzE,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;gBACtC,OAAO,GAAG,IAAI,mCAAsB,CAAC;oBACvC,SAAS,WAAA;oBACT,KAAK,OAAA;oBACL,KAAK,OAAA;iBACR,CAAC,CAAC;gBACH,sBAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC;;;KAC/B;IAEmB,gCAAiB,GAArC,UAAsC,SAAiB;;;;gBAC7C,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;gBACtC,OAAO,GAAG,IAAI,qCAAwB,CAAC;oBACzC,SAAS,WAAA;iBACZ,CAAC,CAAC;gBACH,sBAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC;;;KAC/B;IAEmB,6BAAc,GAAlC,UAAmC,eAAuB,EAAE,IAAY,EAAE,KAAU;;;;;;wBAC1E,MAAM,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;wBACtC,OAAO,GAAG,IAAI,kCAAqB,CAAC;4BACtC,eAAe,iBAAA;4BACf,IAAI,MAAA;4BACJ,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;yBAC/B,CAAC,CAAC;wBACc,qBAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAA;;wBAArC,QAAQ,GAAG,SAA0B;wBAC3C,sBAAO,QAAQ,CAAC,YAAY,EAAC;;;;KAChC;IAEc,0BAAW,GAA1B;QACI,IAAM,MAAM,GAAoB,EAAE,CAAC;QAEnC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAChC,MAAM,CAAC,WAAW,GAAG;gBACjB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBAC1C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,qBAA+B;aAC/D,CAAC;QACN,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAChC,MAAM,CAAC,WAAW,GAAG;gBACjB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAA2B;gBACpD,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,qBAA+B;gBAC5D,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;aAC9C,CAAC;QACN,CAAC;QAED,OAAO,IAAI,sBAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACL,qBAAC;AAAD,CAAC,AAhED,IAgEC"}
|
|
@@ -20,8 +20,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
22
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
-
return g =
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
24
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
25
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
26
|
function step(op) {
|
|
27
27
|
if (f) throw new TypeError("Generator is already executing.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws-sqs-connector.js","sourceRoot":"","sources":["../../src/connectors/aws-sqs-connector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAK6B;AAE7B;IAAA;IAuCA,CAAC;IArCuB,2BAAW,GAA/B,UAAgC,MAAc,EAAE,WAAmB,EAAE,OAAgB,EAAE,eAAwB,EAAE,MAAY;;;;gBACnH,MAAM,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;gBACvC,OAAO,GAAG,IAAI,+BAAkB,YAClC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,OAAO,EACvB,sBAAsB,EAAE,eAAe,IACpC,MAAM,EACX,CAAC;gBACH,sBAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC;;;KAC/B;IAEc,2BAAW,GAA1B;QACI,IAAM,MAAM,GAAoB,EAAE,CAAC;QAEnC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;
|
|
1
|
+
{"version":3,"file":"aws-sqs-connector.js","sourceRoot":"","sources":["../../src/connectors/aws-sqs-connector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAK6B;AAE7B;IAAA;IAuCA,CAAC;IArCuB,2BAAW,GAA/B,UAAgC,MAAc,EAAE,WAAmB,EAAE,OAAgB,EAAE,eAAwB,EAAE,MAAY;;;;gBACnH,MAAM,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;gBACvC,OAAO,GAAG,IAAI,+BAAkB,YAClC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,OAAO,EACvB,sBAAsB,EAAE,eAAe,IACpC,MAAM,EACX,CAAC;gBACH,sBAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAC;;;KAC/B;IAEc,2BAAW,GAA1B;QACI,IAAM,MAAM,GAAoB,EAAE,CAAC;QAEnC,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAChC,MAAM,CAAC,WAAW,GAAG;gBACjB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;gBAC1C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,qBAA+B;aAC/D,CAAC;QACN,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAChC,MAAM,CAAC,WAAW,GAAG;gBACjB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAA2B;gBACpD,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,qBAA+B;gBAC5D,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;aAC9C,CAAC;QAEN,CAAC;QAED,OAAO,IAAI,sBAAS,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IACL,sBAAC;AAAD,CAAC,AAvCD,IAuCC"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,mFAA2D;AAInD,yBAJD,0BAAc,CAIC;AAHtB,+DAAyC;AAGjB,eAHjB,cAAI,CAGiB;AAF5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,mFAA2D;AAInD,yBAJD,0BAAc,CAIC;AAHtB,+DAAyC;AAGjB,eAHjB,cAAI,CAGiB;AAF5B,kEAA8D;AAEhC,8FAFtB,8BAAa,OAEsB"}
|
|
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g =
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
14
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
15
|
function step(op) {
|
|
16
16
|
if (f) throw new TypeError("Generator is already executing.");
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DurableContext } from "@aws/durable-execution-sdk-js";
|
|
2
|
+
export declare abstract class AbstractTaskContext {
|
|
3
|
+
taskToken: string | undefined;
|
|
4
|
+
sqsReceiptHandle?: string;
|
|
5
|
+
debug: boolean;
|
|
6
|
+
durableContext: DurableContext | undefined;
|
|
7
|
+
taskName: string | undefined;
|
|
8
|
+
taskInput: any | undefined;
|
|
9
|
+
reject(errorCode: string, errorCause: string): Promise<void>;
|
|
10
|
+
resolve(output: any): Promise<void>;
|
|
11
|
+
heartbeat(): Promise<void>;
|
|
12
|
+
log(message: string, ...data: any): Promise<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
39
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
40
|
+
if (ar || !(i in from)) {
|
|
41
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
42
|
+
ar[i] = from[i];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
46
|
+
};
|
|
47
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
48
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
49
|
+
};
|
|
50
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
exports.AbstractTaskContext = void 0;
|
|
52
|
+
var aws_sf_connector_1 = __importDefault(require("../connectors/aws-sf-connector"));
|
|
53
|
+
var AbstractTaskContext = /** @class */ (function () {
|
|
54
|
+
function AbstractTaskContext() {
|
|
55
|
+
this.debug = false;
|
|
56
|
+
}
|
|
57
|
+
AbstractTaskContext.prototype.reject = function (errorCode, errorCause) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
59
|
+
return __generator(this, function (_a) {
|
|
60
|
+
switch (_a.label) {
|
|
61
|
+
case 0:
|
|
62
|
+
if (!this.taskToken) return [3 /*break*/, 2];
|
|
63
|
+
return [4 /*yield*/, aws_sf_connector_1.default.sendTaskFailure(this.taskToken, errorCode, errorCause)];
|
|
64
|
+
case 1:
|
|
65
|
+
_a.sent();
|
|
66
|
+
_a.label = 2;
|
|
67
|
+
case 2:
|
|
68
|
+
if (this.sqsReceiptHandle) // Throw error to signal issue
|
|
69
|
+
throw new Error(errorCause);
|
|
70
|
+
return [2 /*return*/];
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
AbstractTaskContext.prototype.resolve = function (output) {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
77
|
+
return __generator(this, function (_a) {
|
|
78
|
+
switch (_a.label) {
|
|
79
|
+
case 0:
|
|
80
|
+
if (!this.taskToken) return [3 /*break*/, 2];
|
|
81
|
+
return [4 /*yield*/, aws_sf_connector_1.default.sendTaskSuccess(this.taskToken, JSON.stringify(output))];
|
|
82
|
+
case 1:
|
|
83
|
+
_a.sent();
|
|
84
|
+
_a.label = 2;
|
|
85
|
+
case 2: return [2 /*return*/];
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
AbstractTaskContext.prototype.heartbeat = function () {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
92
|
+
return __generator(this, function (_a) {
|
|
93
|
+
switch (_a.label) {
|
|
94
|
+
case 0:
|
|
95
|
+
if (!this.taskToken) return [3 /*break*/, 2];
|
|
96
|
+
return [4 /*yield*/, aws_sf_connector_1.default.sendTaskHeartbeat(this.taskToken)];
|
|
97
|
+
case 1:
|
|
98
|
+
_a.sent();
|
|
99
|
+
_a.label = 2;
|
|
100
|
+
case 2: return [2 /*return*/];
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
AbstractTaskContext.prototype.log = function (message) {
|
|
106
|
+
var data = [];
|
|
107
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
108
|
+
data[_i - 1] = arguments[_i];
|
|
109
|
+
}
|
|
110
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
111
|
+
return __generator(this, function (_a) {
|
|
112
|
+
console.log.apply(console, __spreadArray(["[".concat(this.taskName, "] ").concat(message)], data, false));
|
|
113
|
+
return [2 /*return*/];
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
return AbstractTaskContext;
|
|
118
|
+
}());
|
|
119
|
+
exports.AbstractTaskContext = AbstractTaskContext;
|
|
120
|
+
//# sourceMappingURL=abstract-task-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract-task-context.js","sourceRoot":"","sources":["../../src/task-processor/abstract-task-context.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oFAA4D;AAG5D;IAAA;QAGS,UAAK,GAAY,KAAK,CAAC;IA4BhC,CAAC;IArBc,oCAAM,GAAnB,UAAoB,SAAiB,EAAE,UAAkB;;;;;6BACnD,IAAI,CAAC,SAAS,EAAd,wBAAc;wBAChB,qBAAM,0BAAc,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,EAAA;;wBAA3E,SAA2E,CAAC;;;wBAE9E,IAAI,IAAI,CAAC,gBAAgB,EAAE,8BAA8B;4BACvD,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;;;;;KAC/B;IAEY,qCAAO,GAApB,UAAqB,MAAW;;;;;6BAC1B,IAAI,CAAC,SAAS,EAAd,wBAAc;wBAChB,qBAAM,0BAAc,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAA;;wBAA5E,SAA4E,CAAC;;;;;;KAChF;IAEY,uCAAS,GAAtB;;;;;6BACM,IAAI,CAAC,SAAS,EAAd,wBAAc;wBAChB,qBAAM,0BAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAA;;wBAAtD,SAAsD,CAAC;;;;;;KAC1D;IAEY,iCAAG,GAAhB,UAAiB,OAAe;QAAE,cAAY;aAAZ,UAAY,EAAZ,qBAAY,EAAZ,IAAY;YAAZ,6BAAY;;;;gBAC5C,OAAO,CAAC,GAAG,OAAX,OAAO,iBAAK,WAAI,IAAI,CAAC,QAAQ,eAAK,OAAO,CAAE,GAAK,IAAI,UAAE;;;;KACvD;IACH,0BAAC;AAAD,CAAC,AA/BD,IA+BC;AA/BqB,kDAAmB"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
+
import { AbstractTaskContext } from "./abstract-task-context";
|
|
1
2
|
import Task from "./task";
|
|
2
3
|
export declare abstract class AbstractTaskProcessor {
|
|
3
4
|
protected taskMap: Map<string, typeof Task>;
|
|
4
|
-
protected
|
|
5
|
-
protected
|
|
6
|
-
debug: boolean;
|
|
5
|
+
protected taskContext: AbstractTaskContext;
|
|
6
|
+
protected constructor(taskContext: AbstractTaskContext);
|
|
7
7
|
registerTask(taskName: string, taskClass: typeof Task): void;
|
|
8
|
-
reject(errorCode: string, errorCause: string): Promise<void>;
|
|
9
|
-
resolve(output: any): Promise<void>;
|
|
10
|
-
heartbeat(): Promise<void>;
|
|
11
8
|
}
|
|
@@ -1,102 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
-
};
|
|
41
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
3
|
exports.AbstractTaskProcessor = void 0;
|
|
43
|
-
var aws_sf_connector_1 = __importDefault(require("../connectors/aws-sf-connector"));
|
|
44
4
|
var AbstractTaskProcessor = /** @class */ (function () {
|
|
45
|
-
function AbstractTaskProcessor() {
|
|
5
|
+
function AbstractTaskProcessor(taskContext) {
|
|
46
6
|
this.taskMap = new Map();
|
|
47
|
-
this.
|
|
7
|
+
this.taskContext = taskContext;
|
|
48
8
|
}
|
|
49
9
|
AbstractTaskProcessor.prototype.registerTask = function (taskName, taskClass) {
|
|
50
10
|
this.taskMap.set(taskName, taskClass);
|
|
51
11
|
};
|
|
52
|
-
AbstractTaskProcessor.prototype.reject = function (errorCode, errorCause) {
|
|
53
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
54
|
-
return __generator(this, function (_a) {
|
|
55
|
-
switch (_a.label) {
|
|
56
|
-
case 0:
|
|
57
|
-
if (!this.taskToken) return [3 /*break*/, 2];
|
|
58
|
-
return [4 /*yield*/, aws_sf_connector_1.default.sendTaskFailure(this.taskToken, errorCode, errorCause)];
|
|
59
|
-
case 1:
|
|
60
|
-
_a.sent();
|
|
61
|
-
_a.label = 2;
|
|
62
|
-
case 2:
|
|
63
|
-
if (this.sqsReceiptHandle) // Throw error to signal issue
|
|
64
|
-
throw new Error(errorCause);
|
|
65
|
-
return [2 /*return*/];
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
AbstractTaskProcessor.prototype.resolve = function (output) {
|
|
71
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
72
|
-
return __generator(this, function (_a) {
|
|
73
|
-
switch (_a.label) {
|
|
74
|
-
case 0:
|
|
75
|
-
if (!this.taskToken) return [3 /*break*/, 2];
|
|
76
|
-
return [4 /*yield*/, aws_sf_connector_1.default.sendTaskSuccess(this.taskToken, JSON.stringify(output))];
|
|
77
|
-
case 1:
|
|
78
|
-
_a.sent();
|
|
79
|
-
_a.label = 2;
|
|
80
|
-
case 2: return [2 /*return*/];
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
});
|
|
84
|
-
};
|
|
85
|
-
AbstractTaskProcessor.prototype.heartbeat = function () {
|
|
86
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
87
|
-
return __generator(this, function (_a) {
|
|
88
|
-
switch (_a.label) {
|
|
89
|
-
case 0:
|
|
90
|
-
if (!this.taskToken) return [3 /*break*/, 2];
|
|
91
|
-
return [4 /*yield*/, aws_sf_connector_1.default.sendTaskHeartbeat(this.taskToken)];
|
|
92
|
-
case 1:
|
|
93
|
-
_a.sent();
|
|
94
|
-
_a.label = 2;
|
|
95
|
-
case 2: return [2 /*return*/];
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
};
|
|
100
12
|
return AbstractTaskProcessor;
|
|
101
13
|
}());
|
|
102
14
|
exports.AbstractTaskProcessor = AbstractTaskProcessor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-task-processor.js","sourceRoot":"","sources":["../../src/task-processor/abstract-task-processor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abstract-task-processor.js","sourceRoot":"","sources":["../../src/task-processor/abstract-task-processor.ts"],"names":[],"mappings":";;;AAGA;IAME,+BAAsB,WAAgC;QAJ5C,YAAO,GAA6B,IAAI,GAAG,EAAuB,CAAC;QAK3E,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAEM,4CAAY,GAAnB,UAAoB,QAAgB,EAAE,SAAsB;QAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IAEH,4BAAC;AAAD,CAAC,AAdD,IAcC;AAdqB,sDAAqB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.TaskContext = void 0;
|
|
19
|
+
var abstract_task_context_1 = require("./abstract-task-context");
|
|
20
|
+
var TaskContext = /** @class */ (function (_super) {
|
|
21
|
+
__extends(TaskContext, _super);
|
|
22
|
+
function TaskContext() {
|
|
23
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
24
|
+
}
|
|
25
|
+
return TaskContext;
|
|
26
|
+
}(abstract_task_context_1.AbstractTaskContext));
|
|
27
|
+
exports.TaskContext = TaskContext;
|
|
28
|
+
//# sourceMappingURL=task-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-context.js","sourceRoot":"","sources":["../../src/task-processor/task-context.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iEAA4D;AAE5D;IAAiC,+BAAmB;IAApD;;IAEA,CAAC;IAAD,kBAAC;AAAD,CAAC,AAFD,CAAiC,2CAAmB,GAEnD;AAFY,kCAAW"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { AbstractTaskProcessor } from "./abstract-task-processor";
|
|
2
|
+
import { DurableContext } from "@aws/durable-execution-sdk-js";
|
|
2
3
|
export declare class TaskProcessor extends AbstractTaskProcessor {
|
|
4
|
+
constructor(durableContext?: DurableContext);
|
|
3
5
|
process(event: any): Promise<void>;
|
|
4
6
|
private processRecord;
|
|
5
7
|
processTask(taskName: string, taskData: any): Promise<void>;
|
|
@@ -24,8 +24,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
24
24
|
});
|
|
25
25
|
};
|
|
26
26
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
-
return g =
|
|
27
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
28
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
29
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
30
|
function step(op) {
|
|
31
31
|
if (f) throw new TypeError("Generator is already executing.");
|
|
@@ -53,10 +53,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
53
53
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
54
|
exports.TaskProcessor = void 0;
|
|
55
55
|
var abstract_task_processor_1 = require("./abstract-task-processor");
|
|
56
|
+
var task_context_1 = require("./task-context");
|
|
56
57
|
var TaskProcessor = /** @class */ (function (_super) {
|
|
57
58
|
__extends(TaskProcessor, _super);
|
|
58
|
-
function TaskProcessor() {
|
|
59
|
-
|
|
59
|
+
function TaskProcessor(durableContext) {
|
|
60
|
+
var taskContext = new task_context_1.TaskContext();
|
|
61
|
+
taskContext.durableContext = durableContext;
|
|
62
|
+
return _super.call(this, taskContext) || this;
|
|
60
63
|
}
|
|
61
64
|
TaskProcessor.prototype.process = function (event) {
|
|
62
65
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -64,7 +67,7 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
64
67
|
return __generator(this, function (_b) {
|
|
65
68
|
switch (_b.label) {
|
|
66
69
|
case 0:
|
|
67
|
-
this.taskToken = undefined;
|
|
70
|
+
this.taskContext.taskToken = undefined;
|
|
68
71
|
_b.label = 1;
|
|
69
72
|
case 1:
|
|
70
73
|
_b.trys.push([1, 9, , 11]);
|
|
@@ -85,9 +88,9 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
85
88
|
case 6:
|
|
86
89
|
data = event.data;
|
|
87
90
|
taskName = event.taskName;
|
|
88
|
-
this.taskToken = event.taskToken;
|
|
89
|
-
if (this.debug)
|
|
90
|
-
console.log("Set Task Token: ", this.taskToken);
|
|
91
|
+
this.taskContext.taskToken = event.taskToken;
|
|
92
|
+
if (this.taskContext.debug)
|
|
93
|
+
console.log("Set Task Token: ", this.taskContext.taskToken);
|
|
91
94
|
if (typeof data === "string") {
|
|
92
95
|
data = JSON.parse(data);
|
|
93
96
|
}
|
|
@@ -99,7 +102,7 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
99
102
|
case 9:
|
|
100
103
|
e_1 = _b.sent();
|
|
101
104
|
console.warn(e_1);
|
|
102
|
-
return [4 /*yield*/, this.reject('INTERNAL_ERROR', e_1.message)];
|
|
105
|
+
return [4 /*yield*/, this.taskContext.reject('INTERNAL_ERROR', e_1.message)];
|
|
103
106
|
case 10:
|
|
104
107
|
_b.sent();
|
|
105
108
|
return [3 /*break*/, 11];
|
|
@@ -133,10 +136,11 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
133
136
|
if (!Task) {
|
|
134
137
|
throw new Error('Task ' + taskName + ' not found!');
|
|
135
138
|
}
|
|
136
|
-
|
|
139
|
+
this.taskContext.taskName = taskName;
|
|
140
|
+
this.taskContext.taskInput = taskData;
|
|
141
|
+
if (this.taskContext.debug)
|
|
137
142
|
console.log("Process Task " + taskName);
|
|
138
|
-
task = new Task();
|
|
139
|
-
task.setTaskProcessor(this);
|
|
143
|
+
task = new Task(this.taskContext);
|
|
140
144
|
return [4 /*yield*/, task.work(taskData)];
|
|
141
145
|
case 1:
|
|
142
146
|
_a.sent();
|
|
@@ -151,9 +155,9 @@ var TaskProcessor = /** @class */ (function (_super) {
|
|
|
151
155
|
return __generator(this, function (_a) {
|
|
152
156
|
switch (_a.label) {
|
|
153
157
|
case 0:
|
|
154
|
-
if (this.debug)
|
|
158
|
+
if (this.taskContext.debug)
|
|
155
159
|
console.log("Process SQS Message: ", record);
|
|
156
|
-
this.sqsReceiptHandle = record.receiptHandle;
|
|
160
|
+
this.taskContext.sqsReceiptHandle = record.receiptHandle;
|
|
157
161
|
bodyData = JSON.parse(record.body);
|
|
158
162
|
return [4 /*yield*/, this.processTask(bodyData.taskName, bodyData.data)];
|
|
159
163
|
case 1:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-processor.js","sourceRoot":"","sources":["../../src/task-processor/task-processor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qEAAgE;
|
|
1
|
+
{"version":3,"file":"task-processor.js","sourceRoot":"","sources":["../../src/task-processor/task-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AbstractTaskProcessor } from "./abstract-task-processor";
|
|
1
|
+
import { AbstractTaskContext } from "./abstract-task-context";
|
|
3
2
|
export interface TaskInterface {
|
|
4
|
-
setTaskProcessor(taskProcessor: TaskProcessor): void;
|
|
5
3
|
work(taskData: any): Promise<any>;
|
|
6
4
|
}
|
|
7
5
|
export default class Task implements TaskInterface {
|
|
8
|
-
protected
|
|
6
|
+
protected context: AbstractTaskContext;
|
|
9
7
|
protected lastHeartbeat: number;
|
|
10
8
|
protected heartbeatInterval: number;
|
|
9
|
+
constructor(context: AbstractTaskContext);
|
|
11
10
|
work(taskData: any): Promise<any>;
|
|
12
|
-
setTaskProcessor(taskProcessor: TaskProcessor): void;
|
|
13
11
|
resolve(output: any): Promise<void>;
|
|
14
12
|
reject(errorCode: string, errorCause: string): Promise<void>;
|
|
15
13
|
heartbeat(): Promise<void>;
|
|
14
|
+
log(message: string, ...data: any): Promise<void>;
|
|
15
|
+
durableContext(): import("@aws/durable-execution-sdk-js").DurableContext<import("@aws/durable-execution-sdk-js").DurableLogger> | undefined;
|
|
16
16
|
}
|
|
@@ -9,8 +9,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g =
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
14
|
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
15
|
function step(op) {
|
|
16
16
|
if (f) throw new TypeError("Generator is already executing.");
|
|
@@ -35,11 +35,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
35
35
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
39
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
40
|
+
if (ar || !(i in from)) {
|
|
41
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
42
|
+
ar[i] = from[i];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
46
|
+
};
|
|
38
47
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
48
|
var Task = /** @class */ (function () {
|
|
40
|
-
function Task() {
|
|
49
|
+
function Task(context) {
|
|
41
50
|
this.lastHeartbeat = 0;
|
|
42
51
|
this.heartbeatInterval = 60000;
|
|
52
|
+
this.context = context;
|
|
43
53
|
}
|
|
44
54
|
Task.prototype.work = function (taskData) {
|
|
45
55
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -49,54 +59,68 @@ var Task = /** @class */ (function () {
|
|
|
49
59
|
});
|
|
50
60
|
});
|
|
51
61
|
};
|
|
52
|
-
Task.prototype.setTaskProcessor = function (taskProcessor) {
|
|
53
|
-
this.taskProcessor = taskProcessor;
|
|
54
|
-
};
|
|
55
62
|
Task.prototype.resolve = function (output) {
|
|
56
|
-
var _a;
|
|
57
63
|
return __awaiter(this, void 0, void 0, function () {
|
|
58
|
-
return __generator(this, function (
|
|
59
|
-
switch (
|
|
60
|
-
case 0: return [4 /*yield*/,
|
|
64
|
+
return __generator(this, function (_a) {
|
|
65
|
+
switch (_a.label) {
|
|
66
|
+
case 0: return [4 /*yield*/, this.context.resolve(output)];
|
|
61
67
|
case 1:
|
|
62
|
-
|
|
68
|
+
_a.sent();
|
|
63
69
|
return [2 /*return*/];
|
|
64
70
|
}
|
|
65
71
|
});
|
|
66
72
|
});
|
|
67
73
|
};
|
|
68
74
|
Task.prototype.reject = function (errorCode, errorCause) {
|
|
69
|
-
var _a;
|
|
70
75
|
return __awaiter(this, void 0, void 0, function () {
|
|
71
|
-
return __generator(this, function (
|
|
72
|
-
switch (
|
|
73
|
-
case 0: return [4 /*yield*/,
|
|
76
|
+
return __generator(this, function (_a) {
|
|
77
|
+
switch (_a.label) {
|
|
78
|
+
case 0: return [4 /*yield*/, this.context.reject(errorCode, errorCause)];
|
|
74
79
|
case 1:
|
|
75
|
-
|
|
80
|
+
_a.sent();
|
|
76
81
|
return [2 /*return*/];
|
|
77
82
|
}
|
|
78
83
|
});
|
|
79
84
|
});
|
|
80
85
|
};
|
|
81
86
|
Task.prototype.heartbeat = function () {
|
|
82
|
-
var _a;
|
|
83
87
|
return __awaiter(this, void 0, void 0, function () {
|
|
84
88
|
var age;
|
|
85
|
-
return __generator(this, function (
|
|
86
|
-
switch (
|
|
89
|
+
return __generator(this, function (_a) {
|
|
90
|
+
switch (_a.label) {
|
|
87
91
|
case 0:
|
|
88
92
|
age = Date.now() - this.lastHeartbeat;
|
|
89
93
|
if (!(age > this.heartbeatInterval)) return [3 /*break*/, 2];
|
|
90
|
-
return [4 /*yield*/,
|
|
94
|
+
return [4 /*yield*/, this.context.heartbeat()];
|
|
91
95
|
case 1:
|
|
92
|
-
|
|
96
|
+
_a.sent();
|
|
93
97
|
this.lastHeartbeat = Date.now();
|
|
94
|
-
|
|
98
|
+
_a.label = 2;
|
|
95
99
|
case 2: return [2 /*return*/];
|
|
96
100
|
}
|
|
97
101
|
});
|
|
98
102
|
});
|
|
99
103
|
};
|
|
104
|
+
Task.prototype.log = function (message) {
|
|
105
|
+
var data = [];
|
|
106
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
107
|
+
data[_i - 1] = arguments[_i];
|
|
108
|
+
}
|
|
109
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
110
|
+
var _a;
|
|
111
|
+
return __generator(this, function (_b) {
|
|
112
|
+
switch (_b.label) {
|
|
113
|
+
case 0: return [4 /*yield*/, (_a = this.context).log.apply(_a, __spreadArray([message], data, false))];
|
|
114
|
+
case 1:
|
|
115
|
+
_b.sent();
|
|
116
|
+
return [2 /*return*/];
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
Task.prototype.durableContext = function () {
|
|
122
|
+
return this.context.durableContext;
|
|
123
|
+
};
|
|
100
124
|
return Task;
|
|
101
125
|
}());
|
|
102
126
|
exports.default = Task;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/task-processor/task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/task-processor/task.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;IAME,cAAY,OAA4B;QAH9B,kBAAa,GAAW,CAAC,CAAC;QAC1B,sBAAiB,GAAG,KAAM,CAAC;QAGnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEK,mBAAI,GAAV,UAAW,QAAa;;;gBACtB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;;;;KACvB;IAEK,sBAAO,GAAb,UAAc,MAAW;;;;4BACvB,qBAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAA;;wBAAlC,SAAkC,CAAC;;;;;KACpC;IAEK,qBAAM,GAAZ,UAAa,SAAiB,EAAE,UAAkB;;;;4BAChD,qBAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,EAAA;;wBAAhD,SAAgD,CAAC;;;;;KAClD;IAEK,wBAAS,GAAf;;;;;;wBACQ,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;6BACxC,CAAA,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAA,EAA5B,wBAA4B;wBAC9B,qBAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAA;;wBAA9B,SAA8B,CAAC;wBAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;;;;;;KAEnC;IAEK,kBAAG,GAAT,UAAU,OAAe;QAAE,cAAY;aAAZ,UAAY,EAAZ,qBAAY,EAAZ,IAAY;YAAZ,6BAAY;;;;;;4BACrC,qBAAM,CAAA,KAAA,IAAI,CAAC,OAAO,CAAA,CAAC,GAAG,0BAAC,OAAO,GAAK,IAAI,WAAC;;wBAAxC,SAAwC,CAAC;;;;;KAC1C;IAED,6BAAc,GAAd;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IACrC,CAAC;IAEH,WAAC;AAAD,CAAC,AAtCD,IAsCC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "acady-task-worker",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0",
|
|
4
4
|
"description": "Acady Task Worker",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"files": [
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
"deploy": "acady deploy"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
|
-
"@aws-sdk/client-sfn": "^3.
|
|
17
|
-
"@aws-sdk/client-sqs": "^3.
|
|
18
|
-
"@types/jest": "^
|
|
19
|
-
"@types/node": "^
|
|
16
|
+
"@aws-sdk/client-sfn": "^3.946.0",
|
|
17
|
+
"@aws-sdk/client-sqs": "^3.946.0",
|
|
18
|
+
"@types/jest": "^29.5.14",
|
|
19
|
+
"@types/node": "^22.10.1",
|
|
20
20
|
"acady": "^1.9.1",
|
|
21
|
-
"jest": "^
|
|
22
|
-
"ts-jest": "^
|
|
23
|
-
"typescript": "^
|
|
21
|
+
"jest": "^29.7.0",
|
|
22
|
+
"ts-jest": "^29.2.5",
|
|
23
|
+
"typescript": "^5.7.2"
|
|
24
24
|
},
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"jest": {
|
|
@@ -40,7 +40,10 @@
|
|
|
40
40
|
"url": "https://github.com/acady-io/acady-task-worker.git"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
|
-
"@aws-sdk/client-sfn": "^3.
|
|
44
|
-
"@aws-sdk/client-sqs": "^3.
|
|
43
|
+
"@aws-sdk/client-sfn": "^3.946.0",
|
|
44
|
+
"@aws-sdk/client-sqs": "^3.946.0"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@aws/durable-execution-sdk-js": "^1.0.0"
|
|
45
48
|
}
|
|
46
49
|
}
|