AgentScheduler - Manages scheduled execution of ADK agents.

Provides cron-based and interval-based scheduling for agent runs with support for multiple concurrent schedules, execution tracking, and lifecycle callbacks.

// Create scheduler
const scheduler = new AgentScheduler();

// Build an agent
const { runner } = await AgentBuilder
.create("daily-reporter")
.withModel("gemini-2.5-flash")
.withInstruction("Generate a daily summary report")
.build();

// Schedule the agent
scheduler.schedule({
id: "daily-report",
cron: "0 9 * * *", // Daily at 9 AM
runner,
userId: "system",
input: "Generate today's report",
onComplete: (id, events) => console.log(`Job ${id} completed`),
});

// Start the scheduler
scheduler.start();

// Later: stop the scheduler
await scheduler.stop();

Constructors

Methods

  • Get status of a job

    Parameters

    • jobId: string

    Returns {
        enabled: boolean;
        isRunning: boolean;
        executionCount: number;
        lastRunTime?: number;
        nextRunTime?: number;
        lastError?: string;
    }

    • enabled: boolean
    • isRunning: boolean
    • executionCount: number
    • OptionallastRunTime?: number
    • OptionalnextRunTime?: number
    • OptionallastError?: string