Scheduled Jobs vs On-Demand Scripts in Ops

Published 2026-05-11 by Faraz Rahimi

Some work should wake up by itself. Some work should only run when a human is staring at the outcome. Mixing those up is how you get surprise emails at 2am.

Scheduled Jobs vs On-Demand Scripts in Ops

Tags: Python, Automation, Operations, Reliability, unlisted

I schedule the boring certainties: pulling yesterday's receipts, refreshing a location cache, sending a count queue. I keep the dangerous ones on-demand: mass adjustments, vendor file imports, anything that writes more than it reads.

If a job can duplicate rows, it is not a cron job until it is idempotent. I learned that by duplicating rows.

On-demand still needs logs

A button in an admin screen is still automation. It should write who ran it, with what file, and what the row counts were. "I think I ran it twice" should be a query, not a feeling.

Alerts that mean something

I do not email on success. I email on zero rows when there should be hundreds, on runtime spikes, and on exceptions. Quiet success is a feature.

Original post: https://farazrahimi.com/posts/scheduled-jobs-vs-on-demand-scripts-in-ops