Render Cron Jobs

作者 render-osse8f889396634MIT收录于 2026年10月8日更新于 2026年10月8日

Configures and troubleshoots scheduled tasks on Render using cron job services. Use when the user needs to run something on a schedule, write a cron expression, set up a periodic job, migrate from Heroku Scheduler, choose between cron jobs and background workers, or fix a cron that isn't firing. Trigger terms: cron job, scheduled task, periodic job, cron expression, schedule, run every, timer, Heroku Scheduler migration.

仅含说明DevOps & Cloud
AI 生成的概览

配置并排查 Render 上的定时 cron 作业服务,包括 cron 表达式和 Heroku Scheduler 迁移。

功能
说明 Render cron 作业服务的运行方式:UTC cron 表达式、必须退出的 shell 命令、构建与启动配置,以及使用 type: cron 的 Blueprint YAML。它记录了平台限制,例如无持久磁盘、同一时间仅一次运行、单次最长 12 小时,以及仅支持出站的私有网络。它还将 cron 作业与后台工作进程和工作流进行比较,并指向参考文件以获取表达式示例和 Heroku Scheduler 迁移映射。
适用场景
适用于在 Render 上设置或调试需要按计划运行的任务、编写或转换 cron 表达式、在 cron 作业、后台工作进程或工作流之间做选择,或从 Heroku Scheduler 迁移周期性作业。
运行要求
仅为说明性内容,不附带脚本。需要具备包含 cron 作业服务的 Render 账户;若使用 Blueprint 配置,还需要 render.yaml 文件。随附参考文件,涵盖 cron 模式与 Heroku Scheduler 迁移。

Render Cron Jobs

This skill covers Cron Job services on Render: how schedules run, what the platform guarantees, and how they differ from workers and workflows. Pair it with Blueprint and deploy skills when authoring render.yaml or Dashboard settings.

When to Use

  • Scheduled work that starts on a cron, runs a command, and exits when finished
  • Choosing between cron, background worker, or workflow for periodic or long-running jobs
  • Blueprint fields for type: cron, schedule, and commands
  • Constraints: no disk, single concurrent run, 12-hour max duration, private-network outbound only
  • UTC scheduling pitfalls (expressions are not local time)

Expression cheat sheets, framework startCommand examples, and Heroku Scheduler migration mapping live under references/.

Configuration

  • Schedule: a cron expression evaluated in UTC, not the team’s local timezone. All times in the Dashboard and Blueprints are UTC.
  • Command: any valid Linux shell command or bash script path. The process must exit when work is done—billing is based on run duration (prorated by the second).
  • Source:
    • Git repository — Render builds on push (same deploy model as other repo-backed services); the built artifact runs on each scheduled invocation.
    • Prebuilt Docker image — the image is pulled before each run and is not retained between runs (no warm cache of the image layer set across invocations in the same way as a long-lived service).

Constraints

  • No persistent disk — cron job services cannot provision or attach Render persistent disks; plan for object storage or databases instead.
  • Single-run guarantee — at most one active run per cron service at a time. A new scheduled tick does not start a second overlapping instance.
  • Maximum run length: 12 hours per invocation.
  • Pricing: $1/month minimum per cron job service; usage is prorated by the second beyond plan/minimum rules that apply to your account.
  • Private network: cron jobs can send traffic to other services on the private network; they cannot receive inbound private-network connections (no internal hostname for accepting traffic from other services).

Execution Behavior

  • Manual “Trigger Run” while a run is active: Render cancels the active run, then starts a new one.
  • New Git build / deploy does not affect a run already in progress—the in-flight process keeps using the revision it started with until it exits.
  • Docker-based crons: the image is pulled fresh for each run; do not assume layer or image reuse across invocations like a continuously running container.
  • UTC everywhere: cron expressions and “midnight” in docs mean UTC. A common mistake is copying a local-time schedule into the expression without converting to UTC.

Cron vs Worker vs Workflow

NeedUseWhy
Periodic task under 12hCron JobScheduled, simple, exits when done
Continuous job processingBackground WorkerAlways running, polls a queue
Periodic but over 12hBackground WorkerNo 12h cron run ceiling
Scheduled parallel computeCron Job + WorkflowCron triggers workflow runs on a schedule; workflows fan out or orchestrate parallel steps

Blueprint Configuration

Cron services use type: cron with a schedule and the usual build/start and env wiring:

yaml
services:  - type: cron    name: nightly-cleanup    schedule: "0 * * * *" # hourly at minute 0 — must be quoted in YAML    buildCommand: pip install -r requirements.txt    startCommand: python cleanup.py    envVars:      - key: DATABASE_URL        fromDatabase:          name: my-db          property: connectionString
  • schedule: standard five-field cron (minute hour day-of-month month day-of-week), UTC.
  • buildCommand / startCommand: same roles as other non-Docker services; Docker images use image + start command as configured for image-backed crons.
  • envVars: same patterns as web services and workers (secrets, linked databases, etc.).

YAML note: the schedule value must be quoted so characters like * are not parsed as YAML aliases or flow syntax.

Common Patterns

  • Database cleanup — archive or delete stale rows on a schedule
  • Report generation — build CSV/PDF and upload to object storage or email
  • External API sync — pull or push batches on an interval
  • Cache warming — hit endpoints or rebuild caches before peak traffic
  • Scheduled emails — digest or reminder sends driven by cron + mail/API

References

TopicFile
Expression examples, framework commands, errors, env varsreferences/cron-patterns.md
Heroku Scheduler → Render mapping, blueprint examplereferences/migration-from-scheduler.md

Related Skills

  • render-deploy — First-time deploy, service creation, Dashboard flow
  • render-blueprints — Full render.yaml schema, previews, common mistakes
  • render-background-workers — Long-lived processes, queues, no 12h cap
  • render-workflows — Orchestrated and parallel jobs, often triggered on a schedule from cron

来源与署名

来源:render-oss/render-plugin-claude-code位于skills/render-cron-jobs提交e8f8893

许可证: MIT

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架