File tree Expand file tree Collapse file tree 2 files changed +7
-4
lines changed
patterns-use-cases/priority-queue/priority-queue-typescript/src Expand file tree Collapse file tree 2 files changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -14,11 +14,12 @@ import type { Queue } from "./queue";
14
14
15
15
export async function doWithQueue < T > (
16
16
ctx : Context ,
17
+ queue : string ,
17
18
priority : number ,
18
19
operation : ( ) => Promise < T > ,
19
20
) : Promise < T > {
20
21
const awakeable = ctx . awakeable ( ) ;
21
- ctx . objectSendClient < Queue > ( { name : "queue" } , "" ) . tick ( {
22
+ ctx . objectSendClient < Queue > ( { name : "queue" } , queue ) . tick ( {
22
23
type : "push" ,
23
24
item : {
24
25
awakeable : awakeable . id ,
@@ -31,14 +32,14 @@ export async function doWithQueue<T>(
31
32
try {
32
33
const result = await operation ( ) ;
33
34
34
- ctx . objectSendClient < Queue > ( { name : "queue" } , "" ) . tick ( {
35
+ ctx . objectSendClient < Queue > ( { name : "queue" } , queue ) . tick ( {
35
36
type : "done" ,
36
37
} ) ;
37
38
38
39
return result ;
39
40
} catch ( e ) {
40
41
if ( e instanceof TerminalError ) {
41
- ctx . objectSendClient < Queue > ( { name : "queue" } , "" ) . tick ( {
42
+ ctx . objectSendClient < Queue > ( { name : "queue" } , queue ) . tick ( {
42
43
type : "done" ,
43
44
} ) ;
44
45
}
Original file line number Diff line number Diff line change 12
12
import { Context , service } from "@restatedev/restate-sdk" ;
13
13
import { doWithQueue } from "./queue_client" ;
14
14
15
+ const QUEUE_NAME = "myService/expensiveMethod" ;
16
+
15
17
export const myService = service ( {
16
18
name : "myService" ,
17
19
handlers : {
18
20
expensiveMethod : async (
19
21
ctx : Context ,
20
22
params : { left : number ; right : number } ,
21
23
) : Promise < number > => {
22
- return doWithQueue ( ctx , 1 , ( ) =>
24
+ return doWithQueue ( ctx , QUEUE_NAME , 1 , ( ) =>
23
25
ctx . run ( ( ) => expensiveOperation ( params . left , params . right ) ) ,
24
26
) ;
25
27
} ,
You can’t perform that action at this time.
0 commit comments