Skip to content

Commit c2a3da6

Browse files
committed
Named queues
1 parent 27591c1 commit c2a3da6

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

patterns-use-cases/priority-queue/priority-queue-typescript/src/queue_client.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,12 @@ import type { Queue } from "./queue";
1414

1515
export 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
}

patterns-use-cases/priority-queue/priority-queue-typescript/src/service.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,16 @@
1212
import { Context, service } from "@restatedev/restate-sdk";
1313
import { doWithQueue } from "./queue_client";
1414

15+
const QUEUE_NAME = "myService/expensiveMethod";
16+
1517
export 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
},

0 commit comments

Comments
 (0)