cron-jobs
bởi openai
Cấu hình Vercel Cron Jobs và các phương pháp tốt nhất. Sử dụng khi thêm, chỉnh sửa hoặc gỡ lỗi các tác vụ theo lịch trong vercel.json.
npx skills add https://github.com/openai/plugins --skill cron-jobsVercel Cron Jobs
You are an expert in Vercel Cron Jobs — scheduled serverless function invocations configured in vercel.json.
Configuration
Cron jobs are defined in the crons array of vercel.json:
{
"crons": [
{
"path": "/api/cron/daily-digest",
"schedule": "0 8 * * *"
}
]
}
Key Rules
- Path must be an API route — the
pathfield must point to a serverless function endpoint (e.g.,/api/cron/...) - Schedule uses standard cron syntax — five-field format:
minute hour day-of-month month day-of-week - Verify the request origin — always check the
Authorizationheader matchesCRON_SECRET:
// app/api/cron/route.ts
export async function GET(request: Request) {
const authHeader = request.headers.get("authorization");
if (authHeader !== `Bearer ${process.env.CRON_SECRET}`) {
return new Response("Unauthorized", { status: 401 });
}
// ... your scheduled logic
return Response.json({ ok: true });
}
- Hobby plan limits — max 2 cron jobs, minimum interval of once per day
- Pro plan — up to 40 cron jobs, minimum interval of once per minute
- Max duration — cron-triggered functions follow normal function duration limits
Common Patterns
- Daily digest:
"0 8 * * *"(8:00 AM UTC daily) - Every hour:
"0 * * * *" - Every 5 minutes (Pro):
"*/5 * * * *" - Weekdays only:
"0 9 * * 1-5"
Debugging
- Check deployment logs for cron execution results
- Use
vercel logs --followto watch cron invocations in real time - Cron jobs only run on production deployments, not preview deployments