Skip to content

Commit ead9778

Browse files
committed
fix(cloudflare-workers): fix alarms (#1285)
1 parent 728444f commit ead9778

File tree

1 file changed

+4
-15
lines changed

1 file changed

+4
-15
lines changed

packages/cloudflare-workers/src/actor-handler-do.ts

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import type { ExecutionContext } from "hono";
33
import invariant from "invariant";
44
import type { ActorKey, ActorRouter, Registry, RunConfig } from "rivetkit";
55
import { createActorRouter, createClientWithDriver } from "rivetkit";
6+
import type { ActorDriver } from "rivetkit/driver-helpers";
67
import { serializeEmptyPersistData } from "rivetkit/driver-helpers";
78
import {
89
CloudflareDurableObjectGlobalState,
@@ -38,6 +39,7 @@ export type DurableObjectConstructor = new (
3839

3940
interface LoadedActor {
4041
actorRouter: ActorRouter;
42+
actorDriver: ActorDriver;
4143
}
4244

4345
export function createActorDurableObject(
@@ -135,6 +137,7 @@ export function createActorDurableObject(
135137
// Save actor
136138
this.#actor = {
137139
actorRouter,
140+
actorDriver,
138141
};
139142

140143
// Initialize the actor instance with proper metadata
@@ -174,23 +177,9 @@ export function createActorDurableObject(
174177
}
175178

176179
async alarm(): Promise<void> {
177-
await this.#loadActor();
180+
const { actorDriver } = await this.#loadActor();
178181
const actorId = this.ctx.id.toString();
179182

180-
// Get the actor driver
181-
invariant(runConfig.driver, "runConfig.driver");
182-
const managerDriver = runConfig.driver.manager(
183-
registry.config,
184-
runConfig,
185-
);
186-
const inlineClient = createClientWithDriver(managerDriver);
187-
const actorDriver = runConfig.driver.actor(
188-
registry.config,
189-
runConfig,
190-
managerDriver,
191-
inlineClient,
192-
);
193-
194183
// Load the actor instance and trigger alarm
195184
const actor = await actorDriver.loadActor(actorId);
196185
await actor._onAlarm();

0 commit comments

Comments
 (0)