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";
1414
1515export async function doWithQueue < T > (
1616 ctx : Context ,
17+ queue : string ,
1718 priority : number ,
1819 operation : ( ) => Promise < T > ,
1920) : Promise < T > {
2021 const awakeable = ctx . awakeable ( ) ;
21- ctx . objectSendClient < Queue > ( { name : "queue" } , "" ) . tick ( {
22+ ctx . objectSendClient < Queue > ( { name : "queue" } , queue ) . tick ( {
2223 type : "push" ,
2324 item : {
2425 awakeable : awakeable . id ,
@@ -31,14 +32,14 @@ export async function doWithQueue<T>(
3132 try {
3233 const result = await operation ( ) ;
3334
34- ctx . objectSendClient < Queue > ( { name : "queue" } , "" ) . tick ( {
35+ ctx . objectSendClient < Queue > ( { name : "queue" } , queue ) . tick ( {
3536 type : "done" ,
3637 } ) ;
3738
3839 return result ;
3940 } catch ( e ) {
4041 if ( e instanceof TerminalError ) {
41- ctx . objectSendClient < Queue > ( { name : "queue" } , "" ) . tick ( {
42+ ctx . objectSendClient < Queue > ( { name : "queue" } , queue ) . tick ( {
4243 type : "done" ,
4344 } ) ;
4445 }
Original file line number Diff line number Diff line change 1212import { Context , service } from "@restatedev/restate-sdk" ;
1313import { doWithQueue } from "./queue_client" ;
1414
15+ const QUEUE_NAME = "myService/expensiveMethod" ;
16+
1517export const myService = service ( {
1618 name : "myService" ,
1719 handlers : {
1820 expensiveMethod : async (
1921 ctx : Context ,
2022 params : { left : number ; right : number } ,
2123 ) : Promise < number > => {
22- return doWithQueue ( ctx , 1 , ( ) =>
24+ return doWithQueue ( ctx , QUEUE_NAME , 1 , ( ) =>
2325 ctx . run ( ( ) => expensiveOperation ( params . left , params . right ) ) ,
2426 ) ;
2527 } ,
You can’t perform that action at this time.
0 commit comments