Comparison
Crontap vs Heroku Scheduler
Heroku Scheduler is the default for run-a-Rake-task-daily. For anything finer than 10 minutes or anything more interesting than three fixed cadences, you have to build it yourself. Crontap fires any cron expression you type at your Heroku app URL.
At a glance
Heroku Scheduler vs Crontap, side by side.
| Dimension | Heroku Scheduler | Crontap |
|---|---|---|
| Cadence options | 10 min, 1 hour, 24 hours | Any cron expression |
| Cron expression support | No (3 fixed buckets) | Yes (5-field) |
| Per-schedule timezone | Account-wide UTC | Yes (any IANA) |
| Per-execution cost | One-off dyno per run (billed by the second) | Zero (hits your existing dyno) |
| Dashboard scope | Per-app | All apps + non-Heroku targets |
| Logging | Limited dyno log | Full request + response with status, duration, body |
| Free tier | Free add-on, limited by dyno time | Free tier available |
How they work
The two approaches in one paragraph each.
Heroku Scheduler
Heroku Scheduler is a free Heroku add-on. You pick one of three fixed cadences (10 minutes, 1 hour, 24 hours) for each task and pair it with a Rake task or shell command. Heroku spins up a one-off dyno per run that lives only as long as the task takes.
Crontap
Crontap fires any cron expression at the HTTP endpoint of your choice (a route on your existing Heroku app, a Cloud Run service, a Vercel function, anything reachable). The schedule lives in Crontap, not in your app, so cadence changes never require a redeploy and there is no per-execution dyno billed.
Where each side wins
Honest broker, both columns.
Heroku Scheduler wins on
- One install. Already in the Heroku ecosystem.
- Runs Rake or shell commands directly without a public HTTP endpoint.
- Free add-on if you can live with three cadences.
Crontap wins on
- Cadences in between. Every 5, 15, 30 minutes are not options on Heroku Scheduler.
- Cron expressions like Tuesday 06:30 Europe/Berlin that Heroku Scheduler simply cannot represent.
- No per-execution dyno spin-up cost. Crontap hits the URL on dynos you already pay for.
- Per-schedule IANA timezones.
- A real Heroku customer fires daily user notifications at 17:00 Europe/Berlin via Crontap, exactly because Heroku Scheduler is UTC-only with 24-hour cadence.
The math
Cadence and pricing, worked out.
- Want a job every 5 minutes via Heroku Scheduler? You cannot. The closest is every 10 minutes.
- Run a job every 10 minutes via Heroku Scheduler and you spin up a one-off dyno 4,320 times a month. On Eco dynos that is real money. With Crontap, your existing web dyno serves the request.
- Heroku Advanced Scheduler (the paid alternative) costs more and still does not give you cron expressions. Crontap Pro is $3.25/month annual.
Moving from Heroku Scheduler
The migration, in 4 steps.
- Identify the Rake task or process that Heroku Scheduler runs.
- Wrap it as an HTTP endpoint on your existing dyno (e.g. POST /scheduled/your-job) and verify a bearer token on the route.
- Create a Crontap schedule pointing at that URL with the header.
- Remove the Heroku Scheduler entry. Verify the next run lands in your Crontap log.
Decision
Which one fits.
Pick Heroku Scheduler if
You are content with 10 min, 1 hour, or 24 hours, your job runs as a Rake task you do not want to expose over HTTP, and you do not mind UTC.
Pick Crontap if
You want any cron expression, sub-10-minute cadence, per-schedule timezones, central logs, or notifications when something fails.
Pair both if
Keep Heroku Scheduler for one daily Rake task and add Crontap for the every-15-minute health pings.
FAQ
Crontap vs Heroku Scheduler, in detail.
- Does Crontap require a public HTTP endpoint?
- Yes. The endpoint can be auth-protected: Crontap sends an Authorization header you control, your route checks it before doing any work.
- Can I keep Heroku Scheduler running too?
- Yes. Many teams pair them: keep Heroku Scheduler for the one daily Rake task that already works, add Crontap for everything that needs a cadence Heroku Scheduler does not offer.
- Will this save me money?
- Often, because you skip the per-execution dyno spin-up. Heroku Scheduler bills a small one-off dyno per run; Crontap calls the URL on the web dyno you already pay for.
- What about Heroku Advanced Scheduler?
- Heroku Advanced Scheduler costs more and still does not give you full cron expressions. Crontap Pro is $3.25/month annual and supports any 5-field cron expression with per-schedule timezones.
Sources
Ready to fix it?
Point Crontap at any URL. Pick any cron. Done.
WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.
Free forever tier ・ No credit card required
/wp-cron.php?doing_wp_cron=1
Schedule
"every 5 minutes"
Next
in 23s