Skip to content

Commit 554f43a

Browse files
committed
feat(orap): add context to task all funcs
1 parent f40f08a commit 554f43a

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

packages/orap/task/storable.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@ export abstract class TaskStorable extends TaskBase {
99
static readonly taskTtl: number | undefined = undefined
1010
static readonly taskTtlDone: number | undefined = undefined
1111

12-
getTaskPrefix(): string {
12+
getTaskPrefix<T extends TaskStorable>(_context?: Partial<T>): string {
1313
return (this.constructor as typeof TaskStorable).taskPrefix
1414
}
1515

16-
getTaskPrefixDone(): string {
16+
getTaskPrefixDone<T extends TaskStorable>(_context?: Partial<T>): string {
1717
return (this.constructor as typeof TaskStorable).taskPrefixDone
1818
}
1919

20-
getTaskTtl(): number | undefined {
20+
getTaskTtl<T extends TaskStorable>(_context?: Partial<T>): number | undefined {
2121
return (this.constructor as typeof TaskStorable).taskTtl
2222
}
2323

24-
getTaskTtlDone(): number | undefined {
24+
getTaskTtlDone<T extends TaskStorable>(_context?: Partial<T>): number | undefined {
2525
return (this.constructor as typeof TaskStorable).taskTtlDone
2626
}
2727

@@ -35,7 +35,7 @@ export abstract class TaskStorable extends TaskBase {
3535
static async _load<T extends TaskStorable>(this: Constructor<T>, sm: StoreManager, context?: Partial<T>): Promise<T> {
3636
const instance = (this as any).createInstance(context)
3737
// get all task keys
38-
const keys = await sm.keys(`${instance.getTaskPrefix()}*`, true)
38+
const keys = await sm.keys(`${instance.getTaskPrefix(context)}*`, true)
3939
// get the first task (del when finish)
4040
const serializedTask: string = (await sm.get(keys[0]))! // never undefined ensured by keys isWait=true
4141

@@ -46,16 +46,16 @@ export abstract class TaskStorable extends TaskBase {
4646
return await (this as any)._load(sm, context)
4747
}
4848

49-
async save(sm: StoreManager) {
50-
await sm.set(this.getTaskPrefix() + this.toKey(), this.toString(), this.getTaskTtl())
49+
async save<T extends TaskStorable>(sm: StoreManager, context?: Partial<T>) {
50+
await sm.set(this.getTaskPrefix(context) + this.toKey(), this.toString(), this.getTaskTtl(context))
5151
}
5252

53-
async remove(sm: StoreManager) {
54-
await sm.del(this.getTaskPrefix() + this.toKey())
53+
async remove<T extends TaskStorable>(sm: StoreManager, context?: Partial<T>) {
54+
await sm.del(this.getTaskPrefix(context) + this.toKey())
5555
}
5656

57-
async done(sm: StoreManager) {
58-
await sm.set(this.getTaskPrefixDone() + this.toKey(), this.toString(), this.getTaskTtlDone())
57+
async done<T extends TaskStorable>(sm: StoreManager, context?: Partial<T>) {
58+
await sm.set(this.getTaskPrefixDone(context) + this.toKey(), this.toString(), this.getTaskTtlDone(context))
5959
await this.remove(sm)
6060
}
6161
}

0 commit comments

Comments
 (0)