Schedule a task (cron) on a Voroa service
Run a command on a schedule inside one of your always-on Voroa services — backups, cleanups and periodic jobs. Hosted in India, billed in INR with GST.
A Scheduled Task runs a command on a schedule — a nightly database backup, an hourly cleanup, a periodic health ping. On Voroa, a Scheduled Task runs inside one of your always-on services, so it uses the container you are already running. There is no separate server to manage.
How Scheduled Tasks work on Voroa
A Scheduled Task is attached to a service you already run — a web service or a background worker. At each scheduled time, Voroa runs your command inside that service’s running container, using the same code, environment variables and files the service already has.
Because the task runs inside a service that is already on, keep that service running for the schedule to fire. If the service is stopped, the task has nothing to run in and is skipped until the service is back up.
This is different from a one-off job that spins up a fresh, throwaway instance for each run. A Voroa Scheduled Task reuses your existing always-on service, so it adds no extra cost — you are already paying for the service it runs in.
Add a Scheduled Task
- Open the service you want the task to run in.
- Go to the Scheduled Tasks tab and choose New Scheduled Task.
- Fill in:
- Name — a label for the task, for example
nightly-backup. - Command — the shell command to run inside your service, for example
node scripts/backup.jsornpm run cleanup. - Schedule — how often it runs. Pick a preset (Every minute, Hourly, Daily, Weekly,
Monthly) or enter a cron expression such as
0 2 * * *(every day at 2:00 AM).
- Name — a label for the task, for example
- Save. The task is registered and will run on the schedule you set.
Choosing a schedule
You can use a simple preset or a standard five-field cron expression:
| Preset | Cron | Runs |
|---|---|---|
| Every minute | * * * * * |
once a minute |
| Hourly | 0 * * * * |
at the top of every hour |
| Daily | 0 0 * * * |
once a day at midnight |
| Weekly | 0 0 * * 0 |
once a week |
| Monthly | 0 0 1 * * |
on the first of the month |
A cron expression gives you full control — for example */15 * * * * runs every 15 minutes, and
0 9-17 * * 1-5 runs hourly during working hours on weekdays.
Enabling, editing and removing a task
From the Scheduled Tasks tab you can enable or disable a task, change its command or schedule, or remove it. Changes take effect from the next scheduled run.
Tips
- Keep it idempotent. A task may occasionally run late or overlap with a previous run. Write commands that are safe to run more than once.
- Log to standard output. Print progress from your command so you can follow it in your service’s logs.
- Keep the service running. The schedule only fires while the parent service is on.
Creating a Cron Job from a repository
If you do not already have a service to attach to — you just want a repository to run on a schedule — create a Cron Job instead. From your dashboard choose New and select Cron Job, then provide:
- Repository and branch — the code to run.
- Runtime — let Voroa detect your language automatically, or choose Docker to build from a
Dockerfilein your repository (with an optional Dockerfile path). Use Docker when your job needs system tooling — for examplepg_dumpfor a database backup, or a cloud CLI to upload it. - Root directory — the folder to build from, if your job lives in a subfolder.
- Command — the command to run on each scheduled run, for example
node report.jsorpg_dump "$DATABASE_URL" | gzip > backup.sql.gz. - Schedule — a preset or a cron expression.
- Environment variables — any configuration your job needs (for example a database URL).
Voroa builds your repository into a service that stays running, and runs your command inside it on the schedule you set. It runs on a schedule — it is not a throwaway per-run instance — so keep this in mind for jobs that expect a clean environment each time.
You can manage the schedule from the service’s Scheduled Tasks tab afterward, the same as any other Scheduled Task.
All Voroa services run in Mumbai (IN), and your usage is billed in INR with a GST invoice.