@webiny/api-headless-cms-es-tasks 6.3.0-beta.4 → 6.4.0-beta.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/index.js +7 -9
- package/index.js.map +1 -1
- package/package.json +18 -18
- package/tasks/MockDataCreator/MockDataCreator.js +62 -88
- package/tasks/MockDataCreator/MockDataCreator.js.map +1 -1
- package/tasks/MockDataCreator/mockData.js +1332 -1186
- package/tasks/MockDataCreator/mockData.js.map +1 -1
- package/tasks/MockDataCreator/types.js +0 -3
- package/tasks/MockDataCreatorTask.js +22 -21
- package/tasks/MockDataCreatorTask.js.map +1 -1
- package/tasks/MockDataManager/MockDataManager.js +72 -90
- package/tasks/MockDataManager/MockDataManager.js.map +1 -1
- package/tasks/MockDataManager/calculateAmounts.js +26 -51
- package/tasks/MockDataManager/calculateAmounts.js.map +1 -1
- package/tasks/MockDataManager/calculateSeconds.js +8 -11
- package/tasks/MockDataManager/calculateSeconds.js.map +1 -1
- package/tasks/MockDataManager/constants.js +2 -1
- package/tasks/MockDataManager/constants.js.map +1 -1
- package/tasks/MockDataManager/createModelAndGroup.js +23 -33
- package/tasks/MockDataManager/createModelAndGroup.js.map +1 -1
- package/tasks/MockDataManager/group.js +11 -12
- package/tasks/MockDataManager/group.js.map +1 -1
- package/tasks/MockDataManager/model.js +6290 -4693
- package/tasks/MockDataManager/model.js.map +1 -1
- package/tasks/MockDataManager/types.js +0 -3
- package/tasks/MockDataManagerTask.js +45 -44
- package/tasks/MockDataManagerTask.js.map +1 -1
- package/types.js +0 -3
- package/utils/createIndex.js +21 -33
- package/utils/createIndex.js.map +1 -1
- package/utils/disableIndexing.js +19 -23
- package/utils/disableIndexing.js.map +1 -1
- package/utils/enableIndexing.js +19 -23
- package/utils/enableIndexing.js.map +1 -1
- package/utils/index.js +0 -2
- package/tasks/MockDataCreator/types.js.map +0 -1
- package/tasks/MockDataManager/types.js.map +0 -1
- package/types.js.map +0 -1
- package/utils/index.js.map +0 -1
package/index.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { createContextPlugin } from "@webiny/api";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
10
|
-
};
|
|
2
|
+
import { MOCK_DATA_CREATOR_TASK_ID, MockDataCreatorTaskDefinition } from "./tasks/MockDataCreatorTask.js";
|
|
3
|
+
import { MOCK_DATA_MANAGER_TASK_ID, MockDataManagerTaskDefinition } from "./tasks/MockDataManagerTask.js";
|
|
4
|
+
const createHeadlessCmsEsTasks = ()=>createContextPlugin((context)=>{
|
|
5
|
+
context.container.register(MockDataCreatorTaskDefinition);
|
|
6
|
+
context.container.register(MockDataManagerTaskDefinition);
|
|
7
|
+
});
|
|
8
|
+
export { MOCK_DATA_CREATOR_TASK_ID, MOCK_DATA_MANAGER_TASK_ID, createHeadlessCmsEsTasks };
|
|
11
9
|
|
|
12
10
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { createContextPlugin } from \"@webiny/api\";\nimport {\n MockDataCreatorTaskDefinition,\n MOCK_DATA_CREATOR_TASK_ID\n} from \"~/tasks/MockDataCreatorTask.js\";\nimport {\n MockDataManagerTaskDefinition,\n MOCK_DATA_MANAGER_TASK_ID\n} from \"~/tasks/MockDataManagerTask.js\";\n\nexport { MOCK_DATA_CREATOR_TASK_ID, MOCK_DATA_MANAGER_TASK_ID };\n\nexport const createHeadlessCmsEsTasks = () => {\n return createContextPlugin(context => {\n context.container.register(MockDataCreatorTaskDefinition);\n context.container.register(MockDataManagerTaskDefinition);\n });\n};\n"],"names":["createHeadlessCmsEsTasks","createContextPlugin","context","MockDataCreatorTaskDefinition","MockDataManagerTaskDefinition"],"mappings":";;;AAYO,MAAMA,2BAA2B,IAC7BC,oBAAoBC,CAAAA;QACvBA,QAAQ,SAAS,CAAC,QAAQ,CAACC;QAC3BD,QAAQ,SAAS,CAAC,QAAQ,CAACE;IAC/B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-headless-cms-es-tasks",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.4.0-beta.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./index.js",
|
|
@@ -17,29 +17,29 @@
|
|
|
17
17
|
},
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@webiny/api-core": "6.
|
|
21
|
-
"@webiny/api-headless-cms": "6.
|
|
22
|
-
"@webiny/api-headless-cms-ddb-es": "6.
|
|
23
|
-
"@webiny/api-opensearch": "6.
|
|
24
|
-
"@webiny/error": "6.
|
|
25
|
-
"@webiny/handler": "6.
|
|
26
|
-
"@webiny/handler-aws": "6.
|
|
27
|
-
"@webiny/tasks": "6.
|
|
28
|
-
"@webiny/utils": "6.
|
|
20
|
+
"@webiny/api-core": "6.4.0-beta.0",
|
|
21
|
+
"@webiny/api-headless-cms": "6.4.0-beta.0",
|
|
22
|
+
"@webiny/api-headless-cms-ddb-es": "6.4.0-beta.0",
|
|
23
|
+
"@webiny/api-opensearch": "6.4.0-beta.0",
|
|
24
|
+
"@webiny/error": "6.4.0-beta.0",
|
|
25
|
+
"@webiny/handler": "6.4.0-beta.0",
|
|
26
|
+
"@webiny/handler-aws": "6.4.0-beta.0",
|
|
27
|
+
"@webiny/tasks": "6.4.0-beta.0",
|
|
28
|
+
"@webiny/utils": "6.4.0-beta.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@webiny/api": "6.
|
|
32
|
-
"@webiny/build-tools": "6.
|
|
33
|
-
"@webiny/handler-graphql": "6.
|
|
34
|
-
"@webiny/plugins": "6.
|
|
35
|
-
"@webiny/project-utils": "6.
|
|
36
|
-
"@webiny/wcp": "6.
|
|
31
|
+
"@webiny/api": "6.4.0-beta.0",
|
|
32
|
+
"@webiny/build-tools": "6.4.0-beta.0",
|
|
33
|
+
"@webiny/handler-graphql": "6.4.0-beta.0",
|
|
34
|
+
"@webiny/plugins": "6.4.0-beta.0",
|
|
35
|
+
"@webiny/project-utils": "6.4.0-beta.0",
|
|
36
|
+
"@webiny/wcp": "6.4.0-beta.0",
|
|
37
37
|
"typescript": "6.0.3",
|
|
38
|
-
"vitest": "4.1.
|
|
38
|
+
"vitest": "4.1.6"
|
|
39
39
|
},
|
|
40
40
|
"publishConfig": {
|
|
41
41
|
"access": "public",
|
|
42
42
|
"directory": "dist"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "a545d7529828af07d08d49c3da1bcb967483b9ce"
|
|
45
45
|
}
|
|
@@ -4,99 +4,73 @@ import { OpenSearchCatClusterHealthStatus } from "@webiny/api-opensearch/operati
|
|
|
4
4
|
import { mdbid } from "@webiny/utils";
|
|
5
5
|
import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
|
|
6
6
|
import { CreateEntryUseCase } from "@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
async execute(params) {
|
|
12
|
-
const {
|
|
13
|
-
input,
|
|
14
|
-
controller
|
|
15
|
-
} = params;
|
|
16
|
-
if (controller.runtime.isAborted()) {
|
|
17
|
-
return controller.response.aborted();
|
|
18
|
-
} else if (controller.runtime.isCloseToTimeout()) {
|
|
19
|
-
return controller.response.continue({
|
|
20
|
-
...input
|
|
21
|
-
});
|
|
7
|
+
class MockDataCreator {
|
|
8
|
+
constructor(context){
|
|
9
|
+
this.context = context;
|
|
22
10
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
return controller.response.aborted();
|
|
41
|
-
} else if (controller.runtime.isCloseToTimeout()) {
|
|
42
|
-
return controller.response.continue({
|
|
43
|
-
...input,
|
|
44
|
-
createdAmount
|
|
11
|
+
async execute(params) {
|
|
12
|
+
const { input, controller } = params;
|
|
13
|
+
if (controller.runtime.isAborted()) return controller.response.aborted();
|
|
14
|
+
if (controller.runtime.isCloseToTimeout()) return controller.response.continue({
|
|
15
|
+
...input
|
|
16
|
+
});
|
|
17
|
+
const getModel = this.context.container.resolve(GetModelUseCase);
|
|
18
|
+
const createEntry = this.context.container.resolve(CreateEntryUseCase);
|
|
19
|
+
const modelResult = await getModel.execute("cars");
|
|
20
|
+
if (modelResult.isFail()) return controller.response.error(modelResult.error);
|
|
21
|
+
const model = modelResult.value;
|
|
22
|
+
const healthCheck = createWaitUntilHealthy(this.context.opensearch, {
|
|
23
|
+
waitingTimeStep: 20,
|
|
24
|
+
maxWaitingTime: 150,
|
|
25
|
+
maxProcessorPercent: 80,
|
|
26
|
+
minClusterHealthStatus: OpenSearchCatClusterHealthStatus.Yellow,
|
|
27
|
+
maxRamPercent: 101
|
|
45
28
|
});
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
29
|
+
let createdAmount = input.createdAmount;
|
|
30
|
+
for(; createdAmount < input.totalAmount; createdAmount++){
|
|
31
|
+
if (controller.runtime.isAborted()) return controller.response.aborted();
|
|
32
|
+
if (controller.runtime.isCloseToTimeout()) return controller.response.continue({
|
|
33
|
+
...input,
|
|
34
|
+
createdAmount
|
|
35
|
+
});
|
|
36
|
+
if (createdAmount % 50 === 0) try {
|
|
37
|
+
await healthCheck.wait({
|
|
38
|
+
async onUnhealthy ({ waitingTimeStep, startedAt, mustEndAt, runs, waitingReason }) {
|
|
39
|
+
console.warn(`Cluster is unhealthy on run #${runs}.`, {
|
|
40
|
+
startedAt,
|
|
41
|
+
mustEndAt,
|
|
42
|
+
waitingTimeStep,
|
|
43
|
+
waitingReason
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
async onTimeout ({ waitingTimeStep, startedAt, mustEndAt, runs, waitingReason }) {
|
|
47
|
+
console.warn(`Cluster health check timed out on run #${runs}.`, {
|
|
48
|
+
startedAt,
|
|
49
|
+
mustEndAt,
|
|
50
|
+
waitingTimeStep,
|
|
51
|
+
waitingReason
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
} catch {
|
|
56
|
+
return controller.response.continue({
|
|
57
|
+
...input,
|
|
58
|
+
createdAmount
|
|
59
|
+
}, {
|
|
60
|
+
seconds: 30
|
|
61
|
+
});
|
|
77
62
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
});
|
|
63
|
+
const taskId = controller.state.getTask().id;
|
|
64
|
+
const createResult = await createEntry.execute(model, {
|
|
65
|
+
id: `${taskId}${mdbid()}`,
|
|
66
|
+
location: mockData.wbyAco_location,
|
|
67
|
+
values: mockData
|
|
68
|
+
});
|
|
69
|
+
if (createResult.isFail()) return controller.response.error(createResult.error);
|
|
86
70
|
}
|
|
87
|
-
|
|
88
|
-
const taskId = controller.state.getTask().id;
|
|
89
|
-
const createResult = await createEntry.execute(model, {
|
|
90
|
-
id: `${taskId}${mdbid()}`,
|
|
91
|
-
location: mockData.wbyAco_location,
|
|
92
|
-
values: mockData
|
|
93
|
-
});
|
|
94
|
-
if (createResult.isFail()) {
|
|
95
|
-
return controller.response.error(createResult.error);
|
|
96
|
-
}
|
|
71
|
+
return params.controller.response.done(`Created ${input.totalAmount} records.`);
|
|
97
72
|
}
|
|
98
|
-
return params.controller.response.done(`Created ${input.totalAmount} records.`);
|
|
99
|
-
}
|
|
100
73
|
}
|
|
74
|
+
export { MockDataCreator };
|
|
101
75
|
|
|
102
76
|
//# sourceMappingURL=MockDataCreator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"tasks/MockDataCreator/MockDataCreator.js","sources":["../../../src/tasks/MockDataCreator/MockDataCreator.ts"],"sourcesContent":["import type { IMockDataCreatorInput, IMockDataCreatorOutput } from \"./types.js\";\nimport { mockData } from \"./mockData.js\";\nimport { createWaitUntilHealthy } from \"@webiny/api-opensearch/utils/waitUntilHealthy/index.js\";\nimport { OpenSearchCatClusterHealthStatus } from \"@webiny/api-opensearch/operations/types.js\";\nimport { mdbid } from \"@webiny/utils\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport { CreateEntryUseCase } from \"@webiny/api-headless-cms/features/contentEntry/CreateEntry/index.js\";\nimport { TaskDefinition } from \"@webiny/api-core/features/task/TaskDefinition/index.js\";\nimport type { Context } from \"~/types.js\";\n\nexport class MockDataCreator<I extends IMockDataCreatorInput, O extends IMockDataCreatorOutput> {\n constructor(private context: Context) {}\n\n public async execute(\n params: TaskDefinition.RunParams<I, O>\n ): Promise<TaskDefinition.Result<I, O>> {\n const { input, controller } = params;\n\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n } else if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue({\n ...input\n });\n }\n\n const getModel = this.context.container.resolve(GetModelUseCase);\n const createEntry = this.context.container.resolve(CreateEntryUseCase);\n\n const modelResult = await getModel.execute(\"cars\");\n if (modelResult.isFail()) {\n return controller.response.error(modelResult.error);\n }\n\n const model = modelResult.value;\n\n const healthCheck = createWaitUntilHealthy(this.context.opensearch, {\n waitingTimeStep: 20,\n maxWaitingTime: 150,\n maxProcessorPercent: 80,\n minClusterHealthStatus: OpenSearchCatClusterHealthStatus.Yellow,\n maxRamPercent: 101\n });\n\n let createdAmount = input.createdAmount;\n\n for (; createdAmount < input.totalAmount; createdAmount++) {\n if (controller.runtime.isAborted()) {\n return controller.response.aborted();\n } else if (controller.runtime.isCloseToTimeout()) {\n return controller.response.continue({\n ...input,\n createdAmount\n });\n }\n if (createdAmount % 50 === 0) {\n try {\n await healthCheck.wait({\n async onUnhealthy({\n waitingTimeStep,\n startedAt,\n mustEndAt,\n runs,\n waitingReason\n }) {\n console.warn(`Cluster is unhealthy on run #${runs}.`, {\n startedAt,\n mustEndAt,\n waitingTimeStep,\n waitingReason\n });\n },\n async onTimeout({\n waitingTimeStep,\n startedAt,\n mustEndAt,\n runs,\n waitingReason\n }) {\n console.warn(`Cluster health check timed out on run #${runs}.`, {\n startedAt,\n mustEndAt,\n waitingTimeStep,\n waitingReason\n });\n }\n });\n } catch {\n return controller.response.continue(\n {\n ...input,\n createdAmount\n },\n {\n seconds: 30\n }\n );\n }\n }\n const taskId = controller.state.getTask().id;\n\n const createResult = await createEntry.execute(model, {\n id: `${taskId}${mdbid()}`,\n location: mockData.wbyAco_location,\n values: mockData\n });\n\n if (createResult.isFail()) {\n return controller.response.error(createResult.error);\n }\n }\n\n return params.controller.response.done(`Created ${input.totalAmount} records.`);\n }\n}\n"],"names":["MockDataCreator","context","params","input","controller","getModel","GetModelUseCase","createEntry","CreateEntryUseCase","modelResult","model","healthCheck","createWaitUntilHealthy","OpenSearchCatClusterHealthStatus","createdAmount","waitingTimeStep","startedAt","mustEndAt","runs","waitingReason","console","taskId","createResult","mdbid","mockData"],"mappings":";;;;;;AAUO,MAAMA;IACT,YAAoBC,OAAgB,CAAE;aAAlBA,OAAO,GAAPA;IAAmB;IAEvC,MAAa,QACTC,MAAsC,EACF;QACpC,MAAM,EAAEC,KAAK,EAAEC,UAAU,EAAE,GAAGF;QAE9B,IAAIE,WAAW,OAAO,CAAC,SAAS,IAC5B,OAAOA,WAAW,QAAQ,CAAC,OAAO;QAC/B,IAAIA,WAAW,OAAO,CAAC,gBAAgB,IAC1C,OAAOA,WAAW,QAAQ,CAAC,QAAQ,CAAC;YAChC,GAAGD,KAAK;QACZ;QAGJ,MAAME,WAAW,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAACC;QAChD,MAAMC,cAAc,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAACC;QAEnD,MAAMC,cAAc,MAAMJ,SAAS,OAAO,CAAC;QAC3C,IAAII,YAAY,MAAM,IAClB,OAAOL,WAAW,QAAQ,CAAC,KAAK,CAACK,YAAY,KAAK;QAGtD,MAAMC,QAAQD,YAAY,KAAK;QAE/B,MAAME,cAAcC,uBAAuB,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAChE,iBAAiB;YACjB,gBAAgB;YAChB,qBAAqB;YACrB,wBAAwBC,iCAAiC,MAAM;YAC/D,eAAe;QACnB;QAEA,IAAIC,gBAAgBX,MAAM,aAAa;QAEvC,MAAOW,gBAAgBX,MAAM,WAAW,EAAEW,gBAAiB;YACvD,IAAIV,WAAW,OAAO,CAAC,SAAS,IAC5B,OAAOA,WAAW,QAAQ,CAAC,OAAO;YAC/B,IAAIA,WAAW,OAAO,CAAC,gBAAgB,IAC1C,OAAOA,WAAW,QAAQ,CAAC,QAAQ,CAAC;gBAChC,GAAGD,KAAK;gBACRW;YACJ;YAEJ,IAAIA,gBAAgB,OAAO,GACvB,IAAI;gBACA,MAAMH,YAAY,IAAI,CAAC;oBACnB,MAAM,aAAY,EACdI,eAAe,EACfC,SAAS,EACTC,SAAS,EACTC,IAAI,EACJC,aAAa,EAChB;wBACGC,QAAQ,IAAI,CAAC,CAAC,6BAA6B,EAAEF,KAAK,CAAC,CAAC,EAAE;4BAClDF;4BACAC;4BACAF;4BACAI;wBACJ;oBACJ;oBACA,MAAM,WAAU,EACZJ,eAAe,EACfC,SAAS,EACTC,SAAS,EACTC,IAAI,EACJC,aAAa,EAChB;wBACGC,QAAQ,IAAI,CAAC,CAAC,uCAAuC,EAAEF,KAAK,CAAC,CAAC,EAAE;4BAC5DF;4BACAC;4BACAF;4BACAI;wBACJ;oBACJ;gBACJ;YACJ,EAAE,OAAM;gBACJ,OAAOf,WAAW,QAAQ,CAAC,QAAQ,CAC/B;oBACI,GAAGD,KAAK;oBACRW;gBACJ,GACA;oBACI,SAAS;gBACb;YAER;YAEJ,MAAMO,SAASjB,WAAW,KAAK,CAAC,OAAO,GAAG,EAAE;YAE5C,MAAMkB,eAAe,MAAMf,YAAY,OAAO,CAACG,OAAO;gBAClD,IAAI,GAAGW,SAASE,SAAS;gBACzB,UAAUC,SAAS,eAAe;gBAClC,QAAQA;YACZ;YAEA,IAAIF,aAAa,MAAM,IACnB,OAAOlB,WAAW,QAAQ,CAAC,KAAK,CAACkB,aAAa,KAAK;QAE3D;QAEA,OAAOpB,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAEC,MAAM,WAAW,CAAC,SAAS,CAAC;IAClF;AACJ"}
|