Cron Jobs
Cron jobs that never fail silently.
Schedule jobs on one server or a whole label, with retries, timeouts, overlap control and a full run history. When something fails, the right person finds out before your customers do.
Runs
Every day at 03:00
Next runs
crontab vs. Fwoop
Everything crontab never told you.
- Where it lives
- crontab: A crontab on each server. Finding a job means SSH-ing into boxes until you find it.
- Fwoop: One schedule for the whole fleet, in the dashboard or in git.
- When it fails
- crontab: An email to root that nobody reads, if MAILTO is set at all.
- Fwoop: An alert to the job's owner in Slack, email or a webhook.
- Output
- crontab: Appended to a log file, if someone remembered the redirect.
- Fwoop: Exit code, duration and output of every run, searchable.
- Retries
- crontab: None. A network blip means the job just didn't happen.
- Fwoop: Automatic retries with backoff, up to the limit you set.
- Overlap
- crontab: A slow run and the next one run at the same time.
- Fwoop: Skip, queue or allow, per job.
- Timezones
- crontab: Whatever the server is set to, and daylight saving time surprises.
- Fwoop: Any IANA timezone per job, with DST handled.
- Changes
- crontab: No history of who changed what.
- Fwoop: Every change in the audit log, or reviewed in a pull request.
Cron Studio
Every job on every server, on one screen.
See what runs where, what failed last night and what runs next. Open any run for its full output.
Cron Studio listing five jobs with their schedules, targets, recent run results and next run. The selected job failed once and succeeded on retry, and its run log shows both attempts.
Jobs as code
Or keep your schedule in git.
Describe jobs in fwoop.yaml next to your code. The dashboard and the file stay in sync, and you choose which one is the source of truth.
- Schedule changes get reviewed in pull requests like any other change.
fwoop applyshows a diff before anything changes.- Edits made in the dashboard show up as drift until the file catches up.
jobs:
nightly-report:
schedule: "0 3 * * *" # every day at 03:00
timezone: Europe/Berlin
target: role=worker
service: worker # run inside the worker image
command: node scripts/report.js
timeout: 15m
retries: 3
overlap: skip
notify: [slack:#ops] Questions about cron jobs
Can I import my existing crontabs?
Yes. The agent reads the crontabs on a server and suggests a Fwoop job for each entry. You review them before switching the old entries off.
What if the server is offline when a job should run?
The run is marked as missed and the owner gets an alert. You can choose to catch up once the server is back.
Do jobs still run if the control plane is unreachable?
Yes. Each agent keeps its schedule locally and reports the results once it reconnects.
How many jobs can I have?
Ten on the free plan and unlimited on paid plans.
Bring your first server online in five minutes.
Start free with three servers. No credit card, no sales call, and your workloads stay on machines you own.