Deploy cron-rust

Cron Runner Rust — ultra-light HTTP scheduler with second precision

Deploy cron-rust

Cron Rust

XavTo/cron-rust

Just deployed

Cron Runner (Rust) — per-second HTTP scheduler

Deploy a tiny Rust service that triggers HTTP requests using 6-field cron expressions (seconds included). Each request carries X-Cron-Secret for simple middleware-based auth. Supports custom headers and optional body per job.

Deploy and Host

Use the one‑click button on Railway to deploy this template. The service runs as a persistent process and schedules requests internally—no Railway Cron needed. Provide the environment variables below and deploy to your desired region.

About Hosting

This service is designed to run continuously with a very small memory/CPU footprint. It issues outbound HTTP requests at the times defined by your cron expressions. Choose a region close to your target APIs to reduce latency.

Why Deploy

  • Replace heavyweight schedulers with a minimal Rust binary.
  • Run cron with second-level precision.
  • Centralize multiple HTTP jobs in one place (headers, bodies, secrets).
  • Keep simple transparent logs for success/failure.

Common Use Cases

  • Pinging internal or public endpoints on a schedule.
  • Kicking background jobs on a Laravel/Symfony/NestJS/Rails backend via authenticated webhook.
  • Refreshing caches, tokens, or pre-warming data.
  • Triggering ETL or status checks at fine-grained intervals.

Dependencies for

This template requires only environment variables. No external databases or queues are needed by default.

Deployment Dependencies

  • SECRET (required): shared secret sent as X-Cron-Secret.
  • CRON_JOBS (required): the list of scheduled HTTP jobs.

How to use

  1. Click Deploy on Railway from this template.

  2. In the service Variables, set:

    • SECRET: the secret sent as X-Cron-Secret.
    • CRON_JOBS: the jobs list (see syntax below).
  3. Deploy as a persistent service (not a native Railway cron).

CRON_JOBS syntax

Jobs are separated by “;” or new lines. Format: METHOD|URL|CRON_EXPR|HEADERS|BODY

  • METHOD: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
  • URL: HTTP(S) endpoint (query params allowed)
  • CRON_EXPR: 6-field cron with seconds
  • HEADERS (optional): comma-separated Name:Value pairs
  • BODY (optional): raw string

Examples

GET|https://httpbingo.org/status/204|0 * * * * *||
POST|https://httpbin.org/post|*/30 * * * * *|Content-Type:application/json|{"ping":true}
PATCH|https://postman-echo.com/patch|15 * * * * *|Authorization:Bearer XYZ,Content-Type:application/json|{"name":"demo"}
DELETE|https://postman-echo.com/delete|45 * * * * *||

Logs

The service prints one line per execution:

  • OK with the HTTP status on success.
  • FAIL with either HTTP error (4xx/5xx) or transport error.

Tech

  • Rust + ureq (sync, minimal) for HTTP.
  • cron crate for per-second schedules.

Template Content

More templates in this category

View Template
N8N Main + Worker
Deploy and Host N8N with Inactive worker.

View Template
Postgres S3 backups
A simple NodeJS app to back up your PostgreSQL database to S3 via a cron

View Template
Prefect (Open-Source Workflow Orchestration Platform)
Prefect (ETL & Automation alternative to Airflow) Self Host [Oct ’25]