Skip to content
Merged
Prev Previous commit
fix(loop): include wakeups in scheduler size
  • Loading branch information
qqqys committed Jun 18, 2026
commit af586cb6938bb26aed82d59f0475e7903f042c9b
6 changes: 3 additions & 3 deletions packages/core/src/services/cronScheduler.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -593,7 +593,7 @@ describe('CronScheduler', () => {
expect(scheduler.sessionSize).toBe(0);
});

it('lists wakeups without counting them against the cron job limit', () => {
it('lists wakeups as active scheduler work', () => {
scheduler.scheduleWakeup(300, 'p');
expect(scheduler.list()).toMatchObject([
{
Expand All @@ -604,7 +604,7 @@ describe('CronScheduler', () => {
jitterMs: 0,
},
]);
expect(scheduler.size).toBe(0);
expect(scheduler.size).toBe(1);
});

it('does not count wakeups against the cron job limit', () => {
Expand All @@ -613,7 +613,7 @@ describe('CronScheduler', () => {
}

expect(() => scheduler.scheduleWakeup(300, 'wake up')).not.toThrow();
expect(scheduler.size).toBe(50);
expect(scheduler.size).toBe(51);
expect(scheduler.sessionSize).toBe(51);
});

Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/services/cronScheduler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -425,10 +425,10 @@ export class CronScheduler {
}

/**
* Returns the number of active jobs.
* Returns the number of active jobs and wakeups.
*/
get size(): number {
return this.jobs.size;
return this.jobs.size + this.wakeups.size;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/tools/loop-wakeup.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ describe('LoopWakeupTool', () => {
cronExpr: '@wakeup',
prompt: 'continue loop',
});
expect(scheduler.size).toBe(0);
expect(scheduler.size).toBe(1);
});

it('rejects scheduling when the scheduler is disabled', async () => {
Expand Down
Loading