@webtypen/webframez-core 0.2.69 → 0.3.1
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/dev/.env.example +1 -0
- package/dev/MongoDBDriver.ts +173 -0
- package/dev/app.ts +0 -22
- package/dev/commands/TestCommand.ts +13 -0
- package/dev/config/database.ts +17 -0
- package/dev/config/queue.ts +29 -0
- package/dev/console.ts +37 -0
- package/dev/jobs/TestJob.ts +11 -0
- package/dev/storage/queue/log_worker_1.log +198 -0
- package/dev/storage/queue/log_worker_2.log +88 -0
- package/dev/storage/queue/log_worker_3.log +88 -0
- package/dev/storage/queue/worker_worker_1.json +1 -0
- package/dev/storage/queue/worker_worker_2.json +1 -0
- package/dev/storage/queue/worker_worker_3.json +1 -0
- package/dist/Commands/BuildFinishCommand.js +1 -1
- package/dist/Commands/ConsoleCommand.d.ts +24 -2
- package/dist/Commands/ConsoleCommand.js +38 -6
- package/dist/Commands/ConsoleOutputHelper.d.ts +17 -0
- package/dist/Commands/ConsoleOutputHelper.js +203 -0
- package/dist/Commands/QueueLogCommand.d.ts +6 -0
- package/dist/Commands/QueueLogCommand.js +102 -0
- package/dist/Commands/QueueStartCommand.d.ts +6 -0
- package/dist/Commands/QueueStartCommand.js +117 -0
- package/dist/Commands/QueueStatusCommand.d.ts +6 -0
- package/dist/Commands/QueueStatusCommand.js +94 -0
- package/dist/Commands/QueueStopCommand.d.ts +8 -0
- package/dist/Commands/QueueStopCommand.js +114 -0
- package/dist/Commands/QueueWorkerAutorestartCommand.d.ts +12 -0
- package/dist/Commands/QueueWorkerAutorestartCommand.js +102 -0
- package/dist/Commands/QueueWorkerCommand.d.ts +31 -0
- package/dist/Commands/QueueWorkerCommand.js +533 -0
- package/dist/ConsoleApplication.d.ts +10 -0
- package/dist/ConsoleApplication.js +160 -35
- package/dist/Database/Model.d.ts +7 -0
- package/dist/Database/Model.js +18 -0
- package/dist/Functions/DateFunctions.d.ts +1 -0
- package/dist/Functions/DateFunctions.js +3 -0
- package/dist/Functions/FileFunctions.d.ts +1 -0
- package/dist/Functions/FileFunctions.js +13 -9
- package/dist/Queue/BaseQueueJob.d.ts +1 -0
- package/dist/Queue/BaseQueueJob.js +7 -0
- package/dist/Router/Response.d.ts +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/info.d.ts +3 -0
- package/dist/info.js +6 -0
- package/package.json +3 -2
- package/src/Commands/BuildFinishCommand.ts +1 -1
- package/src/Commands/ConsoleCommand.ts +47 -5
- package/src/Commands/ConsoleOutputHelper.ts +233 -0
- package/src/Commands/QueueLogCommand.ts +93 -0
- package/src/Commands/QueueStartCommand.ts +121 -0
- package/src/Commands/QueueStatusCommand.ts +82 -0
- package/src/Commands/QueueStopCommand.ts +105 -0
- package/src/Commands/QueueWorkerAutorestartCommand.ts +97 -0
- package/src/Commands/QueueWorkerCommand.ts +636 -0
- package/src/ConsoleApplication.ts +169 -35
- package/src/Database/DBDrivers.ts +7 -7
- package/src/Database/Model.ts +18 -0
- package/src/Functions/DateFunctions.ts +4 -0
- package/src/Functions/FileFunctions.ts +13 -9
- package/src/Queue/BaseQueueJob.ts +8 -0
- package/src/Router/Response.ts +1 -1
- package/src/index.ts +2 -0
- package/src/info.ts +3 -0
- package/src/Commands/QueueRunCommand.ts +0 -221
package/dev/.env.example
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
MONGODB_URL=
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
const { MongoClient, ServerApiVersion, ObjectId } = require("mongodb");
|
|
2
|
+
import { BaseDBDriver, Model, QueryBuilder } from "../src";
|
|
3
|
+
|
|
4
|
+
export class MongoDBDriver extends BaseDBDriver {
|
|
5
|
+
client: typeof MongoClient = null;
|
|
6
|
+
|
|
7
|
+
async connect() {
|
|
8
|
+
if (this.client) {
|
|
9
|
+
return this.client;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
if (!this.config || !this.config["url" as keyof {}]) {
|
|
13
|
+
throw new Error("Missing MongoDB-URL ...");
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const client = new MongoClient(this.config["url" as keyof {}], {
|
|
17
|
+
serverApi: ServerApiVersion.v1,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
try {
|
|
21
|
+
await client.connect();
|
|
22
|
+
} catch (e) {
|
|
23
|
+
throw e;
|
|
24
|
+
}
|
|
25
|
+
return client;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
async close(client: any) {
|
|
29
|
+
if (client) {
|
|
30
|
+
await client.close();
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
client = null;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
async handleQueryBuilder(client: any, queryBuilder: QueryBuilder) {
|
|
37
|
+
const aggregation: any[] = [];
|
|
38
|
+
|
|
39
|
+
// Match
|
|
40
|
+
const match: { [key: string]: any } = {};
|
|
41
|
+
if (queryBuilder && queryBuilder.query && queryBuilder.query.length > 0) {
|
|
42
|
+
for (let q of queryBuilder.query) {
|
|
43
|
+
if (q.type === "where") {
|
|
44
|
+
match[q.column] =
|
|
45
|
+
q.operator === ">="
|
|
46
|
+
? { $gte: q.value }
|
|
47
|
+
: q.operator === ">"
|
|
48
|
+
? { $gt: q.value }
|
|
49
|
+
: q.operator === "<="
|
|
50
|
+
? { $lte: q.value }
|
|
51
|
+
: q.operator === "<"
|
|
52
|
+
? { $lt: q.value }
|
|
53
|
+
: q.operator === "!="
|
|
54
|
+
? { $ne: q.value }
|
|
55
|
+
: q.value;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
aggregation.push({ $match: match });
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Sort
|
|
63
|
+
const sort: { [key: string]: any } = {};
|
|
64
|
+
if (queryBuilder && queryBuilder.sort && queryBuilder.sort.length > 0) {
|
|
65
|
+
for (let i in queryBuilder.sort) {
|
|
66
|
+
if (queryBuilder.sort[i] && queryBuilder.sort[i].column) {
|
|
67
|
+
sort[queryBuilder.sort[i].column] =
|
|
68
|
+
queryBuilder.sort[i].sort === "ASC" ? 1 : queryBuilder.sort[i].sort === "DESC" ? -1 : queryBuilder.sort[i].sort;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (sort && Object.keys(sort).length > 0) {
|
|
73
|
+
aggregation.push({ $sort: sort });
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Offset
|
|
77
|
+
if (queryBuilder && queryBuilder.offsetCount && parseInt(queryBuilder.offsetCount.toString()) > 0) {
|
|
78
|
+
aggregation.push({
|
|
79
|
+
$skip: parseInt(queryBuilder.offsetCount.toString()),
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Limit
|
|
84
|
+
if (queryBuilder && queryBuilder.limitCount && parseInt(queryBuilder.limitCount.toString()) > 0) {
|
|
85
|
+
aggregation.push({
|
|
86
|
+
$limit: parseInt(queryBuilder.limitCount.toString()),
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (queryBuilder.mode === "delete") {
|
|
91
|
+
// Delete many action
|
|
92
|
+
return await client
|
|
93
|
+
.db(queryBuilder.database ?? null)
|
|
94
|
+
.collection(queryBuilder.queryTable)
|
|
95
|
+
.deleteMany(match);
|
|
96
|
+
} else if (queryBuilder.mode === "deleteOne") {
|
|
97
|
+
// Delete one action
|
|
98
|
+
return await client
|
|
99
|
+
.db(queryBuilder.database ?? null)
|
|
100
|
+
.collection(queryBuilder.queryTable)
|
|
101
|
+
.deleteOne(match);
|
|
102
|
+
} else if (queryBuilder.mode === "count") {
|
|
103
|
+
// Count action
|
|
104
|
+
const data = await client
|
|
105
|
+
.db(queryBuilder.database ?? null)
|
|
106
|
+
.collection(queryBuilder.queryTable)
|
|
107
|
+
.aggregate([...aggregation, { $group: { _id: null, count: { $sum: 1 } } }, { $project: { _id: 0 } }])
|
|
108
|
+
.toArray();
|
|
109
|
+
return data && data[0] && data[0].count !== undefined ? data[0].count : 0;
|
|
110
|
+
} else {
|
|
111
|
+
// Select actions
|
|
112
|
+
if (queryBuilder.mode === "first") {
|
|
113
|
+
aggregation.push({ $limit: 1 });
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const data = await client
|
|
117
|
+
.db(queryBuilder.database ?? null)
|
|
118
|
+
.collection(queryBuilder.queryTable)
|
|
119
|
+
.aggregate(aggregation)
|
|
120
|
+
.toArray();
|
|
121
|
+
|
|
122
|
+
if (queryBuilder.mode === "first") {
|
|
123
|
+
return data && data[0] ? data[0] : null;
|
|
124
|
+
}
|
|
125
|
+
return data && data.length > 0 ? data : null;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
async execute(client: any, executionData: any, options?: any) {
|
|
130
|
+
// Aggregation
|
|
131
|
+
if (executionData.type === "aggregation") {
|
|
132
|
+
return await client
|
|
133
|
+
.db(executionData.database ? executionData.database : null)
|
|
134
|
+
.collection(executionData.table)
|
|
135
|
+
.aggregate(executionData.aggregation, options)
|
|
136
|
+
.toArray();
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// insertOne
|
|
140
|
+
else if (executionData.type === "insertOne") {
|
|
141
|
+
return await client
|
|
142
|
+
.db(executionData.database ? executionData.database : null)
|
|
143
|
+
.collection(executionData.table)
|
|
144
|
+
.insertOne(executionData.data);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// updateOne
|
|
148
|
+
else if (executionData.type === "updateOne") {
|
|
149
|
+
return await client
|
|
150
|
+
.db(executionData.database ? executionData.database : null)
|
|
151
|
+
.collection(executionData.table)
|
|
152
|
+
.updateOne(executionData.filter, { $set: executionData.data });
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
async onModelSave(model: Model, saveStatus: any | null | undefined) {
|
|
159
|
+
if (!saveStatus) {
|
|
160
|
+
return model;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// Set primary-key after insert (ObjectID)
|
|
164
|
+
if (saveStatus.insertedId && model) {
|
|
165
|
+
model[model.__primaryKey] = saveStatus.insertedId;
|
|
166
|
+
}
|
|
167
|
+
return model;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
async objectId(val?: any) {
|
|
171
|
+
return val && typeof val === "string" ? new ObjectId(val) : val ? val : new ObjectId();
|
|
172
|
+
}
|
|
173
|
+
}
|
package/dev/app.ts
CHANGED
|
@@ -74,25 +74,3 @@ app.boot({
|
|
|
74
74
|
});
|
|
75
75
|
},
|
|
76
76
|
});
|
|
77
|
-
|
|
78
|
-
function getBoundary(contentType: string) {
|
|
79
|
-
const match = contentType.match(/boundary=(.+)$/);
|
|
80
|
-
return match ? `--${match[1]}` : null;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
function parseHeaders(headerPart: string) {
|
|
84
|
-
const headers: { [key: string]: string } = {};
|
|
85
|
-
const lines = headerPart.split("\r\n");
|
|
86
|
-
lines.forEach((line) => {
|
|
87
|
-
const parts = line.split(":");
|
|
88
|
-
if (parts.length === 2) {
|
|
89
|
-
headers[parts[0].trim()] = parts[1].trim();
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
return headers;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
function getFilename(contentDisposition: string) {
|
|
96
|
-
const match = contentDisposition.match(/filename="(.+?)"/);
|
|
97
|
-
return match ? match[1] : null;
|
|
98
|
-
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ConsoleCommand } from "../../src/Commands/ConsoleCommand";
|
|
2
|
+
|
|
3
|
+
export class TestCommand extends ConsoleCommand {
|
|
4
|
+
static signature = "test:command";
|
|
5
|
+
static description = "a temporary test command";
|
|
6
|
+
|
|
7
|
+
async handle() {
|
|
8
|
+
while (true) {
|
|
9
|
+
this.writeln(`Write "Test" every 5 seconds ...`);
|
|
10
|
+
await new Promise((resolve) => setTimeout(resolve, 5000));
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
/**
|
|
3
|
+
* Specifies which connection definition should be used as default connection
|
|
4
|
+
*/
|
|
5
|
+
defaultConnection: "default",
|
|
6
|
+
|
|
7
|
+
connections: {
|
|
8
|
+
["default"]: {
|
|
9
|
+
/**
|
|
10
|
+
* Available drivers:
|
|
11
|
+
* mongodb, mysql
|
|
12
|
+
*/
|
|
13
|
+
driver: "mongodb",
|
|
14
|
+
url: process.env.MONGODB_URL,
|
|
15
|
+
},
|
|
16
|
+
},
|
|
17
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
workers: {
|
|
3
|
+
worker_1: {
|
|
4
|
+
is_active: true,
|
|
5
|
+
// jobclasses: [],
|
|
6
|
+
automation: [
|
|
7
|
+
{
|
|
8
|
+
jobclass: "TestJob",
|
|
9
|
+
executions: [
|
|
10
|
+
["tuesdays", "01:02"],
|
|
11
|
+
["daily", "01:04"],
|
|
12
|
+
["every_hour"],
|
|
13
|
+
["every_hour", 1],
|
|
14
|
+
["daily", "02:23"],
|
|
15
|
+
["daily", "02:24"],
|
|
16
|
+
["daily", "02:25"],
|
|
17
|
+
["every_hour", 20],
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
worker_2: {
|
|
23
|
+
is_active: true,
|
|
24
|
+
},
|
|
25
|
+
worker_3: {
|
|
26
|
+
is_active: true,
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
};
|
package/dev/console.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import dotenv from "dotenv";
|
|
2
|
+
import { ConsoleApplication } from "../src/ConsoleApplication";
|
|
3
|
+
import { BaseKernelConsole } from "../src/BaseKernelConsole";
|
|
4
|
+
import { DBDrivers } from "../src/Database/DBDrivers";
|
|
5
|
+
import { DBConnection } from "../src/Database/DBConnection";
|
|
6
|
+
import { MongoDBDriver } from "./MongoDBDriver";
|
|
7
|
+
import { TestCommand } from "./commands/TestCommand";
|
|
8
|
+
|
|
9
|
+
dotenv.config();
|
|
10
|
+
|
|
11
|
+
import database from "./config/database";
|
|
12
|
+
import queue from "./config/queue";
|
|
13
|
+
import { TestJob } from "./jobs/TestJob";
|
|
14
|
+
|
|
15
|
+
class KernelConsole extends BaseKernelConsole {
|
|
16
|
+
static commands: any = [TestCommand];
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
const QUEUE_JOBS: any[] = [TestJob];
|
|
20
|
+
|
|
21
|
+
DBDrivers.register("mongodb", MongoDBDriver);
|
|
22
|
+
const app = new ConsoleApplication();
|
|
23
|
+
app.boot({
|
|
24
|
+
kernel: KernelConsole,
|
|
25
|
+
config: {
|
|
26
|
+
application: {},
|
|
27
|
+
database: database,
|
|
28
|
+
queue: queue,
|
|
29
|
+
},
|
|
30
|
+
jobs: QUEUE_JOBS,
|
|
31
|
+
onEnd: async () => {
|
|
32
|
+
const connection = await DBConnection.getConnection();
|
|
33
|
+
if (connection && connection.client) {
|
|
34
|
+
connection.driver.close(connection.client);
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
});
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
[worker_1 | 25-08-05 01:43:07] Worker worker_1 received stop signal.
|
|
2
|
+
[worker_1 | 25-08-05 01:43:07] Queue stopped
|
|
3
|
+
|
|
4
|
+
[worker_1 | 25-08-05 01:43:13] Starting worker
|
|
5
|
+
[worker_1 | 25-08-05 01:43:16] Queue started
|
|
6
|
+
[worker_1 | 25-08-05 01:43:43] Worker worker_1 received stop signal.
|
|
7
|
+
[worker_1 | 25-08-05 01:43:43] Queue stopped
|
|
8
|
+
|
|
9
|
+
[worker_1 | 25-08-05 01:43:48] Starting worker
|
|
10
|
+
[worker_1 | 25-08-05 01:43:52] Queue started
|
|
11
|
+
|
|
12
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mQueue run failed: Cannot read properties of undefined (reading 'identifier')[39m[22m
|
|
13
|
+
|
|
14
|
+
[worker_1 | 25-08-05 01:45:04] Queue stopped
|
|
15
|
+
|
|
16
|
+
[worker_1 | 25-08-05 01:48:16] Starting worker
|
|
17
|
+
[worker_1 | 25-08-05 01:48:19] Queue started
|
|
18
|
+
[worker_1 | 25-08-05 01:50:02] Start Job #3 - TestJob (every_x_mins: 5)
|
|
19
|
+
[worker_1 | 25-08-05 01:50:28] Finished Job #3 - TestJob - 25.83s
|
|
20
|
+
[worker_1 | 25-08-05 01:55:04] Start Job #4 - TestJob (every_x_mins: 5)
|
|
21
|
+
[worker_1 | 25-08-05 01:55:30] Finished Job #4 - TestJob - 25.81s
|
|
22
|
+
[worker_1 | 25-08-05 02:00:02] Start Job #5 - TestJob (every_x_mins: 5)
|
|
23
|
+
[worker_1 | 25-08-05 02:00:28] Finished Job #5 - TestJob - 25.80s
|
|
24
|
+
[worker_1 | 25-08-05 02:03:47] Worker worker_1 received stop signal.
|
|
25
|
+
[worker_1 | 25-08-05 02:03:47] Queue stopped
|
|
26
|
+
|
|
27
|
+
[worker_1 | 25-08-05 02:03:54] Starting worker
|
|
28
|
+
[worker_1 | 25-08-05 02:04:00] Queue started
|
|
29
|
+
[worker_1 | 25-08-05 02:04:25] Worker worker_1 received stop signal.
|
|
30
|
+
[worker_1 | 25-08-05 02:04:25] Queue stopped
|
|
31
|
+
[worker_1 | 25-08-05 02:04:29] Queue started
|
|
32
|
+
|
|
33
|
+
[worker_1 | 25-08-05 02:07:02] Starting worker
|
|
34
|
+
[worker_1 | 25-08-05 02:07:08] Queue started
|
|
35
|
+
[worker_1 | 25-08-05 02:07:17] Worker worker_1 received stop signal.
|
|
36
|
+
[worker_1 | 25-08-05 02:07:17] Queue stopped
|
|
37
|
+
|
|
38
|
+
[worker_1 | 25-08-05 02:07:35] Starting worker
|
|
39
|
+
[worker_1 | 25-08-05 02:07:41] Queue started
|
|
40
|
+
[worker_1 | 25-08-05 02:07:45] Worker worker_1 received stop signal.
|
|
41
|
+
[worker_1 | 25-08-05 02:07:45] Queue stopped
|
|
42
|
+
|
|
43
|
+
[worker_1 | 25-08-05 02:07:48] Starting worker
|
|
44
|
+
[worker_1 | 25-08-05 02:07:57] Queue started
|
|
45
|
+
[worker_1 | 25-08-05 02:09:07] Worker worker_1 received stop signal.
|
|
46
|
+
[worker_1 | 25-08-05 02:09:07] Queue stopped
|
|
47
|
+
|
|
48
|
+
[worker_1 | 25-08-05 02:09:10] Starting worker
|
|
49
|
+
[worker_1 | 25-08-05 02:09:16] Queue started
|
|
50
|
+
[worker_1 | 25-08-05 02:09:17] Start Job #6 - TestJob (every_x_mins: 1)
|
|
51
|
+
[worker_1 | 25-08-05 02:09:21] Queue started
|
|
52
|
+
[worker_1 | 25-08-05 02:10:03] Start Job #7 - TestJob (every_x_mins: 1)
|
|
53
|
+
[worker_1 | 25-08-05 02:10:07] Queue started
|
|
54
|
+
[worker_1 | 25-08-05 02:10:43] Worker worker_1 received stop signal.
|
|
55
|
+
[worker_1 | 25-08-05 02:10:43] Queue stopped
|
|
56
|
+
|
|
57
|
+
[worker_1 | 25-08-05 02:10:50] Starting worker
|
|
58
|
+
[worker_1 | 25-08-05 02:10:56] Queue started
|
|
59
|
+
[worker_1 | 25-08-05 02:11:01] Worker worker_1 received stop signal.
|
|
60
|
+
[worker_1 | 25-08-05 02:11:01] Queue stopped
|
|
61
|
+
|
|
62
|
+
[worker_1 | 25-08-05 02:11:04] Starting worker
|
|
63
|
+
[worker_1 | 25-08-05 02:11:11] Queue started
|
|
64
|
+
[worker_1 | 25-08-05 02:15:02] Start Job #8 - TestJob (every_x_mins: 5)
|
|
65
|
+
[worker_1 | 25-08-05 02:15:04] Finished Job #8 - TestJob - 2.50s
|
|
66
|
+
[worker_1 | 25-08-05 02:15:10] Worker worker_1 received stop signal.
|
|
67
|
+
[worker_1 | 25-08-05 02:15:10] Queue stopped
|
|
68
|
+
|
|
69
|
+
[worker_1 | 25-08-05 02:15:13] Starting worker
|
|
70
|
+
[worker_1 | 25-08-05 02:15:19] Queue started
|
|
71
|
+
[worker_1 | 25-08-05 02:15:19] Invalid execution type 'every_hour' for job 'TestJob' in worker automation.
|
|
72
|
+
|
|
73
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution type 'every_hour' for job 'TestJob' in worker automation.[39m[22m
|
|
74
|
+
|
|
75
|
+
[worker_1 | 25-08-05 02:15:19] Invalid execution type 'every_hour' for job 'TestJob' in worker automation.
|
|
76
|
+
|
|
77
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution type 'every_hour' for job 'TestJob' in worker automation.[39m[22m
|
|
78
|
+
|
|
79
|
+
[worker_1 | 25-08-05 02:15:19] Invalid execution type 'every_hour' for job 'TestJob' in worker automation.
|
|
80
|
+
|
|
81
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution type 'every_hour' for job 'TestJob' in worker automation.[39m[22m
|
|
82
|
+
|
|
83
|
+
[worker_1 | 25-08-05 02:15:24] Invalid execution type 'every_hour' for job 'TestJob' in worker automation.
|
|
84
|
+
|
|
85
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution type 'every_hour' for job 'TestJob' in worker automation.[39m[22m
|
|
86
|
+
|
|
87
|
+
[worker_1 | 25-08-05 02:15:24] Invalid execution type 'every_hour' for job 'TestJob' in worker automation.
|
|
88
|
+
|
|
89
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution type 'every_hour' for job 'TestJob' in worker automation.[39m[22m
|
|
90
|
+
|
|
91
|
+
[worker_1 | 25-08-05 02:15:24] Invalid execution type 'every_hour' for job 'TestJob' in worker automation.
|
|
92
|
+
|
|
93
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution type 'every_hour' for job 'TestJob' in worker automation.[39m[22m
|
|
94
|
+
|
|
95
|
+
[worker_1 | 25-08-05 02:15:29] Invalid execution type 'every_hour' for job 'TestJob' in worker automation.
|
|
96
|
+
|
|
97
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution type 'every_hour' for job 'TestJob' in worker automation.[39m[22m
|
|
98
|
+
|
|
99
|
+
[worker_1 | 25-08-05 02:15:29] Invalid execution type 'every_hour' for job 'TestJob' in worker automation.
|
|
100
|
+
|
|
101
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution type 'every_hour' for job 'TestJob' in worker automation.[39m[22m
|
|
102
|
+
|
|
103
|
+
[worker_1 | 25-08-05 02:15:29] Invalid execution type 'every_hour' for job 'TestJob' in worker automation.
|
|
104
|
+
|
|
105
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution type 'every_hour' for job 'TestJob' in worker automation.[39m[22m
|
|
106
|
+
|
|
107
|
+
[worker_1 | 25-08-05 02:15:31] Worker worker_1 received stop signal.
|
|
108
|
+
[worker_1 | 25-08-05 02:15:31] Queue stopped
|
|
109
|
+
|
|
110
|
+
[worker_1 | 25-08-05 02:16:58] Starting worker
|
|
111
|
+
[worker_1 | 25-08-05 02:17:05] Queue started
|
|
112
|
+
[worker_1 | 25-08-05 02:17:59] Worker worker_1 received stop signal.
|
|
113
|
+
[worker_1 | 25-08-05 02:18:00] Queue stopped
|
|
114
|
+
|
|
115
|
+
[worker_1 | 25-08-05 02:18:03] Starting worker
|
|
116
|
+
[worker_1 | 25-08-05 02:18:10] Queue started
|
|
117
|
+
[worker_1 | 25-08-05 02:18:10] every_hour8===1
|
|
118
|
+
[worker_1 | 25-08-05 02:18:10] every_hour8===16
|
|
119
|
+
[worker_1 | 25-08-05 02:18:10] every_hour8===17
|
|
120
|
+
[worker_1 | 25-08-05 02:18:10] every_hour8===20
|
|
121
|
+
[worker_1 | 25-08-05 02:18:16] every_hour8===1
|
|
122
|
+
[worker_1 | 25-08-05 02:18:16] every_hour8===16
|
|
123
|
+
[worker_1 | 25-08-05 02:18:16] every_hour8===17
|
|
124
|
+
[worker_1 | 25-08-05 02:18:16] every_hour8===20
|
|
125
|
+
[worker_1 | 25-08-05 02:18:21] every_hour8===1
|
|
126
|
+
[worker_1 | 25-08-05 02:18:21] every_hour8===16
|
|
127
|
+
[worker_1 | 25-08-05 02:18:21] every_hour8===17
|
|
128
|
+
[worker_1 | 25-08-05 02:18:21] every_hour8===20
|
|
129
|
+
[worker_1 | 25-08-05 02:18:26] every_hour8===1
|
|
130
|
+
[worker_1 | 25-08-05 02:18:26] every_hour8===16
|
|
131
|
+
[worker_1 | 25-08-05 02:18:26] every_hour8===17
|
|
132
|
+
[worker_1 | 25-08-05 02:18:26] every_hour8===20
|
|
133
|
+
[worker_1 | 25-08-05 02:18:31] Worker worker_1 received stop signal.
|
|
134
|
+
[worker_1 | 25-08-05 02:18:31] Queue stopped
|
|
135
|
+
|
|
136
|
+
[worker_1 | 25-08-05 02:18:33] Starting worker
|
|
137
|
+
[worker_1 | 25-08-05 02:18:40] Queue started
|
|
138
|
+
[worker_1 | 25-08-05 02:18:59] Worker worker_1 received stop signal.
|
|
139
|
+
[worker_1 | 25-08-05 02:18:59] Queue stopped
|
|
140
|
+
|
|
141
|
+
[worker_1 | 25-08-05 02:19:03] Starting worker
|
|
142
|
+
[worker_1 | 25-08-05 02:19:09] Queue started
|
|
143
|
+
[worker_1 | 25-08-05 02:19:10] Start Job #2 - TestJob (every_hour: 19)
|
|
144
|
+
[worker_1 | 25-08-05 02:19:13] Finished Job #2 - TestJob - 2.50s
|
|
145
|
+
[worker_1 | 25-08-05 02:20:01] Start Job #3 - TestJob (every_hour: 20)
|
|
146
|
+
[worker_1 | 25-08-05 02:20:04] Finished Job #3 - TestJob - 2.51s
|
|
147
|
+
[worker_1 | 25-08-05 02:23:37] Worker worker_1 received stop signal.
|
|
148
|
+
[worker_1 | 25-08-05 02:23:37] Queue stopped
|
|
149
|
+
|
|
150
|
+
[worker_1 | 25-08-05 02:23:42] Starting worker
|
|
151
|
+
[worker_1 | 25-08-05 02:23:49] Queue started
|
|
152
|
+
[worker_1 | 25-08-05 02:23:49] Invalid execution format for job 'TestJob' in worker automation.
|
|
153
|
+
|
|
154
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution format for job 'TestJob' in worker automation.[39m[22m
|
|
155
|
+
|
|
156
|
+
[worker_1 | 25-08-05 02:23:50] Start Job #4 - TestJob (daily: 02:23)
|
|
157
|
+
[worker_1 | 25-08-05 02:23:53] Finished Job #4 - TestJob - 2.51s
|
|
158
|
+
[worker_1 | 25-08-05 02:23:54] Invalid execution format for job 'TestJob' in worker automation.
|
|
159
|
+
|
|
160
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution format for job 'TestJob' in worker automation.[39m[22m
|
|
161
|
+
|
|
162
|
+
[worker_1 | 25-08-05 02:23:59] Invalid execution format for job 'TestJob' in worker automation.
|
|
163
|
+
|
|
164
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution format for job 'TestJob' in worker automation.[39m[22m
|
|
165
|
+
|
|
166
|
+
[worker_1 | 25-08-05 02:24:04] Invalid execution format for job 'TestJob' in worker automation.
|
|
167
|
+
|
|
168
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution format for job 'TestJob' in worker automation.[39m[22m
|
|
169
|
+
|
|
170
|
+
[worker_1 | 25-08-05 02:24:05] Start Job #5 - TestJob (daily: 02:24)
|
|
171
|
+
[worker_1 | 25-08-05 02:24:07] Finished Job #5 - TestJob - 2.50s
|
|
172
|
+
[worker_1 | 25-08-05 02:24:09] Invalid execution format for job 'TestJob' in worker automation.
|
|
173
|
+
|
|
174
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution format for job 'TestJob' in worker automation.[39m[22m
|
|
175
|
+
|
|
176
|
+
[worker_1 | 25-08-05 02:24:14] Invalid execution format for job 'TestJob' in worker automation.
|
|
177
|
+
|
|
178
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution format for job 'TestJob' in worker automation.[39m[22m
|
|
179
|
+
|
|
180
|
+
[worker_1 | 25-08-05 02:24:20] Invalid execution format for job 'TestJob' in worker automation.
|
|
181
|
+
|
|
182
|
+
[41m[37m ERROR [1m[39m[41m[49m [31mInvalid execution format for job 'TestJob' in worker automation.[39m[22m
|
|
183
|
+
|
|
184
|
+
[worker_1 | 25-08-05 02:24:21] Worker worker_1 received stop signal.
|
|
185
|
+
[worker_1 | 25-08-05 02:24:21] Queue stopped
|
|
186
|
+
|
|
187
|
+
[worker_1 | 25-08-05 02:24:27] Starting worker
|
|
188
|
+
[worker_1 | 25-08-05 02:24:33] Queue started
|
|
189
|
+
[worker_1 | 25-08-05 02:25:03] Start Job #5 - TestJob (daily: 02:24)
|
|
190
|
+
[worker_1 | 25-08-05 02:25:05] Finished Job #5 - TestJob - 2.50s
|
|
191
|
+
[worker_1 | 25-08-05 02:25:06] Start Job #6 - TestJob (daily: 02:25)
|
|
192
|
+
[worker_1 | 25-08-05 02:25:09] Finished Job #6 - TestJob - 2.51s
|
|
193
|
+
[worker_1 | 25-08-05 03:00:03] Start Job #7 - TestJob (every_hour: NaN)
|
|
194
|
+
[worker_1 | 25-08-05 03:00:05] Finished Job #7 - TestJob - 2.50s
|
|
195
|
+
[worker_1 | 25-08-05 03:01:04] Start Job #8 - TestJob (every_hour: 1)
|
|
196
|
+
[worker_1 | 25-08-05 03:01:06] Finished Job #8 - TestJob - 2.50s
|
|
197
|
+
[worker_1 | 25-08-05 03:04:43] Worker worker_1 received stop signal.
|
|
198
|
+
[worker_1 | 25-08-05 03:04:43] Queue stopped
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
[worker_2 | 25-08-05 01:43:07] Worker worker_2 received stop signal.
|
|
2
|
+
[worker_2 | 25-08-05 01:43:07] Queue stopped
|
|
3
|
+
|
|
4
|
+
[worker_2 | 25-08-05 01:43:13] Starting worker
|
|
5
|
+
[worker_2 | 25-08-05 01:43:16] Queue started
|
|
6
|
+
[worker_2 | 25-08-05 01:43:43] Worker worker_2 received stop signal.
|
|
7
|
+
[worker_2 | 25-08-05 01:43:43] Queue stopped
|
|
8
|
+
|
|
9
|
+
[worker_2 | 25-08-05 01:43:48] Starting worker
|
|
10
|
+
[worker_2 | 25-08-05 01:43:52] Queue started
|
|
11
|
+
[worker_2 | 25-08-05 01:48:14] Worker worker_2 received stop signal.
|
|
12
|
+
[worker_2 | 25-08-05 01:48:14] Queue stopped
|
|
13
|
+
|
|
14
|
+
[worker_2 | 25-08-05 01:48:16] Starting worker
|
|
15
|
+
[worker_2 | 25-08-05 01:48:19] Queue started
|
|
16
|
+
[worker_2 | 25-08-05 02:03:48] Worker worker_2 received stop signal.
|
|
17
|
+
[worker_2 | 25-08-05 02:03:48] Queue stopped
|
|
18
|
+
|
|
19
|
+
[worker_2 | 25-08-05 02:03:54] Starting worker
|
|
20
|
+
[worker_2 | 25-08-05 02:04:00] Queue started
|
|
21
|
+
[worker_2 | 25-08-05 02:04:25] Worker worker_2 received stop signal.
|
|
22
|
+
[worker_2 | 25-08-05 02:04:25] Queue stopped
|
|
23
|
+
[worker_2 | 25-08-05 02:04:28] Queue started
|
|
24
|
+
|
|
25
|
+
[worker_2 | 25-08-05 02:07:02] Starting worker
|
|
26
|
+
[worker_2 | 25-08-05 02:07:08] Queue started
|
|
27
|
+
[worker_2 | 25-08-05 02:07:16] Worker worker_2 received stop signal.
|
|
28
|
+
[worker_2 | 25-08-05 02:07:16] Queue stopped
|
|
29
|
+
|
|
30
|
+
[worker_2 | 25-08-05 02:07:35] Starting worker
|
|
31
|
+
[worker_2 | 25-08-05 02:07:41] Queue started
|
|
32
|
+
[worker_2 | 25-08-05 02:07:45] Worker worker_2 received stop signal.
|
|
33
|
+
[worker_2 | 25-08-05 02:07:45] Queue stopped
|
|
34
|
+
|
|
35
|
+
[worker_2 | 25-08-05 02:07:48] Starting worker
|
|
36
|
+
[worker_2 | 25-08-05 02:07:57] Queue started
|
|
37
|
+
[worker_2 | 25-08-05 02:09:07] Worker worker_2 received stop signal.
|
|
38
|
+
[worker_2 | 25-08-05 02:09:07] Queue stopped
|
|
39
|
+
|
|
40
|
+
[worker_2 | 25-08-05 02:09:10] Starting worker
|
|
41
|
+
[worker_2 | 25-08-05 02:09:16] Queue started
|
|
42
|
+
[worker_2 | 25-08-05 02:10:43] Worker worker_2 received stop signal.
|
|
43
|
+
[worker_2 | 25-08-05 02:10:43] Queue stopped
|
|
44
|
+
|
|
45
|
+
[worker_2 | 25-08-05 02:10:50] Starting worker
|
|
46
|
+
[worker_2 | 25-08-05 02:10:56] Queue started
|
|
47
|
+
[worker_2 | 25-08-05 02:11:01] Worker worker_2 received stop signal.
|
|
48
|
+
[worker_2 | 25-08-05 02:11:01] Queue stopped
|
|
49
|
+
|
|
50
|
+
[worker_2 | 25-08-05 02:11:04] Starting worker
|
|
51
|
+
[worker_2 | 25-08-05 02:11:11] Queue started
|
|
52
|
+
[worker_2 | 25-08-05 02:15:10] Worker worker_2 received stop signal.
|
|
53
|
+
[worker_2 | 25-08-05 02:15:10] Queue stopped
|
|
54
|
+
|
|
55
|
+
[worker_2 | 25-08-05 02:15:13] Starting worker
|
|
56
|
+
[worker_2 | 25-08-05 02:15:19] Queue started
|
|
57
|
+
[worker_2 | 25-08-05 02:15:31] Worker worker_2 received stop signal.
|
|
58
|
+
[worker_2 | 25-08-05 02:15:31] Queue stopped
|
|
59
|
+
|
|
60
|
+
[worker_2 | 25-08-05 02:16:58] Starting worker
|
|
61
|
+
[worker_2 | 25-08-05 02:17:05] Queue started
|
|
62
|
+
[worker_2 | 25-08-05 02:18:00] Worker worker_2 received stop signal.
|
|
63
|
+
[worker_2 | 25-08-05 02:18:00] Queue stopped
|
|
64
|
+
|
|
65
|
+
[worker_2 | 25-08-05 02:18:03] Starting worker
|
|
66
|
+
[worker_2 | 25-08-05 02:18:10] Queue started
|
|
67
|
+
[worker_2 | 25-08-05 02:18:31] Worker worker_2 received stop signal.
|
|
68
|
+
[worker_2 | 25-08-05 02:18:31] Queue stopped
|
|
69
|
+
|
|
70
|
+
[worker_2 | 25-08-05 02:18:33] Starting worker
|
|
71
|
+
[worker_2 | 25-08-05 02:18:40] Queue started
|
|
72
|
+
[worker_2 | 25-08-05 02:18:59] Worker worker_2 received stop signal.
|
|
73
|
+
[worker_2 | 25-08-05 02:18:59] Queue stopped
|
|
74
|
+
|
|
75
|
+
[worker_2 | 25-08-05 02:19:03] Starting worker
|
|
76
|
+
[worker_2 | 25-08-05 02:19:09] Queue started
|
|
77
|
+
[worker_2 | 25-08-05 02:23:37] Worker worker_2 received stop signal.
|
|
78
|
+
[worker_2 | 25-08-05 02:23:37] Queue stopped
|
|
79
|
+
|
|
80
|
+
[worker_2 | 25-08-05 02:23:42] Starting worker
|
|
81
|
+
[worker_2 | 25-08-05 02:23:49] Queue started
|
|
82
|
+
[worker_2 | 25-08-05 02:24:21] Worker worker_2 received stop signal.
|
|
83
|
+
[worker_2 | 25-08-05 02:24:21] Queue stopped
|
|
84
|
+
|
|
85
|
+
[worker_2 | 25-08-05 02:24:27] Starting worker
|
|
86
|
+
[worker_2 | 25-08-05 02:24:33] Queue started
|
|
87
|
+
[worker_2 | 25-08-05 03:04:43] Worker worker_2 received stop signal.
|
|
88
|
+
[worker_2 | 25-08-05 03:04:43] Queue stopped
|