@stamhoofd/crons 2.120.0 → 2.120.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/crons.d.ts +4 -1
- package/dist/crons.d.ts.map +1 -1
- package/dist/crons.js +9 -8
- package/dist/crons.js.map +1 -1
- package/package.json +2 -2
package/dist/crons.d.ts
CHANGED
|
@@ -4,7 +4,10 @@ export type CronJobDefinition = {
|
|
|
4
4
|
running: boolean;
|
|
5
5
|
};
|
|
6
6
|
export declare function registerCron(name: string, method: () => Promise<void>): void;
|
|
7
|
-
export declare function
|
|
7
|
+
export declare function checkReadOnly(): Promise<boolean>;
|
|
8
|
+
export declare function startCrons(options?: {
|
|
9
|
+
allowReadOnly: boolean;
|
|
10
|
+
}): void;
|
|
8
11
|
export declare function stopCrons(): void;
|
|
9
12
|
export declare function waitForCrons(): Promise<void>;
|
|
10
13
|
//# sourceMappingURL=crons.d.ts.map
|
package/dist/crons.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crons.d.ts","sourceRoot":"","sources":["../src/crons.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAIF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,QAMrE;
|
|
1
|
+
{"version":3,"file":"crons.d.ts","sourceRoot":"","sources":["../src/crons.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAIF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,QAMrE;AAuBD,wBAAsB,aAAa,qBA2BlC;AAgED,wBAAgB,UAAU,CAAC,OAAO,GAAE;IAAC,aAAa,EAAE,OAAO,CAAA;CAA0B,QASpF;AAED,wBAAgB,SAAS,SAOxB;AAED,wBAAsB,YAAY,kBAWjC"}
|
package/dist/crons.js
CHANGED
|
@@ -29,7 +29,7 @@ async function run(name, handler) {
|
|
|
29
29
|
console.error(new StyledText(e).addClass('error'));
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
async function checkReadOnly() {
|
|
32
|
+
export async function checkReadOnly() {
|
|
33
33
|
// Check if database is in read only mode. If so, skip running cronjobs.
|
|
34
34
|
const [results] = await Database.select("SHOW VARIABLES LIKE 'read_only'");
|
|
35
35
|
if (results.length !== 1) {
|
|
@@ -50,7 +50,6 @@ async function checkReadOnly() {
|
|
|
50
50
|
}
|
|
51
51
|
else {
|
|
52
52
|
if (value === 'ON') {
|
|
53
|
-
console.error(new StyledText(`[CRONS] `).addClass('crons', 'tag'), new StyledText('MySQL is in read-only mode: crons are disabled.').addClass('error'));
|
|
54
53
|
return true;
|
|
55
54
|
}
|
|
56
55
|
}
|
|
@@ -74,12 +73,13 @@ function areCronsRunning() {
|
|
|
74
73
|
}
|
|
75
74
|
return false;
|
|
76
75
|
}
|
|
77
|
-
async function crons() {
|
|
76
|
+
async function crons(options) {
|
|
78
77
|
if (STAMHOOFD.CRONS_DISABLED) {
|
|
79
78
|
console.error(new StyledText(`[CRONS] `).addClass('crons', 'tag'), new StyledText('Crons are disabled. Make sure to enable them in the environment variables.').addClass('error'));
|
|
80
79
|
return;
|
|
81
80
|
}
|
|
82
|
-
if (await checkReadOnly()) {
|
|
81
|
+
if (!options.allowReadOnly && await checkReadOnly()) {
|
|
82
|
+
console.error(new StyledText(`[CRONS] `).addClass('crons', 'tag'), new StyledText('MySQL is in read-only mode: crons are disabled.').addClass('error'));
|
|
83
83
|
return;
|
|
84
84
|
}
|
|
85
85
|
schedulingJobs = true;
|
|
@@ -101,7 +101,8 @@ async function crons() {
|
|
|
101
101
|
// Prevent starting too many jobs at once
|
|
102
102
|
if (STAMHOOFD.environment !== 'development') {
|
|
103
103
|
await sleep(10 * 1000);
|
|
104
|
-
if (await checkReadOnly()) {
|
|
104
|
+
if (!options.allowReadOnly && await checkReadOnly()) {
|
|
105
|
+
console.error(new StyledText(`[CRONS] `).addClass('crons', 'tag'), new StyledText('MySQL is in read-only mode: crons are interrupted.').addClass('error'));
|
|
105
106
|
return;
|
|
106
107
|
}
|
|
107
108
|
}
|
|
@@ -110,14 +111,14 @@ async function crons() {
|
|
|
110
111
|
}
|
|
111
112
|
;
|
|
112
113
|
let cronInterval = null;
|
|
113
|
-
export function startCrons() {
|
|
114
|
+
export function startCrons(options = { allowReadOnly: false }) {
|
|
114
115
|
if (registeredCronJobs.length === 0) {
|
|
115
116
|
throw new Error('No crons registered');
|
|
116
117
|
}
|
|
117
118
|
cronInterval = setInterval(() => {
|
|
118
|
-
crons().catch(console.error);
|
|
119
|
+
crons(options).catch(console.error);
|
|
119
120
|
}, STAMHOOFD.environment === 'development' ? 10 * 1000 : 5 * 60 * 1000);
|
|
120
|
-
crons().catch(console.error);
|
|
121
|
+
crons(options).catch(console.error);
|
|
121
122
|
}
|
|
122
123
|
export function stopCrons() {
|
|
123
124
|
stopCronScheduling();
|
package/dist/crons.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crons.js","sourceRoot":"","sources":["../src/crons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAQvD,MAAM,kBAAkB,GAAwB,EAAE,CAAC;AAEnD,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,MAA2B;IAClE,kBAAkB,CAAC,IAAI,CAAC;QACpB,IAAI;QACJ,MAAM;QACN,OAAO,EAAE,KAAK;KACjB,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,OAA4B;IACzD,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,UAAU,CAAC;YACpB,QAAQ,EAAE;gBACN,IAAI,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;aACxD;YACD,IAAI,EAAE,CAAC,OAAO,CAAC;SAClB,EAAE,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACD,MAAM,OAAO,EAAE,CAAC;YACpB,CAAC;YACD,OAAO,CAAC,EAAE,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,CAAC,EAAE,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACvD,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa;
|
|
1
|
+
{"version":3,"file":"crons.js","sourceRoot":"","sources":["../src/crons.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stamhoofd/crons",
|
|
3
|
-
"version": "2.120.
|
|
3
|
+
"version": "2.120.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -16,5 +16,5 @@
|
|
|
16
16
|
"publishConfig": {
|
|
17
17
|
"access": "public"
|
|
18
18
|
},
|
|
19
|
-
"gitHead": "
|
|
19
|
+
"gitHead": "404db833ca7d9ff5c863ca06100be17f63b237c5"
|
|
20
20
|
}
|