Python, Node and cron
Run your own scripts on a timer, on a server, and know when they break.
Write a ten-line script that saves one thing to a file, then run it from the command line.
Your learning checklist
0 of 7 steps marked · opening your workspace
Learn cron syntax
Almost every scheduler, from Linux to Vercel to GitHub, uses cron expressions, so learn this once.
docscrontab(5) manual page
The reference for time fields, environment variables and shortcuts like @daily.
- Cost / access
- free · Service usage, hosting, or model access may be separate.
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
toolCrontab.guru
Type an expression and see it in plain English; Vercel's docs recommend it too.
- Cost / access
- free · Service usage, hosting, or model access may be separate.
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
Write the job in Python or Node.js
Make the job a script you can run by hand first. Then decide who calls it on a schedule.
docsuv documentation (run Python scripts)
Runs a script with its dependencies pinned, so scheduled runs behave like your test runs.
- Cost / access
- free · Service usage, hosting, or model access may be separate.
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
docsAPScheduler user guide
Schedule jobs inside a long-running Python process, with triggers and job stores.
- Cost / access
- free · Service usage, hosting, or model access may be separate.
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
docsIntroduction to Node.js
Starting point for writing a Node script to schedule.
- Cost / access
- free · Service usage, hosting, or model access may be separate.
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
Schedule it with GitHub Actions (no server)
The cheapest way to run a periodic script: GitHub runs it from your repo and keeps logs. Good for jobs that can run a few minutes late.
docsGitHub Actions: Events that trigger workflows (schedule)
Covers the schedule event, cron syntax and time zone options.
- Cost / access
- free tier
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
docsQuickstart for GitHub Actions
Create your first workflow and read its run logs.
- Cost / access
- free tier
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
docsGitHub Actions billing and usage
What your plan includes and when charges start; check before scheduling every minute.
- Cost / access
- free · Service usage, hosting, or model access may be separate.
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
Use your host's cron
If your site or service already lives on a platform, its built-in cron is the least maintenance. Both note limits worth knowing.
docsVercel Cron Jobs
Calls a path on your deployment on a schedule; time zone is always UTC and day-of-month with day-of-week cannot both be set.
- Cost / access
- free tier
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
docsRailway Cron Jobs
Schedules a service with a crontab expression, with execution rules and timing limits.
- Cost / access
- unknown
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
Run jobs on a VPS with systemd timers and read the logs
On your own server, systemd timers give you logging and retries that plain cron does not. Always know where the logs are.
docssystemd.timer manual
How .timer files activate a matching .service on a schedule.
- Cost / access
- free · Service usage, hosting, or model access may be separate.
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
docsjournalctl manual
Read and filter logs for any service or timer.
- Cost / access
- free · Service usage, hosting, or model access may be separate.
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
Use a queue when work must not be lost
If a job triggers other jobs or must retry after a failure, a queue is safer than a loop inside one process.
docsBullMQ documentation
Job and message queue for Node (and other SDKs) with retries and delays, backed by Redis or PostgreSQL.
- Cost / access
- free · Service usage, hosting, or model access may be separate.
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
docsn8n: Enable queue mode
A worked example of the same idea inside an automation tool.
- Cost / access
- free · Service usage, hosting, or model access may be separate.
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
Monitor so you hear when it stops
The dangerous failure is a job that silently stops. Use a 'dead man's switch' that alerts when a ping does not arrive.
docsHealthchecks.io documentation
Your job pings a URL when it finishes; you get alerted if it is late or missing. Can also be self-hosted.
- Cost / access
- unknown
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
repoUptime Kuma
A self-hosted monitoring tool for websites and endpoints.
- Cost / access
- free · Service usage, hosting, or model access may be separate.
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
repoNetdata
Server-level monitoring (CPU, memory, disk) for the VPS itself.
- Cost / access
- unknown
- Setup
- Follow the linked provider’s current instructions; check account and runtime requirements.
You have made a start when…
- A script runs on a schedule on a server you control.
- It logs what it did and alerts you when it fails.
- You can read its log and find a failure.
Take this into your assistant.
Additional curriculum comes from the supplied AI Frontiers playbooks. Resource descriptions and cost labels are source guidance, not a fresh verification of pricing, compatibility, or results. Open the official instructions before using a tool. Checklist marks are your own progress notes.
