Schedule
Define recurring cron work for Vite and Nitro apps.
@vitehub/schedule defines recurring cron schedules that can run in Vite and Nitro apps. A Schedule Definition keeps the cron expression and handler together so provider output can discover it.
Use Schedule when an app needs named recurring work such as daily reports, cleanup jobs, or provider-triggered maintenance tasks.
server/schedules/daily-report.ts
import { defineSchedule } from '@vitehub/schedule'
export default defineSchedule({
cron: '0 9 * * *',
handler: async (context) => {
console.log(`Run daily report at ${context.scheduledAt.toISOString()}`)
},
})
The discovered Schedule name comes from the file path. For example, server/schedules/daily-report.ts is discovered as daily-report.
What Schedule Owns
Schedule definitions
Keep recurring cron handlers in
defineSchedule().Provider output
Emit Cloudflare and Vercel cron output from discovered definitions.
Runtime runner
Execute Runtime Schedules from one self-hosted process.

