@pisell/core 1.0.31 → 1.1.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/es/app/app.d.ts +3 -7
- package/es/app/app.js +0 -3
- package/es/indexDB/index.js +87 -62
- package/es/request/cache.d.ts +1 -1
- package/es/request/cache.js +29 -81
- package/es/request/index.d.ts +3 -3
- package/es/request/index.js +1 -14
- package/es/request/type.d.ts +0 -11
- package/es/request/type.js +1 -10
- package/es/request/utils.js +1 -1
- package/es/tasks/index.d.ts +0 -45
- package/es/tasks/index.js +101 -444
- package/es/tasks/type.d.ts +0 -38
- package/lib/app/app.d.ts +3 -7
- package/lib/app/app.js +0 -3
- package/lib/indexDB/index.js +38 -28
- package/lib/request/cache.d.ts +1 -1
- package/lib/request/cache.js +5 -42
- package/lib/request/index.d.ts +3 -3
- package/lib/request/index.js +1 -10
- package/lib/request/type.d.ts +0 -11
- package/lib/request/type.js +0 -19
- package/lib/request/utils.js +1 -1
- package/lib/tasks/index.d.ts +0 -45
- package/lib/tasks/index.js +77 -326
- package/lib/tasks/type.d.ts +0 -38
- package/package.json +1 -1
- package/es/tasks/scheduledTasksExample.d.ts +0 -61
- package/es/tasks/scheduledTasksExample.js +0 -351
- package/lib/tasks/scheduledTasksExample.d.ts +0 -61
- package/lib/tasks/scheduledTasksExample.js +0 -267
|
@@ -1,351 +0,0 @@
|
|
|
1
|
-
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
3
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
5
|
-
/**
|
|
6
|
-
* 定时任务示例代码
|
|
7
|
-
* 本文件展示了如何使用定时任务功能
|
|
8
|
-
*
|
|
9
|
-
* 重要提示:
|
|
10
|
-
* - 定时任务必须添加到 'scheduledTasks' 模块才能生效
|
|
11
|
-
* - 在其他模块中,scheduled 配置会被忽略,任务将作为普通任务立即执行
|
|
12
|
-
* - 这是为了性能优化,避免在所有模块中检查定时任务配置
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
import { TasksManager } from "./index";
|
|
16
|
-
import dayjs from 'dayjs';
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* 示例1:创建一次性定时任务
|
|
20
|
-
* 在特定时间点执行一次
|
|
21
|
-
*
|
|
22
|
-
* 注意:定时任务必须添加到 'scheduledTasks' 模块才能生效
|
|
23
|
-
*/
|
|
24
|
-
export function createOnceScheduledTask(tasksManager) {
|
|
25
|
-
// 设置5分钟后执行的任务
|
|
26
|
-
var executeTime = dayjs().add(5, 'minute').format('YYYY-MM-DD HH:mm:ss');
|
|
27
|
-
tasksManager.addTask({
|
|
28
|
-
module: 'scheduledTasks',
|
|
29
|
-
// 定时任务必须使用 scheduledTasks 模块
|
|
30
|
-
queueId: 'reminder',
|
|
31
|
-
tasks: [{
|
|
32
|
-
action: 'sendNotification',
|
|
33
|
-
payload: {
|
|
34
|
-
message: '这是一个定时提醒',
|
|
35
|
-
priority: 'high'
|
|
36
|
-
},
|
|
37
|
-
scheduled: {
|
|
38
|
-
executeAt: executeTime
|
|
39
|
-
},
|
|
40
|
-
maxRetries: 3
|
|
41
|
-
}]
|
|
42
|
-
});
|
|
43
|
-
console.log("\u5B9A\u65F6\u4EFB\u52A1\u5DF2\u521B\u5EFA\uFF0C\u5C06\u5728 ".concat(executeTime, " \u6267\u884C"));
|
|
44
|
-
|
|
45
|
-
// 启动任务队列
|
|
46
|
-
tasksManager.run({
|
|
47
|
-
module: 'scheduledTasks',
|
|
48
|
-
queueId: 'reminder',
|
|
49
|
-
callback: function callback() {
|
|
50
|
-
console.log('定时任务执行完成');
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/**
|
|
56
|
-
* 示例2:创建每日重复的定时任务
|
|
57
|
-
* 每天在固定时间执行
|
|
58
|
-
*/
|
|
59
|
-
export function createDailyScheduledTask(tasksManager) {
|
|
60
|
-
// 设置从明天早上9点开始,每天执行
|
|
61
|
-
var startTime = dayjs().add(1, 'day').hour(9).minute(0).second(0).format('YYYY-MM-DD HH:mm:ss');
|
|
62
|
-
tasksManager.addTask({
|
|
63
|
-
module: 'scheduledTasks',
|
|
64
|
-
queueId: 'daily-report',
|
|
65
|
-
tasks: [{
|
|
66
|
-
action: 'generateDailyReport',
|
|
67
|
-
payload: {
|
|
68
|
-
type: 'sales',
|
|
69
|
-
recipients: ['manager@company.com']
|
|
70
|
-
},
|
|
71
|
-
scheduled: {
|
|
72
|
-
executeAt: startTime,
|
|
73
|
-
repeat: true,
|
|
74
|
-
repeatType: 'daily',
|
|
75
|
-
repeatInterval: 1
|
|
76
|
-
},
|
|
77
|
-
maxRetries: 3,
|
|
78
|
-
destroy: false // 持久化任务,不会在应用卸载时清除
|
|
79
|
-
}]
|
|
80
|
-
});
|
|
81
|
-
console.log("\u6BCF\u65E5\u5B9A\u65F6\u4EFB\u52A1\u5DF2\u521B\u5EFA\uFF0C\u9996\u6B21\u6267\u884C\u65F6\u95F4: ".concat(startTime));
|
|
82
|
-
tasksManager.run({
|
|
83
|
-
module: 'scheduledTasks',
|
|
84
|
-
queueId: 'daily-report'
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* 示例3:创建带结束时间的重复任务
|
|
90
|
-
* 在特定时间段内重复执行
|
|
91
|
-
*/
|
|
92
|
-
export function createLimitedRepeatTask(tasksManager) {
|
|
93
|
-
var startTime = dayjs().add(1, 'hour').format('YYYY-MM-DD HH:mm:ss');
|
|
94
|
-
var endTime = dayjs().add(7, 'day').format('YYYY-MM-DD HH:mm:ss');
|
|
95
|
-
tasksManager.addTask({
|
|
96
|
-
module: 'scheduledTasks',
|
|
97
|
-
queueId: 'campaign',
|
|
98
|
-
tasks: [{
|
|
99
|
-
action: 'sendPromotionMessage',
|
|
100
|
-
payload: {
|
|
101
|
-
campaign: '双十一预热',
|
|
102
|
-
discount: '8折优惠'
|
|
103
|
-
},
|
|
104
|
-
scheduled: {
|
|
105
|
-
executeAt: startTime,
|
|
106
|
-
repeat: true,
|
|
107
|
-
repeatType: 'daily',
|
|
108
|
-
repeatInterval: 1,
|
|
109
|
-
endAt: endTime // 7天后结束
|
|
110
|
-
},
|
|
111
|
-
maxRetries: 2
|
|
112
|
-
}]
|
|
113
|
-
});
|
|
114
|
-
console.log("\u9650\u65F6\u4FC3\u9500\u4EFB\u52A1\u5DF2\u521B\u5EFA");
|
|
115
|
-
console.log("\u6267\u884C\u65F6\u95F4: ".concat(startTime, " \u81F3 ").concat(endTime));
|
|
116
|
-
tasksManager.run({
|
|
117
|
-
module: 'scheduledTasks',
|
|
118
|
-
queueId: 'campaign'
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* 示例4:创建多个时间点的任务
|
|
124
|
-
* 在一天中的多个时间点分别执行
|
|
125
|
-
*/
|
|
126
|
-
export function createMultiTimeTask(tasksManager) {
|
|
127
|
-
var today = dayjs().format('YYYY-MM-DD');
|
|
128
|
-
tasksManager.addTask({
|
|
129
|
-
module: 'scheduledTasks',
|
|
130
|
-
queueId: 'medication',
|
|
131
|
-
tasks: [{
|
|
132
|
-
action: 'sendMedicationReminder',
|
|
133
|
-
payload: {
|
|
134
|
-
medicine: '阿莫西林',
|
|
135
|
-
dosage: '1片'
|
|
136
|
-
},
|
|
137
|
-
scheduled: {
|
|
138
|
-
executeAt: ["".concat(today, " 08:00:00"), // 早上8点
|
|
139
|
-
"".concat(today, " 12:00:00"), // 中午12点
|
|
140
|
-
"".concat(today, " 18:00:00") // 下午6点
|
|
141
|
-
]
|
|
142
|
-
},
|
|
143
|
-
maxRetries: 3
|
|
144
|
-
}]
|
|
145
|
-
});
|
|
146
|
-
console.log("\u591A\u65F6\u95F4\u70B9\u4EFB\u52A1\u5DF2\u521B\u5EFA\uFF0C\u4ECA\u5929\u5C06\u5728 8:00, 12:00, 18:00 \u6267\u884C");
|
|
147
|
-
tasksManager.run({
|
|
148
|
-
module: 'scheduledTasks',
|
|
149
|
-
queueId: 'medication'
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* 示例5:创建每周重复任务
|
|
155
|
-
* 每周一早上9点执行周报
|
|
156
|
-
*/
|
|
157
|
-
export function createWeeklyTask(tasksManager) {
|
|
158
|
-
// 找到下一个周一早上9点
|
|
159
|
-
var nextMonday = dayjs();
|
|
160
|
-
while (nextMonday.day() !== 1) {
|
|
161
|
-
nextMonday = nextMonday.add(1, 'day');
|
|
162
|
-
}
|
|
163
|
-
var startTime = nextMonday.hour(9).minute(0).second(0).format('YYYY-MM-DD HH:mm:ss');
|
|
164
|
-
tasksManager.addTask({
|
|
165
|
-
module: 'scheduledTasks',
|
|
166
|
-
queueId: 'weekly-report',
|
|
167
|
-
tasks: [{
|
|
168
|
-
action: 'generateWeeklyReport',
|
|
169
|
-
payload: {
|
|
170
|
-
type: 'team-summary',
|
|
171
|
-
recipients: ['team@company.com']
|
|
172
|
-
},
|
|
173
|
-
scheduled: {
|
|
174
|
-
executeAt: startTime,
|
|
175
|
-
repeat: true,
|
|
176
|
-
repeatType: 'weekly',
|
|
177
|
-
repeatInterval: 1 // 每周执行一次
|
|
178
|
-
},
|
|
179
|
-
maxRetries: 3,
|
|
180
|
-
destroy: false
|
|
181
|
-
}]
|
|
182
|
-
});
|
|
183
|
-
console.log("\u5468\u62A5\u4EFB\u52A1\u5DF2\u521B\u5EFA\uFF0C\u4E0B\u6B21\u6267\u884C\u65F6\u95F4: ".concat(startTime));
|
|
184
|
-
tasksManager.run({
|
|
185
|
-
module: 'scheduledTasks',
|
|
186
|
-
queueId: 'weekly-report'
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* 示例6:创建每月重复任务
|
|
192
|
-
* 每月1号生成月报
|
|
193
|
-
*/
|
|
194
|
-
export function createMonthlyTask(tasksManager) {
|
|
195
|
-
// 下个月1号早上9点
|
|
196
|
-
var nextMonth = dayjs().add(1, 'month').date(1).hour(9).minute(0).second(0);
|
|
197
|
-
var startTime = nextMonth.format('YYYY-MM-DD HH:mm:ss');
|
|
198
|
-
tasksManager.addTask({
|
|
199
|
-
module: 'scheduledTasks',
|
|
200
|
-
queueId: 'monthly-billing',
|
|
201
|
-
tasks: [{
|
|
202
|
-
action: 'generateMonthlyInvoice',
|
|
203
|
-
payload: {
|
|
204
|
-
type: 'subscription',
|
|
205
|
-
autoSend: true
|
|
206
|
-
},
|
|
207
|
-
scheduled: {
|
|
208
|
-
executeAt: startTime,
|
|
209
|
-
repeat: true,
|
|
210
|
-
repeatType: 'monthly',
|
|
211
|
-
repeatInterval: 1 // 每月执行一次
|
|
212
|
-
},
|
|
213
|
-
maxRetries: 3,
|
|
214
|
-
destroy: false
|
|
215
|
-
}]
|
|
216
|
-
});
|
|
217
|
-
console.log("\u6708\u5EA6\u8D26\u5355\u4EFB\u52A1\u5DF2\u521B\u5EFA\uFF0C\u4E0B\u6B21\u6267\u884C\u65F6\u95F4: ".concat(startTime));
|
|
218
|
-
tasksManager.run({
|
|
219
|
-
module: 'scheduledTasks',
|
|
220
|
-
queueId: 'monthly-billing'
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* 示例7:查询和管理定时任务
|
|
226
|
-
*/
|
|
227
|
-
export function manageScheduledTasks(tasksManager) {
|
|
228
|
-
// 获取所有任务
|
|
229
|
-
var allTasks = tasksManager.getTasks();
|
|
230
|
-
console.log('当前所有任务:', allTasks);
|
|
231
|
-
|
|
232
|
-
// 删除特定任务
|
|
233
|
-
// tasksManager.deleteTask({
|
|
234
|
-
// module: 'scheduledTasks',
|
|
235
|
-
// queueId: 'reminder',
|
|
236
|
-
// taskId: 'task_xxxxx'
|
|
237
|
-
// });
|
|
238
|
-
|
|
239
|
-
// 清空特定队列的所有任务
|
|
240
|
-
// tasksManager.clearTasks({
|
|
241
|
-
// module: 'scheduledTasks',
|
|
242
|
-
// queueId: 'reminder'
|
|
243
|
-
// });
|
|
244
|
-
|
|
245
|
-
// 清空所有任务
|
|
246
|
-
// tasksManager.clearAllTasks();
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* 完整使用示例
|
|
251
|
-
*/
|
|
252
|
-
export function fullExample(app) {
|
|
253
|
-
// 1. 获取任务管理器实例
|
|
254
|
-
var tasksManager = TasksManager.getInstance(app);
|
|
255
|
-
|
|
256
|
-
// 2. 注册任务执行函数
|
|
257
|
-
tasksManager.addTaskFunction('sendNotification', /*#__PURE__*/function () {
|
|
258
|
-
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
|
|
259
|
-
var task, _task$payload, message, priority;
|
|
260
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
261
|
-
while (1) switch (_context.prev = _context.next) {
|
|
262
|
-
case 0:
|
|
263
|
-
task = _ref.task;
|
|
264
|
-
_task$payload = task.payload, message = _task$payload.message, priority = _task$payload.priority;
|
|
265
|
-
console.log("[".concat(priority, "] \u53D1\u9001\u901A\u77E5: ").concat(message));
|
|
266
|
-
// 实际的通知发送逻辑
|
|
267
|
-
return _context.abrupt("return", {
|
|
268
|
-
status: 'success'
|
|
269
|
-
});
|
|
270
|
-
case 4:
|
|
271
|
-
case "end":
|
|
272
|
-
return _context.stop();
|
|
273
|
-
}
|
|
274
|
-
}, _callee);
|
|
275
|
-
}));
|
|
276
|
-
return function (_x) {
|
|
277
|
-
return _ref2.apply(this, arguments);
|
|
278
|
-
};
|
|
279
|
-
}());
|
|
280
|
-
tasksManager.addTaskFunction('generateDailyReport', /*#__PURE__*/function () {
|
|
281
|
-
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(_ref3) {
|
|
282
|
-
var task, _task$payload2, type, recipients;
|
|
283
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
284
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
285
|
-
case 0:
|
|
286
|
-
task = _ref3.task;
|
|
287
|
-
_task$payload2 = task.payload, type = _task$payload2.type, recipients = _task$payload2.recipients;
|
|
288
|
-
console.log("\u751F\u6210 ".concat(type, " \u65E5\u62A5\uFF0C\u53D1\u9001\u7ED9:"), recipients);
|
|
289
|
-
// 实际的报告生成逻辑
|
|
290
|
-
return _context2.abrupt("return", {
|
|
291
|
-
status: 'success'
|
|
292
|
-
});
|
|
293
|
-
case 4:
|
|
294
|
-
case "end":
|
|
295
|
-
return _context2.stop();
|
|
296
|
-
}
|
|
297
|
-
}, _callee2);
|
|
298
|
-
}));
|
|
299
|
-
return function (_x2) {
|
|
300
|
-
return _ref4.apply(this, arguments);
|
|
301
|
-
};
|
|
302
|
-
}());
|
|
303
|
-
tasksManager.addTaskFunction('sendPromotionMessage', /*#__PURE__*/function () {
|
|
304
|
-
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref5) {
|
|
305
|
-
var task, _task$payload3, campaign, discount;
|
|
306
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
307
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
308
|
-
case 0:
|
|
309
|
-
task = _ref5.task;
|
|
310
|
-
_task$payload3 = task.payload, campaign = _task$payload3.campaign, discount = _task$payload3.discount;
|
|
311
|
-
console.log("\u53D1\u9001\u4FC3\u9500\u6D88\u606F: ".concat(campaign, " - ").concat(discount));
|
|
312
|
-
// 实际的促销消息发送逻辑
|
|
313
|
-
return _context3.abrupt("return", {
|
|
314
|
-
status: 'success'
|
|
315
|
-
});
|
|
316
|
-
case 4:
|
|
317
|
-
case "end":
|
|
318
|
-
return _context3.stop();
|
|
319
|
-
}
|
|
320
|
-
}, _callee3);
|
|
321
|
-
}));
|
|
322
|
-
return function (_x3) {
|
|
323
|
-
return _ref6.apply(this, arguments);
|
|
324
|
-
};
|
|
325
|
-
}());
|
|
326
|
-
|
|
327
|
-
// 3. 创建各种类型的定时任务
|
|
328
|
-
createOnceScheduledTask(tasksManager);
|
|
329
|
-
// createDailyScheduledTask(tasksManager);
|
|
330
|
-
// createLimitedRepeatTask(tasksManager);
|
|
331
|
-
// createMultiTimeTask(tasksManager);
|
|
332
|
-
// createWeeklyTask(tasksManager);
|
|
333
|
-
// createMonthlyTask(tasksManager);
|
|
334
|
-
|
|
335
|
-
// 4. 监听任务状态变化
|
|
336
|
-
tasksManager.watchTask(function (taskModule) {
|
|
337
|
-
console.log('任务状态更新:', taskModule);
|
|
338
|
-
});
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
// 导出所有示例函数
|
|
342
|
-
export default {
|
|
343
|
-
createOnceScheduledTask: createOnceScheduledTask,
|
|
344
|
-
createDailyScheduledTask: createDailyScheduledTask,
|
|
345
|
-
createLimitedRepeatTask: createLimitedRepeatTask,
|
|
346
|
-
createMultiTimeTask: createMultiTimeTask,
|
|
347
|
-
createWeeklyTask: createWeeklyTask,
|
|
348
|
-
createMonthlyTask: createMonthlyTask,
|
|
349
|
-
manageScheduledTasks: manageScheduledTasks,
|
|
350
|
-
fullExample: fullExample
|
|
351
|
-
};
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 定时任务示例代码
|
|
3
|
-
* 本文件展示了如何使用定时任务功能
|
|
4
|
-
*
|
|
5
|
-
* 重要提示:
|
|
6
|
-
* - 定时任务必须添加到 'scheduledTasks' 模块才能生效
|
|
7
|
-
* - 在其他模块中,scheduled 配置会被忽略,任务将作为普通任务立即执行
|
|
8
|
-
* - 这是为了性能优化,避免在所有模块中检查定时任务配置
|
|
9
|
-
*/
|
|
10
|
-
import { TasksManager } from './index';
|
|
11
|
-
/**
|
|
12
|
-
* 示例1:创建一次性定时任务
|
|
13
|
-
* 在特定时间点执行一次
|
|
14
|
-
*
|
|
15
|
-
* 注意:定时任务必须添加到 'scheduledTasks' 模块才能生效
|
|
16
|
-
*/
|
|
17
|
-
export declare function createOnceScheduledTask(tasksManager: TasksManager): void;
|
|
18
|
-
/**
|
|
19
|
-
* 示例2:创建每日重复的定时任务
|
|
20
|
-
* 每天在固定时间执行
|
|
21
|
-
*/
|
|
22
|
-
export declare function createDailyScheduledTask(tasksManager: TasksManager): void;
|
|
23
|
-
/**
|
|
24
|
-
* 示例3:创建带结束时间的重复任务
|
|
25
|
-
* 在特定时间段内重复执行
|
|
26
|
-
*/
|
|
27
|
-
export declare function createLimitedRepeatTask(tasksManager: TasksManager): void;
|
|
28
|
-
/**
|
|
29
|
-
* 示例4:创建多个时间点的任务
|
|
30
|
-
* 在一天中的多个时间点分别执行
|
|
31
|
-
*/
|
|
32
|
-
export declare function createMultiTimeTask(tasksManager: TasksManager): void;
|
|
33
|
-
/**
|
|
34
|
-
* 示例5:创建每周重复任务
|
|
35
|
-
* 每周一早上9点执行周报
|
|
36
|
-
*/
|
|
37
|
-
export declare function createWeeklyTask(tasksManager: TasksManager): void;
|
|
38
|
-
/**
|
|
39
|
-
* 示例6:创建每月重复任务
|
|
40
|
-
* 每月1号生成月报
|
|
41
|
-
*/
|
|
42
|
-
export declare function createMonthlyTask(tasksManager: TasksManager): void;
|
|
43
|
-
/**
|
|
44
|
-
* 示例7:查询和管理定时任务
|
|
45
|
-
*/
|
|
46
|
-
export declare function manageScheduledTasks(tasksManager: TasksManager): void;
|
|
47
|
-
/**
|
|
48
|
-
* 完整使用示例
|
|
49
|
-
*/
|
|
50
|
-
export declare function fullExample(app: any): void;
|
|
51
|
-
declare const _default: {
|
|
52
|
-
createOnceScheduledTask: typeof createOnceScheduledTask;
|
|
53
|
-
createDailyScheduledTask: typeof createDailyScheduledTask;
|
|
54
|
-
createLimitedRepeatTask: typeof createLimitedRepeatTask;
|
|
55
|
-
createMultiTimeTask: typeof createMultiTimeTask;
|
|
56
|
-
createWeeklyTask: typeof createWeeklyTask;
|
|
57
|
-
createMonthlyTask: typeof createMonthlyTask;
|
|
58
|
-
manageScheduledTasks: typeof manageScheduledTasks;
|
|
59
|
-
fullExample: typeof fullExample;
|
|
60
|
-
};
|
|
61
|
-
export default _default;
|
|
@@ -1,267 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
|
|
29
|
-
// src/tasks/scheduledTasksExample.ts
|
|
30
|
-
var scheduledTasksExample_exports = {};
|
|
31
|
-
__export(scheduledTasksExample_exports, {
|
|
32
|
-
createDailyScheduledTask: () => createDailyScheduledTask,
|
|
33
|
-
createLimitedRepeatTask: () => createLimitedRepeatTask,
|
|
34
|
-
createMonthlyTask: () => createMonthlyTask,
|
|
35
|
-
createMultiTimeTask: () => createMultiTimeTask,
|
|
36
|
-
createOnceScheduledTask: () => createOnceScheduledTask,
|
|
37
|
-
createWeeklyTask: () => createWeeklyTask,
|
|
38
|
-
default: () => scheduledTasksExample_default,
|
|
39
|
-
fullExample: () => fullExample,
|
|
40
|
-
manageScheduledTasks: () => manageScheduledTasks
|
|
41
|
-
});
|
|
42
|
-
module.exports = __toCommonJS(scheduledTasksExample_exports);
|
|
43
|
-
var import_index = require("./index");
|
|
44
|
-
var import_dayjs = __toESM(require("dayjs"));
|
|
45
|
-
function createOnceScheduledTask(tasksManager) {
|
|
46
|
-
const executeTime = (0, import_dayjs.default)().add(5, "minute").format("YYYY-MM-DD HH:mm:ss");
|
|
47
|
-
tasksManager.addTask({
|
|
48
|
-
module: "scheduledTasks",
|
|
49
|
-
// 定时任务必须使用 scheduledTasks 模块
|
|
50
|
-
queueId: "reminder",
|
|
51
|
-
tasks: [{
|
|
52
|
-
action: "sendNotification",
|
|
53
|
-
payload: {
|
|
54
|
-
message: "这是一个定时提醒",
|
|
55
|
-
priority: "high"
|
|
56
|
-
},
|
|
57
|
-
scheduled: {
|
|
58
|
-
executeAt: executeTime
|
|
59
|
-
},
|
|
60
|
-
maxRetries: 3
|
|
61
|
-
}]
|
|
62
|
-
});
|
|
63
|
-
console.log(`定时任务已创建,将在 ${executeTime} 执行`);
|
|
64
|
-
tasksManager.run({
|
|
65
|
-
module: "scheduledTasks",
|
|
66
|
-
queueId: "reminder",
|
|
67
|
-
callback: () => {
|
|
68
|
-
console.log("定时任务执行完成");
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
function createDailyScheduledTask(tasksManager) {
|
|
73
|
-
const startTime = (0, import_dayjs.default)().add(1, "day").hour(9).minute(0).second(0).format("YYYY-MM-DD HH:mm:ss");
|
|
74
|
-
tasksManager.addTask({
|
|
75
|
-
module: "scheduledTasks",
|
|
76
|
-
queueId: "daily-report",
|
|
77
|
-
tasks: [{
|
|
78
|
-
action: "generateDailyReport",
|
|
79
|
-
payload: {
|
|
80
|
-
type: "sales",
|
|
81
|
-
recipients: ["manager@company.com"]
|
|
82
|
-
},
|
|
83
|
-
scheduled: {
|
|
84
|
-
executeAt: startTime,
|
|
85
|
-
repeat: true,
|
|
86
|
-
repeatType: "daily",
|
|
87
|
-
repeatInterval: 1
|
|
88
|
-
},
|
|
89
|
-
maxRetries: 3,
|
|
90
|
-
destroy: false
|
|
91
|
-
// 持久化任务,不会在应用卸载时清除
|
|
92
|
-
}]
|
|
93
|
-
});
|
|
94
|
-
console.log(`每日定时任务已创建,首次执行时间: ${startTime}`);
|
|
95
|
-
tasksManager.run({
|
|
96
|
-
module: "scheduledTasks",
|
|
97
|
-
queueId: "daily-report"
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
function createLimitedRepeatTask(tasksManager) {
|
|
101
|
-
const startTime = (0, import_dayjs.default)().add(1, "hour").format("YYYY-MM-DD HH:mm:ss");
|
|
102
|
-
const endTime = (0, import_dayjs.default)().add(7, "day").format("YYYY-MM-DD HH:mm:ss");
|
|
103
|
-
tasksManager.addTask({
|
|
104
|
-
module: "scheduledTasks",
|
|
105
|
-
queueId: "campaign",
|
|
106
|
-
tasks: [{
|
|
107
|
-
action: "sendPromotionMessage",
|
|
108
|
-
payload: {
|
|
109
|
-
campaign: "双十一预热",
|
|
110
|
-
discount: "8折优惠"
|
|
111
|
-
},
|
|
112
|
-
scheduled: {
|
|
113
|
-
executeAt: startTime,
|
|
114
|
-
repeat: true,
|
|
115
|
-
repeatType: "daily",
|
|
116
|
-
repeatInterval: 1,
|
|
117
|
-
endAt: endTime
|
|
118
|
-
// 7天后结束
|
|
119
|
-
},
|
|
120
|
-
maxRetries: 2
|
|
121
|
-
}]
|
|
122
|
-
});
|
|
123
|
-
console.log(`限时促销任务已创建`);
|
|
124
|
-
console.log(`执行时间: ${startTime} 至 ${endTime}`);
|
|
125
|
-
tasksManager.run({
|
|
126
|
-
module: "scheduledTasks",
|
|
127
|
-
queueId: "campaign"
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
function createMultiTimeTask(tasksManager) {
|
|
131
|
-
const today = (0, import_dayjs.default)().format("YYYY-MM-DD");
|
|
132
|
-
tasksManager.addTask({
|
|
133
|
-
module: "scheduledTasks",
|
|
134
|
-
queueId: "medication",
|
|
135
|
-
tasks: [{
|
|
136
|
-
action: "sendMedicationReminder",
|
|
137
|
-
payload: {
|
|
138
|
-
medicine: "阿莫西林",
|
|
139
|
-
dosage: "1片"
|
|
140
|
-
},
|
|
141
|
-
scheduled: {
|
|
142
|
-
executeAt: [
|
|
143
|
-
`${today} 08:00:00`,
|
|
144
|
-
// 早上8点
|
|
145
|
-
`${today} 12:00:00`,
|
|
146
|
-
// 中午12点
|
|
147
|
-
`${today} 18:00:00`
|
|
148
|
-
// 下午6点
|
|
149
|
-
]
|
|
150
|
-
},
|
|
151
|
-
maxRetries: 3
|
|
152
|
-
}]
|
|
153
|
-
});
|
|
154
|
-
console.log(`多时间点任务已创建,今天将在 8:00, 12:00, 18:00 执行`);
|
|
155
|
-
tasksManager.run({
|
|
156
|
-
module: "scheduledTasks",
|
|
157
|
-
queueId: "medication"
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
function createWeeklyTask(tasksManager) {
|
|
161
|
-
let nextMonday = (0, import_dayjs.default)();
|
|
162
|
-
while (nextMonday.day() !== 1) {
|
|
163
|
-
nextMonday = nextMonday.add(1, "day");
|
|
164
|
-
}
|
|
165
|
-
const startTime = nextMonday.hour(9).minute(0).second(0).format("YYYY-MM-DD HH:mm:ss");
|
|
166
|
-
tasksManager.addTask({
|
|
167
|
-
module: "scheduledTasks",
|
|
168
|
-
queueId: "weekly-report",
|
|
169
|
-
tasks: [{
|
|
170
|
-
action: "generateWeeklyReport",
|
|
171
|
-
payload: {
|
|
172
|
-
type: "team-summary",
|
|
173
|
-
recipients: ["team@company.com"]
|
|
174
|
-
},
|
|
175
|
-
scheduled: {
|
|
176
|
-
executeAt: startTime,
|
|
177
|
-
repeat: true,
|
|
178
|
-
repeatType: "weekly",
|
|
179
|
-
repeatInterval: 1
|
|
180
|
-
// 每周执行一次
|
|
181
|
-
},
|
|
182
|
-
maxRetries: 3,
|
|
183
|
-
destroy: false
|
|
184
|
-
}]
|
|
185
|
-
});
|
|
186
|
-
console.log(`周报任务已创建,下次执行时间: ${startTime}`);
|
|
187
|
-
tasksManager.run({
|
|
188
|
-
module: "scheduledTasks",
|
|
189
|
-
queueId: "weekly-report"
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
function createMonthlyTask(tasksManager) {
|
|
193
|
-
const nextMonth = (0, import_dayjs.default)().add(1, "month").date(1).hour(9).minute(0).second(0);
|
|
194
|
-
const startTime = nextMonth.format("YYYY-MM-DD HH:mm:ss");
|
|
195
|
-
tasksManager.addTask({
|
|
196
|
-
module: "scheduledTasks",
|
|
197
|
-
queueId: "monthly-billing",
|
|
198
|
-
tasks: [{
|
|
199
|
-
action: "generateMonthlyInvoice",
|
|
200
|
-
payload: {
|
|
201
|
-
type: "subscription",
|
|
202
|
-
autoSend: true
|
|
203
|
-
},
|
|
204
|
-
scheduled: {
|
|
205
|
-
executeAt: startTime,
|
|
206
|
-
repeat: true,
|
|
207
|
-
repeatType: "monthly",
|
|
208
|
-
repeatInterval: 1
|
|
209
|
-
// 每月执行一次
|
|
210
|
-
},
|
|
211
|
-
maxRetries: 3,
|
|
212
|
-
destroy: false
|
|
213
|
-
}]
|
|
214
|
-
});
|
|
215
|
-
console.log(`月度账单任务已创建,下次执行时间: ${startTime}`);
|
|
216
|
-
tasksManager.run({
|
|
217
|
-
module: "scheduledTasks",
|
|
218
|
-
queueId: "monthly-billing"
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
function manageScheduledTasks(tasksManager) {
|
|
222
|
-
const allTasks = tasksManager.getTasks();
|
|
223
|
-
console.log("当前所有任务:", allTasks);
|
|
224
|
-
}
|
|
225
|
-
function fullExample(app) {
|
|
226
|
-
const tasksManager = import_index.TasksManager.getInstance(app);
|
|
227
|
-
tasksManager.addTaskFunction("sendNotification", async ({ task }) => {
|
|
228
|
-
const { message, priority } = task.payload;
|
|
229
|
-
console.log(`[${priority}] 发送通知: ${message}`);
|
|
230
|
-
return { status: "success" };
|
|
231
|
-
});
|
|
232
|
-
tasksManager.addTaskFunction("generateDailyReport", async ({ task }) => {
|
|
233
|
-
const { type, recipients } = task.payload;
|
|
234
|
-
console.log(`生成 ${type} 日报,发送给:`, recipients);
|
|
235
|
-
return { status: "success" };
|
|
236
|
-
});
|
|
237
|
-
tasksManager.addTaskFunction("sendPromotionMessage", async ({ task }) => {
|
|
238
|
-
const { campaign, discount } = task.payload;
|
|
239
|
-
console.log(`发送促销消息: ${campaign} - ${discount}`);
|
|
240
|
-
return { status: "success" };
|
|
241
|
-
});
|
|
242
|
-
createOnceScheduledTask(tasksManager);
|
|
243
|
-
tasksManager.watchTask((taskModule) => {
|
|
244
|
-
console.log("任务状态更新:", taskModule);
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
var scheduledTasksExample_default = {
|
|
248
|
-
createOnceScheduledTask,
|
|
249
|
-
createDailyScheduledTask,
|
|
250
|
-
createLimitedRepeatTask,
|
|
251
|
-
createMultiTimeTask,
|
|
252
|
-
createWeeklyTask,
|
|
253
|
-
createMonthlyTask,
|
|
254
|
-
manageScheduledTasks,
|
|
255
|
-
fullExample
|
|
256
|
-
};
|
|
257
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
258
|
-
0 && (module.exports = {
|
|
259
|
-
createDailyScheduledTask,
|
|
260
|
-
createLimitedRepeatTask,
|
|
261
|
-
createMonthlyTask,
|
|
262
|
-
createMultiTimeTask,
|
|
263
|
-
createOnceScheduledTask,
|
|
264
|
-
createWeeklyTask,
|
|
265
|
-
fullExample,
|
|
266
|
-
manageScheduledTasks
|
|
267
|
-
});
|