Skip to content
This repository was archived by the owner on Mar 13, 2025. It is now read-only.

Commit 8097180

Browse files
committed
Rename Scheduler class to CronScheduler
1 parent 365c918 commit 8097180

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

packages/miniflare/src/api.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { HTTPPlugin, createServer, startServer } from "@miniflare/http-server";
1919
import { KVNamespace, KVPlugin } from "@miniflare/kv";
2020
import { VMScriptRunner } from "@miniflare/runner-vm";
2121
import {
22-
Scheduler,
22+
CronScheduler,
2323
SchedulerPlugin,
2424
startScheduler,
2525
} from "@miniflare/scheduler";
@@ -131,7 +131,7 @@ export class Miniflare extends MiniflareCore<Plugins> {
131131
return startServer(this, options);
132132
}
133133

134-
startScheduler(): Promise<Scheduler<Plugins>> {
134+
startScheduler(): Promise<CronScheduler<Plugins>> {
135135
return startScheduler(this);
136136
}
137137
}

packages/scheduler/src/index.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { SchedulerPlugin } from "./plugin";
99

1010
export * from "./plugin";
1111

12-
export interface CronScheduler {
12+
export interface CronSchedulerImpl {
1313
setInterval(cron: Cron, task: () => any): ITimerHandle;
1414
clearTimeoutOrInterval(handle: ITimerHandle): void;
1515
}
@@ -20,14 +20,14 @@ export type SchedulerPluginSignatures = CorePluginSignatures & {
2020

2121
const kReload = Symbol("kReload");
2222

23-
export class Scheduler<Plugins extends SchedulerPluginSignatures> {
23+
export class CronScheduler<Plugins extends SchedulerPluginSignatures> {
2424
// noinspection JSMismatchedCollectionQueryUpdate
2525
private previousValidatedCrons?: Cron[];
2626
private scheduledHandles?: ITimerHandle[];
2727

2828
constructor(
2929
private readonly mf: MiniflareCore<Plugins>,
30-
private readonly cronScheduler: Promise<CronScheduler> = import(
30+
private readonly cronScheduler: Promise<CronSchedulerImpl> = import(
3131
"cron-schedule"
3232
).then((module) => module.TimerBasedCronScheduler)
3333
) {
@@ -76,9 +76,9 @@ export class Scheduler<Plugins extends SchedulerPluginSignatures> {
7676

7777
export async function startScheduler<Plugins extends SchedulerPluginSignatures>(
7878
mf: MiniflareCore<Plugins>,
79-
cronScheduler?: Promise<CronScheduler>
80-
): Promise<Scheduler<Plugins>> {
81-
const scheduler = new Scheduler(mf, cronScheduler);
79+
cronScheduler?: Promise<CronSchedulerImpl>
80+
): Promise<CronScheduler<Plugins>> {
81+
const scheduler = new CronScheduler(mf, cronScheduler);
8282
const reloadEvent = new ReloadEvent("reload", {
8383
plugins: await mf.getPlugins(),
8484
initial: false,

packages/scheduler/test/index.spec.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { setImmediate } from "timers/promises";
22
import { BindingsPlugin, ScheduledEvent } from "@miniflare/core";
33
import {
44
CronScheduler,
5-
Scheduler,
5+
CronSchedulerImpl,
66
SchedulerPlugin,
77
startScheduler,
88
} from "@miniflare/scheduler";
@@ -14,10 +14,10 @@ import { Cron, ITimerHandle } from "cron-schedule";
1414
// Waiting for CRONs is slow, so mock out a scheduler with manual dispatch
1515
function createCronScheduler(): [
1616
dispatch: (cron: string) => Promise<void>,
17-
scheduler: Promise<CronScheduler>
17+
scheduler: Promise<CronSchedulerImpl>
1818
] {
1919
const crons = new Map<string, Set<() => Awaitable<void>>>();
20-
const scheduler: CronScheduler = {
20+
const scheduler: CronSchedulerImpl = {
2121
setInterval(cron: Cron, task: () => Awaitable<void>): ITimerHandle {
2222
const spec = cron.toString();
2323
const set = crons.get(spec) ?? new Set();
@@ -37,7 +37,7 @@ function createCronScheduler(): [
3737
return [dispatch, Promise.resolve(scheduler)];
3838
}
3939

40-
test("Scheduler: schedules tasks for validated CRONs on reload", async (t) => {
40+
test("CronScheduler: schedules tasks for validated CRONs on reload", async (t) => {
4141
let events: ScheduledEvent[] = [];
4242
const log = new TestLog();
4343
const mf = useMiniflare(
@@ -51,7 +51,7 @@ test("Scheduler: schedules tasks for validated CRONs on reload", async (t) => {
5151
);
5252
await mf.getPlugins(); // Wait for initial reload
5353
const [dispatch, cronScheduler] = createCronScheduler();
54-
new Scheduler(mf, cronScheduler);
54+
new CronScheduler(mf, cronScheduler);
5555
await setImmediate();
5656

5757
// Check scheduler requires reload to schedule tasks
@@ -73,7 +73,7 @@ test("Scheduler: schedules tasks for validated CRONs on reload", async (t) => {
7373
t.is(events[0].cron, "30 * * * *");
7474
t.regex(log.logs[0][1], /^SCHD 30 \* \* \* \* \(\d+\.\d+ms\)$/);
7575
});
76-
test("Scheduler: destroys tasks when CRONs change", async (t) => {
76+
test("CronScheduler: destroys tasks when CRONs change", async (t) => {
7777
const events: ScheduledEvent[] = [];
7878
// noinspection JSUnusedGlobalSymbols
7979
const options = {
@@ -84,7 +84,7 @@ test("Scheduler: destroys tasks when CRONs change", async (t) => {
8484
const mf = useMiniflare({ SchedulerPlugin, BindingsPlugin }, options);
8585
await mf.getPlugins(); // Wait for initial reload
8686
const [dispatch, cronScheduler] = createCronScheduler();
87-
new Scheduler(mf, cronScheduler);
87+
new CronScheduler(mf, cronScheduler);
8888
await mf.reload(); // Schedule tasks
8989

9090
t.is(events.length, 0);
@@ -99,7 +99,7 @@ test("Scheduler: destroys tasks when CRONs change", async (t) => {
9999
t.is(events.length, 2);
100100
});
101101

102-
test("Scheduler: dispose: destroys tasks and removes reload listener", async (t) => {
102+
test("CronScheduler: dispose: destroys tasks and removes reload listener", async (t) => {
103103
const events: ScheduledEvent[] = [];
104104
const mf = useMiniflare(
105105
{ SchedulerPlugin, BindingsPlugin },
@@ -111,7 +111,7 @@ test("Scheduler: dispose: destroys tasks and removes reload listener", async (t)
111111
);
112112
await mf.getPlugins(); // Wait for initial reload
113113
const [dispatch, cronScheduler] = createCronScheduler();
114-
const scheduler = new Scheduler(mf, cronScheduler);
114+
const scheduler = new CronScheduler(mf, cronScheduler);
115115
await mf.reload(); // Schedule tasks
116116

117117
t.is(events.length, 0);

0 commit comments

Comments
 (0)