Launch and Manage Cron Jobs Effortlessly

So the idea is the Fly app cron-manager depends on has no machines running and cron-manager will start a machine just for this scheduled job.

I’m not sure i’m following. The app-name specified in the Job is where the Machine will be provisioned. There’s nothing requiring the target App to have no machines.

But still, what’s the image for?

With the new Machines platform, there’s no longer a 1:1 mapping between App and Image. The image could be the same as one of the Machines in your target app, or completely different.

Should that be 1 cron-manager app and 5 independent fly apps or should that be a single cron-manager app with all the scripts?

You have the flexibility to do whatever makes the most sense for your use-case. When specifying the app-name, the Machine will be provisioned into that App and will inherit that Apps secrets.

I appreciate the work Fly’s doing to make cron work for us, both here and in Crontab with Supercronic · Fly Docs, but it seems silly to have a continuously-running machine to just kick off jobs on another machine. $2/month isn’t huge, especially for large deployments, but it still feels wasteful.

In the absence of an efficient Fly option (and for periodic jobs that don’t need 100% reliability), I’ve been using a Github Action to make an HTTP request to my Fly app that’ll kick off whatever work actually needs to happen.