Cron Jobs aren't live yet — we're finishing the runtime and the dashboard. Sign up and we'll ping you the moment it ships.
Managed Cron Jobs & Scheduled Tasks
Run scheduled tasks automatically. Set a schedule, we run your code — with logs and retries built in.
- CPU
- Up to 2 vCPU
- Memory
- Up to 512 MB
- Timeout
- Up to 1 hour
runsite cron ls0 3 * * * pg-backup ok · 41s*/15 * * * * sync-inventory ok · 2.4s0 9 * * 1 weekly-digest ok · 12snext run 03:00 CETretries 3 · overlap skip · history 30d
Jobs are provisioned and executed in eu-frankfurt
Runsite Cron Jobs runs scheduled tasks as containers, so backups, report generation, data syncs, and cleanup jobs happen without a server to babysit. Write a standard Unix cron expression, point it at a Docker image, and Runsite takes care of provisioning, timeouts, retries, and logging.
Jobs execute on infrastructure inside the European Union, so whatever data they read or write stays within EU borders. A signed GDPR Data Processing Agreement is included on every plan.
Every run is recorded with its exit code, output, and duration, and a failed run can alert you by email or webhook. Concurrency policies decide what happens when a run overlaps the previous one, so long jobs never pile up. Most jobs sit alongside the rest of your stack: dump a PostgreSQL backup to object storage, or refresh caches and data for your web services.
Everything to Run Scheduled Jobs
Built-in tools and capabilities to deploy and manage with confidence.
Cron Schedule Syntax
Use standard Unix cron expressions to define when your jobs run — every minute, hourly, daily, weekly, or any custom interval.
Timezone Support
Schedule jobs in any timezone. Run reports at 9 AM local time or batch processes at midnight in your users' timezone.
Concurrency Policies
Choose Allow, Forbid, or Replace policies to control what happens when a new run is triggered while a previous one is still executing.
Custom Docker Images
Run any script or binary in a Docker container. Bring your own image or use Runsite's built-in runtime images for popular languages.
Execution History
Track every execution with status, duration, and logs. Set retention limits for successful and failed job history.
Failure Alerts
Get notified when a job fails or exceeds its timeout. Configure retry behavior and alert channels for critical tasks.
Schedule, run, monitor
Every scheduled job follows a predictable lifecycle with built-in safety nets for failures.
Schedule Defined
Set a cron expression (e.g. 0 2 * * * for daily at 2 AM) with a timezone. Choose a concurrency policy: Allow, Forbid, or Replace.
Container Provisioned
At the scheduled time, Runsite spins up a fresh container from your Docker image with your environment variables and secrets injected.
Execution & Timeout Guard
Your script runs inside the container. If it exceeds the timeout limit, the container is terminated and the run is marked as failed with an alert sent.
Logs & History Recorded
Exit code, stdout/stderr output, duration, and resource usage are recorded. Failed runs trigger configurable alerts via email or webhook.
Get Started in Minutes
Simple integration with your existing tools and workflows.
# Schedule: 0 2 * * * (daily at 2 AM)
# Timeout: 3600s
#!/bin/bash
pg_dump $DATABASE_URL | gzip > backup.sql.gz
aws s3 cp backup.sql.gz s3://backups/$(date +%F).sql.gzWhat You Can Automate
Common scenarios where this service shines.
Database Maintenance
Schedule backups, cleanup old records, run data migrations, and generate reports on a recurring basis.
Email Digests
Send daily or weekly digest emails, notification summaries, and scheduled marketing campaigns.
Data Sync
Synchronize data between services, pull from external APIs, update caches, and refresh materialized views.
Analytics & Reports
Generate daily analytics snapshots, compute aggregated metrics, and export reports to external systems.
Your Jobs Run Inside the EU
Hosted in Frankfurt, Germany — your data stays under EU jurisdiction.
Scheduled containers are provisioned and executed in Runsite's Frankfurt, Germany region. Any database rows, files, or API responses your job touches are processed inside the EU, and execution logs are stored there too.
Every account is GDPR-compliant by default and includes a signed Data Processing Agreement at no extra cost and with no sales call. You can review how we handle data in our Privacy Policy and DPA terms. That makes Runsite a fit when you handle EU customer data or fall under the GDPR or the EU Digital Services Act.
Simple, transparent pricing
This service is still in development. The plans below are a preview — final pricing will be confirmed at launch.
Pro
€12/mo
- Unlimited cron jobs
- Custom Docker images
- Extended timeout (1 hour)
- 30-day history
Frequently Asked Questions
Common questions about this service.
The default timeout is 3600 seconds (1 hour). On the Business plan, you can request extended timeouts for long-running batch processes. If a job exceeds its timeout, it is terminated and marked as failed.
You can configure a concurrency policy: Allow (run in parallel), Forbid (skip the new run), or Replace (cancel the running job and start a new one). The default policy is Forbid.
Yes. You can trigger any cron job manually from the dashboard at any time, regardless of its schedule. This is useful for testing or running one-off executions.
Failed jobs are logged with their exit code and output. You can configure alert notifications via email or webhook. The execution history shows all past runs with their status, duration, and logs for debugging.
Learn More About Cron Jobs
Hands-on articles from the Runsite blog.
How to Automate PostgreSQL Backups to S3 on a Schedule
A managed database backs itself up daily — but a second, portable copy in your own S3 bucket is yours to keep. Here's how to schedule pg_dump to object storage with a cron job, and when it's worth doing.
ReadPoint-in-Time Recovery: How WAL Archiving Saves You After a DROP TABLE
Your nightly backup answers "do we have a copy?" Point-in-time recovery answers "can we go back to 3:06pm?" Here's what the write-ahead log stores, how PITR replays it, and what it still can't undo.
ReadWhat Are Cold Starts — and Why Your Free-Tier App Keeps Falling Asleep
Cold starts make the first request to a sleeping app painfully slow. Here's why free hosting tiers spin down, what it costs you, and how to keep an app warm without paying for idle capacity.
ReadYou Might Also Need
Services that work great together.
Web Services
Node.js, Python, Go, Ruby, Rust, or your own Dockerfile — Runsite builds it, runs it, and keeps it online on European infrastructure.
Learn morePostgreSQL
Managed PostgreSQL. Daily backups, one-click restore. Just connect and start querying.
Learn moreEmail Service
Send receipts, password resets, and notifications. 3,000 emails free every month.
Learn moreYour app deserves to be online
Free to start. Deploy in under a minute. No credit card needed.