@sapphire/plugin-scheduled-tasks 7.1.1 → 7.1.2-next.261c2fc.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/package.json +1 -1
- package/dist/lib/strategies/ScheduledTaskRedisStrategy.d.ts +0 -36
- package/dist/lib/strategies/ScheduledTaskRedisStrategy.d.ts.map +0 -1
- package/dist/lib/strategies/ScheduledTaskRedisStrategy.js +0 -99
- package/dist/lib/strategies/ScheduledTaskRedisStrategy.js.map +0 -1
- package/dist/lib/strategies/ScheduledTaskSQSStrategy.d.ts +0 -29
- package/dist/lib/strategies/ScheduledTaskSQSStrategy.d.ts.map +0 -1
- package/dist/lib/strategies/ScheduledTaskSQSStrategy.js +0 -92
- package/dist/lib/strategies/ScheduledTaskSQSStrategy.js.map +0 -1
- package/dist/lib/types/ScheduledTaskBaseStrategy.d.ts +0 -17
- package/dist/lib/types/ScheduledTaskBaseStrategy.d.ts.map +0 -1
- package/dist/lib/types/ScheduledTaskBaseStrategy.js +0 -3
- package/dist/lib/types/ScheduledTaskBaseStrategy.js.map +0 -1
- package/dist/lib/types/ScheduledTaskCreateRepeatedTask.d.ts +0 -6
- package/dist/lib/types/ScheduledTaskCreateRepeatedTask.d.ts.map +0 -1
- package/dist/lib/types/ScheduledTaskCreateRepeatedTask.js +0 -3
- package/dist/lib/types/ScheduledTaskCreateRepeatedTask.js.map +0 -1
- package/dist/lib/types/ScheduledTasksOptions.d.ts +0 -5
- package/dist/lib/types/ScheduledTasksOptions.d.ts.map +0 -1
- package/dist/lib/types/ScheduledTasksOptions.js +0 -3
- package/dist/lib/types/ScheduledTasksOptions.js.map +0 -1
- package/dist/lib/types/ScheduledTasksTaskOptions.d.ts +0 -19
- package/dist/lib/types/ScheduledTasksTaskOptions.d.ts.map +0 -1
- package/dist/lib/types/ScheduledTasksTaskOptions.js +0 -3
- package/dist/lib/types/ScheduledTasksTaskOptions.js.map +0 -1
- package/dist/register-redis.d.ts +0 -10
- package/dist/register-redis.d.ts.map +0 -1
- package/dist/register-redis.js +0 -6
- package/dist/register-redis.js.map +0 -1
- package/dist/register-redis.mjs +0 -4
- package/dist/register-sqs.d.ts +0 -4
- package/dist/register-sqs.d.ts.map +0 -1
- package/dist/register-sqs.js +0 -6
- package/dist/register-sqs.js.map +0 -1
- package/dist/register-sqs.mjs +0 -4
- package/dist/types-redis.d.ts +0 -2
- package/dist/types-redis.d.ts.map +0 -1
- package/dist/types-redis.js +0 -3
- package/dist/types-redis.js.map +0 -1
- package/dist/types-sqs.d.ts +0 -2
- package/dist/types-sqs.d.ts.map +0 -1
- package/dist/types-sqs.js +0 -3
- package/dist/types-sqs.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Job, Queue, type EntryId, type JobState, type QueueOptions } from 'bullmq';
|
|
2
|
-
import type { ScheduledTaskBaseStrategy } from '../types/ScheduledTaskBaseStrategy';
|
|
3
|
-
import type { ScheduledTaskCreateRepeatedTask } from '../types/ScheduledTaskCreateRepeatedTask';
|
|
4
|
-
import type { ScheduledTasksTaskOptions } from '../types/ScheduledTasksTaskOptions';
|
|
5
|
-
export interface ScheduledTaskRedisStrategyOptions {
|
|
6
|
-
queue?: string;
|
|
7
|
-
bull?: QueueOptions;
|
|
8
|
-
}
|
|
9
|
-
export interface ScheduledTaskRedisStrategyJob {
|
|
10
|
-
}
|
|
11
|
-
export interface ScheduledTaskRedisStrategyListRepeatedOptions {
|
|
12
|
-
start?: number;
|
|
13
|
-
end?: number;
|
|
14
|
-
asc?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export interface ScheduledTaskRedisStrategyListOptions extends ScheduledTaskRedisStrategyListRepeatedOptions {
|
|
17
|
-
types: JobState[];
|
|
18
|
-
}
|
|
19
|
-
export type BullClient = Queue<ScheduledTaskRedisStrategyJob | null>;
|
|
20
|
-
export type ScheduledTaskRedisListRepeatedReturnType = ReturnType<BullClient['getRepeatableJobs']> extends Promise<infer U> ? U : never;
|
|
21
|
-
export declare class ScheduledTaskRedisStrategy implements ScheduledTaskBaseStrategy {
|
|
22
|
-
readonly options: QueueOptions;
|
|
23
|
-
readonly queue: string;
|
|
24
|
-
private queueClient;
|
|
25
|
-
constructor(options?: ScheduledTaskRedisStrategyOptions);
|
|
26
|
-
get client(): BullClient;
|
|
27
|
-
connect(): void;
|
|
28
|
-
create<T = unknown>(task: string, payload?: ScheduledTaskRedisStrategyJob | null, options?: ScheduledTasksTaskOptions): Promise<Job<T>> | undefined;
|
|
29
|
-
createRepeated(tasks: ScheduledTaskCreateRepeatedTask[]): Promise<void>;
|
|
30
|
-
delete(id: EntryId): Promise<void>;
|
|
31
|
-
list<T = unknown>(options: ScheduledTaskRedisStrategyListOptions): Promise<Job<T>[]> | undefined;
|
|
32
|
-
listRepeated(options: ScheduledTaskRedisStrategyListRepeatedOptions): Promise<ScheduledTaskRedisListRepeatedReturnType> | undefined;
|
|
33
|
-
get<T = unknown>(id: EntryId): Promise<Job<T> | null> | undefined;
|
|
34
|
-
run(task: string, payload: unknown): Promise<unknown>;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=ScheduledTaskRedisStrategy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTaskRedisStrategy.d.ts","sourceRoot":"","sources":["../../../src/lib/strategies/ScheduledTaskRedisStrategy.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,KAAK,EAAU,KAAK,OAAO,EAAoB,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC9G,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAEhG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF,MAAM,WAAW,iCAAiC;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,6BAA6B;CAAG;AAEjD,MAAM,WAAW,6CAA6C;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,qCAAsC,SAAQ,6CAA6C;IAC3G,KAAK,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAAC;AAErE,MAAM,MAAM,wCAAwC,GAAG,UAAU,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAExI,qBAAa,0BAA2B,YAAW,yBAAyB;IAC3E,SAAgB,OAAO,EAAE,YAAY,CAAC;IACtC,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,WAAW,CAAc;gBAEd,OAAO,CAAC,EAAE,iCAAiC;IAK9D,IAAW,MAAM,IAAI,UAAU,CAE9B;IAEM,OAAO,IAAI,IAAI;IASf,MAAM,CAAC,CAAC,GAAG,OAAO,EACxB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,6BAA6B,GAAG,IAAI,EAC9C,OAAO,CAAC,EAAE,yBAAyB,GACjC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;IA0BjB,cAAc,CAAC,KAAK,EAAE,+BAA+B,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvE,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IASxC,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,qCAAqC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS;IAShG,YAAY,CAAC,OAAO,EAAE,6CAA6C,GAAG,OAAO,CAAC,wCAAwC,CAAC,GAAG,SAAS;IASnI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS;IAQjE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAG5D"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ScheduledTaskRedisStrategy = void 0;
|
|
4
|
-
const framework_1 = require("@sapphire/framework");
|
|
5
|
-
const bullmq_1 = require("bullmq");
|
|
6
|
-
const ScheduledTaskEvents_1 = require("../types/ScheduledTaskEvents");
|
|
7
|
-
class ScheduledTaskRedisStrategy {
|
|
8
|
-
constructor(options) {
|
|
9
|
-
Object.defineProperty(this, "options", {
|
|
10
|
-
enumerable: true,
|
|
11
|
-
configurable: true,
|
|
12
|
-
writable: true,
|
|
13
|
-
value: void 0
|
|
14
|
-
});
|
|
15
|
-
Object.defineProperty(this, "queue", {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
configurable: true,
|
|
18
|
-
writable: true,
|
|
19
|
-
value: void 0
|
|
20
|
-
});
|
|
21
|
-
Object.defineProperty(this, "queueClient", {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
configurable: true,
|
|
24
|
-
writable: true,
|
|
25
|
-
value: void 0
|
|
26
|
-
});
|
|
27
|
-
this.queue = options?.queue ?? 'scheduled-tasks';
|
|
28
|
-
this.options = options?.bull ?? {};
|
|
29
|
-
}
|
|
30
|
-
get client() {
|
|
31
|
-
return this.queueClient;
|
|
32
|
-
}
|
|
33
|
-
connect() {
|
|
34
|
-
const connectResult = framework_1.Result.from(() => {
|
|
35
|
-
this.queueClient = new bullmq_1.Queue(this.queue, this.options);
|
|
36
|
-
new bullmq_1.Worker(this.queue, async (job) => this.run(job?.name, job?.data), { connection: this.options.connection });
|
|
37
|
-
});
|
|
38
|
-
connectResult.inspectErr((error) => framework_1.container.client.emit(ScheduledTaskEvents_1.ScheduledTaskEvents.ScheduledTaskStrategyConnectError, error));
|
|
39
|
-
}
|
|
40
|
-
create(task, payload, options) {
|
|
41
|
-
if (!this.queueClient) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
let jobOptions = {
|
|
45
|
-
delay: options?.delay,
|
|
46
|
-
...options?.customJobOptions
|
|
47
|
-
};
|
|
48
|
-
if (options?.repeated) {
|
|
49
|
-
jobOptions = {
|
|
50
|
-
...jobOptions,
|
|
51
|
-
repeat: options?.interval
|
|
52
|
-
? {
|
|
53
|
-
every: options.interval
|
|
54
|
-
}
|
|
55
|
-
: {
|
|
56
|
-
pattern: options.pattern
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
return this.queueClient.add(task, payload ?? null, jobOptions);
|
|
61
|
-
}
|
|
62
|
-
async createRepeated(tasks) {
|
|
63
|
-
for (const task of tasks) {
|
|
64
|
-
await this.create(task.name, null, task.options);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
async delete(id) {
|
|
68
|
-
if (!this.queueClient) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const job = await this.get(id);
|
|
72
|
-
return job?.remove();
|
|
73
|
-
}
|
|
74
|
-
list(options) {
|
|
75
|
-
const { types, start, end, asc } = options;
|
|
76
|
-
if (!this.queueClient) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
return this.queueClient.getJobs(types, start, end, asc);
|
|
80
|
-
}
|
|
81
|
-
listRepeated(options) {
|
|
82
|
-
const { start, end, asc } = options;
|
|
83
|
-
if (!this.queueClient) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
return this.queueClient.getRepeatableJobs(start, end, asc);
|
|
87
|
-
}
|
|
88
|
-
get(id) {
|
|
89
|
-
if (!this.queueClient) {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
return this.queueClient.getJob(id);
|
|
93
|
-
}
|
|
94
|
-
run(task, payload) {
|
|
95
|
-
return framework_1.container.tasks.run(task, payload);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
exports.ScheduledTaskRedisStrategy = ScheduledTaskRedisStrategy;
|
|
99
|
-
//# sourceMappingURL=ScheduledTaskRedisStrategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTaskRedisStrategy.js","sourceRoot":"","sources":["../../../src/lib/strategies/ScheduledTaskRedisStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { SendMessageBatchResultEntryList } from 'aws-sdk/clients/sqs';
|
|
2
|
-
import { type ConsumerOptions } from 'sqs-consumer';
|
|
3
|
-
import { Producer } from 'sqs-producer';
|
|
4
|
-
import type { ScheduledTaskBaseStrategy } from '../types/ScheduledTaskBaseStrategy';
|
|
5
|
-
import type { ScheduledTaskCreateRepeatedTask } from '../types/ScheduledTaskCreateRepeatedTask';
|
|
6
|
-
import type { ScheduledTasksTaskOptions } from '../types/ScheduledTasksTaskOptions';
|
|
7
|
-
export interface ScheduledTaskSQSStrategyMessageBody {
|
|
8
|
-
task: string;
|
|
9
|
-
payload?: unknown;
|
|
10
|
-
options: ScheduledTasksTaskOptions;
|
|
11
|
-
}
|
|
12
|
-
export type SQSClient = Producer;
|
|
13
|
-
export declare class ScheduledTaskSQSStrategy implements ScheduledTaskBaseStrategy {
|
|
14
|
-
readonly options: ConsumerOptions;
|
|
15
|
-
private producer;
|
|
16
|
-
constructor(options: ConsumerOptions);
|
|
17
|
-
get client(): SQSClient;
|
|
18
|
-
connect(): void;
|
|
19
|
-
create(task: string, payload?: unknown, options?: ScheduledTasksTaskOptions): Promise<SendMessageBatchResultEntryList>;
|
|
20
|
-
createRepeated(tasks: ScheduledTaskCreateRepeatedTask[]): Promise<void>;
|
|
21
|
-
delete(): void;
|
|
22
|
-
list(): void;
|
|
23
|
-
listRepeated(): void;
|
|
24
|
-
get(): void;
|
|
25
|
-
run(task: string, payload: unknown): Promise<unknown>;
|
|
26
|
-
private handleMessage;
|
|
27
|
-
private handleBatch;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=ScheduledTaskSQSStrategy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTaskSQSStrategy.d.ts","sourceRoot":"","sources":["../../../src/lib/strategies/ScheduledTaskSQSStrategy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAEhG,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAEpF,MAAM,WAAW,mCAAmC;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,yBAAyB,CAAC;CACnC;AAED,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC;AAEjC,qBAAa,wBAAyB,YAAW,yBAAyB;IACzE,SAAgB,OAAO,EAAE,eAAe,CAAC;IAEzC,OAAO,CAAC,QAAQ,CAAY;gBAET,OAAO,EAAE,eAAe;IAK3C,IAAW,MAAM,IAAI,SAAS,CAE7B;IAEM,OAAO;IAcP,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAqBhH,cAAc,CAAC,KAAK,EAAE,+BAA+B,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7E,MAAM,IAAI,IAAI;IAId,IAAI,IAAI,IAAI;IAIZ,YAAY,IAAI,IAAI;IAIpB,GAAG,IAAI,IAAI;IAIX,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAI9C,aAAa;YAWb,WAAW;CAOzB"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ScheduledTaskSQSStrategy = void 0;
|
|
4
|
-
const framework_1 = require("@sapphire/framework");
|
|
5
|
-
const crypto_1 = require("crypto");
|
|
6
|
-
const sqs_consumer_1 = require("sqs-consumer");
|
|
7
|
-
const sqs_producer_1 = require("sqs-producer");
|
|
8
|
-
const ScheduledTaskEvents_1 = require("../types/ScheduledTaskEvents");
|
|
9
|
-
class ScheduledTaskSQSStrategy {
|
|
10
|
-
constructor(options) {
|
|
11
|
-
Object.defineProperty(this, "options", {
|
|
12
|
-
enumerable: true,
|
|
13
|
-
configurable: true,
|
|
14
|
-
writable: true,
|
|
15
|
-
value: void 0
|
|
16
|
-
});
|
|
17
|
-
Object.defineProperty(this, "producer", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
configurable: true,
|
|
20
|
-
writable: true,
|
|
21
|
-
value: void 0
|
|
22
|
-
});
|
|
23
|
-
this.options = options;
|
|
24
|
-
this.producer = sqs_producer_1.Producer.create(this.options);
|
|
25
|
-
}
|
|
26
|
-
get client() {
|
|
27
|
-
return this.producer;
|
|
28
|
-
}
|
|
29
|
-
connect() {
|
|
30
|
-
const connectResult = framework_1.Result.from(() => {
|
|
31
|
-
const consumer = sqs_consumer_1.Consumer.create({
|
|
32
|
-
...this.options,
|
|
33
|
-
handleMessage: this.handleMessage.bind(this),
|
|
34
|
-
handleMessageBatch: this.handleBatch.bind(this)
|
|
35
|
-
});
|
|
36
|
-
consumer.start();
|
|
37
|
-
});
|
|
38
|
-
connectResult.inspectErr((error) => framework_1.container.client.emit(ScheduledTaskEvents_1.ScheduledTaskEvents.ScheduledTaskStrategyConnectError, error));
|
|
39
|
-
}
|
|
40
|
-
create(task, payload, options) {
|
|
41
|
-
if (options?.pattern) {
|
|
42
|
-
throw new Error('SQS does not support pattern notation.');
|
|
43
|
-
}
|
|
44
|
-
let delay = (options?.delay ?? 0) / 1000;
|
|
45
|
-
if (options?.repeated) {
|
|
46
|
-
delay = options.interval / 1000;
|
|
47
|
-
}
|
|
48
|
-
return this.producer.send({
|
|
49
|
-
id: `${task}-${(0, crypto_1.randomBytes)(6)}`,
|
|
50
|
-
body: JSON.stringify({
|
|
51
|
-
task,
|
|
52
|
-
payload,
|
|
53
|
-
options
|
|
54
|
-
}),
|
|
55
|
-
delaySeconds: delay
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
async createRepeated(tasks) {
|
|
59
|
-
for (const task of tasks) {
|
|
60
|
-
await this.create(task.name, null, task.options);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
delete() {
|
|
64
|
-
throw new Error('SQS does not support deleting tasks.');
|
|
65
|
-
}
|
|
66
|
-
list() {
|
|
67
|
-
throw new Error('SQS does not support listing tasks.');
|
|
68
|
-
}
|
|
69
|
-
listRepeated() {
|
|
70
|
-
throw new Error('SQS does not support listing tasks.');
|
|
71
|
-
}
|
|
72
|
-
get() {
|
|
73
|
-
throw new Error('SQS does not support getting tasks.');
|
|
74
|
-
}
|
|
75
|
-
run(task, payload) {
|
|
76
|
-
return framework_1.container.tasks.run(task, payload);
|
|
77
|
-
}
|
|
78
|
-
async handleMessage(message) {
|
|
79
|
-
const data = JSON.parse(message.Body);
|
|
80
|
-
await this.run(data.task, data.payload);
|
|
81
|
-
if (data.options.repeated) {
|
|
82
|
-
await this.create(data.task, data.payload, data.options);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
async handleBatch(messages) {
|
|
86
|
-
for (const message of messages) {
|
|
87
|
-
await this.handleMessage(message);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
exports.ScheduledTaskSQSStrategy = ScheduledTaskSQSStrategy;
|
|
92
|
-
//# sourceMappingURL=ScheduledTaskSQSStrategy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTaskSQSStrategy.js","sourceRoot":"","sources":["../../../src/lib/strategies/ScheduledTaskSQSStrategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Awaitable } from '@sapphire/utilities';
|
|
2
|
-
import type { ScheduledTaskCreateRepeatedTask } from './ScheduledTaskCreateRepeatedTask';
|
|
3
|
-
import type { ScheduledTasksTaskOptions } from './ScheduledTasksTaskOptions';
|
|
4
|
-
export interface ScheduledTaskBaseStrategy {
|
|
5
|
-
client: unknown;
|
|
6
|
-
connect(): void;
|
|
7
|
-
create(task: keyof ScheduledTasks, payload: unknown, options?: ScheduledTasksTaskOptions): Awaitable<unknown>;
|
|
8
|
-
createRepeated(tasks: ScheduledTaskCreateRepeatedTask[]): void;
|
|
9
|
-
delete(id: unknown): unknown;
|
|
10
|
-
list(options?: unknown): unknown;
|
|
11
|
-
listRepeated(options?: unknown): unknown;
|
|
12
|
-
get(id: unknown): unknown;
|
|
13
|
-
run(task: string, payload: unknown): Awaitable<unknown>;
|
|
14
|
-
}
|
|
15
|
-
export interface ScheduledTasks {
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=ScheduledTaskBaseStrategy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTaskBaseStrategy.d.ts","sourceRoot":"","sources":["../../../src/lib/types/ScheduledTaskBaseStrategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,MAAM,WAAW,yBAAyB;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,IAAI,IAAI,CAAC;IAChB,MAAM,CAAC,IAAI,EAAE,MAAM,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9G,cAAc,CAAC,KAAK,EAAE,+BAA+B,EAAE,GAAG,IAAI,CAAC;IAC/D,MAAM,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACjC,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzC,GAAG,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,cAAc;CAAG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTaskBaseStrategy.js","sourceRoot":"","sources":["../../../src/lib/types/ScheduledTaskBaseStrategy.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTaskCreateRepeatedTask.d.ts","sourceRoot":"","sources":["../../../src/lib/types/ScheduledTaskCreateRepeatedTask.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,MAAM,WAAW,+BAA+B;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,yBAAyB,CAAC;CACnC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTaskCreateRepeatedTask.js","sourceRoot":"","sources":["../../../src/lib/types/ScheduledTaskCreateRepeatedTask.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTasksOptions.d.ts","sourceRoot":"","sources":["../../../src/lib/types/ScheduledTasksOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,yBAAyB,CAAC;CACpC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTasksOptions.js","sourceRoot":"","sources":["../../../src/lib/types/ScheduledTasksOptions.ts"],"names":[],"mappings":""}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export type ScheduledTasksTaskOptions = {
|
|
2
|
-
repeated: boolean;
|
|
3
|
-
} & ({
|
|
4
|
-
delay: number;
|
|
5
|
-
interval?: never;
|
|
6
|
-
pattern?: never;
|
|
7
|
-
customJobOptions?: any;
|
|
8
|
-
} | {
|
|
9
|
-
delay?: never;
|
|
10
|
-
interval: number;
|
|
11
|
-
pattern?: never;
|
|
12
|
-
customJobOptions?: any;
|
|
13
|
-
} | {
|
|
14
|
-
delay?: never;
|
|
15
|
-
interval?: never;
|
|
16
|
-
pattern: string;
|
|
17
|
-
customJobOptions?: any;
|
|
18
|
-
});
|
|
19
|
-
//# sourceMappingURL=ScheduledTasksTaskOptions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTasksTaskOptions.d.ts","sourceRoot":"","sources":["../../../src/lib/types/ScheduledTasksTaskOptions.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,yBAAyB,GAAG;IACvC,QAAQ,EAAE,OAAO,CAAC;CAClB,GAAG,CACD;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,gBAAgB,CAAC,EAAE,GAAG,CAAA;CAAE,GAC5E;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,KAAK,CAAC;IAAC,gBAAgB,CAAC,EAAE,GAAG,CAAA;CAAE,GAC5E;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,GAAG,CAAA;CAAE,CAC9E,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledTasksTaskOptions.js","sourceRoot":"","sources":["../../../src/lib/types/ScheduledTasksTaskOptions.ts"],"names":[],"mappings":""}
|
package/dist/register-redis.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { JobsOptions } from 'bullmq';
|
|
2
|
-
import './index';
|
|
3
|
-
import './register';
|
|
4
|
-
export * from './lib/strategies/ScheduledTaskRedisStrategy';
|
|
5
|
-
declare module '@sapphire/plugin-scheduled-tasks' {
|
|
6
|
-
interface ScheduledTaskOptions {
|
|
7
|
-
bullJobsOptions?: Omit<JobsOptions, 'repeat'>;
|
|
8
|
-
}
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=register-redis.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register-redis.d.ts","sourceRoot":"","sources":["../src/register-redis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC1C,OAAO,SAAS,CAAC;AACjB,OAAO,YAAY,CAAC;AAEpB,cAAc,6CAA6C,CAAC;AAG5D,OAAO,QAAQ,kCAAkC,CAAC;IACjD,UAAU,oBAAoB;QAC7B,eAAe,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;KAC9C;CACD"}
|
package/dist/register-redis.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register-redis.js","sourceRoot":"","sources":["../src/register-redis.ts"],"names":[],"mappings":";;AACA,mBAAiB;AACjB,sBAAoB;AAEpB,8EAA4D"}
|
package/dist/register-redis.mjs
DELETED
package/dist/register-sqs.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register-sqs.d.ts","sourceRoot":"","sources":["../src/register-sqs.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,CAAC;AACjB,OAAO,YAAY,CAAC;AAEpB,cAAc,2CAA2C,CAAC"}
|
package/dist/register-sqs.js
DELETED
package/dist/register-sqs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register-sqs.js","sourceRoot":"","sources":["../src/register-sqs.ts"],"names":[],"mappings":";;AAAA,mBAAiB;AACjB,sBAAoB;AAEpB,4EAA0D"}
|
package/dist/register-sqs.mjs
DELETED
package/dist/types-redis.d.ts
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export type { BullClient, ScheduledTaskRedisListRepeatedReturnType, ScheduledTaskRedisStrategy, ScheduledTaskRedisStrategyJob, ScheduledTaskRedisStrategyListOptions, ScheduledTaskRedisStrategyListRepeatedOptions, ScheduledTaskRedisStrategyOptions } from './lib/strategies/ScheduledTaskRedisStrategy';
|
|
2
|
-
//# sourceMappingURL=types-redis.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-redis.d.ts","sourceRoot":"","sources":["../src/types-redis.ts"],"names":[],"mappings":"AAAA,YAAY,EACX,UAAU,EACV,wCAAwC,EACxC,0BAA0B,EAC1B,6BAA6B,EAC7B,qCAAqC,EACrC,6CAA6C,EAC7C,iCAAiC,EACjC,MAAM,6CAA6C,CAAC"}
|
package/dist/types-redis.js
DELETED
package/dist/types-redis.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-redis.js","sourceRoot":"","sources":["../src/types-redis.ts"],"names":[],"mappings":""}
|
package/dist/types-sqs.d.ts
DELETED
package/dist/types-sqs.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-sqs.d.ts","sourceRoot":"","sources":["../src/types-sqs.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,wBAAwB,EAAE,mCAAmC,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC"}
|
package/dist/types-sqs.js
DELETED
package/dist/types-sqs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types-sqs.js","sourceRoot":"","sources":["../src/types-sqs.ts"],"names":[],"mappings":""}
|