Skip to content

Guides

Build real features with Halyard, end to end.

Each guide takes one job you actually have, like welcome emails, nightly reports or a crontab you want gone, and walks through it with working code in Node.js and Python, the failure cases included.

Guides
6
Topics
6
Reading time
77 min
Updated
October 14, 2026
Featured guideEvents

Publish one order.paid event and let receipts, inventory and analytics each react on their own queue, with their own retries.

Intermediate12 min
  • Node.js
  • Python
  • Go
  • cURL
Tomás ReyesStaff engineer, PlatformStart the guide

All guides

Showing 9 of 9 guides

Topic
Level
  • Emails

    Send welcome emails in the background

    Queue an email job at sign-up, send it from a worker and let Halyard retry when your email provider has a bad minute.

    Beginner8 min
    • Node.js
    • Python
    Mara Ilves
  • Media

    Process image uploads

    Resize uploads into web-ready sizes on a dedicated media queue, report progress to the browser and keep big files from starving other work.

    Intermediate14 min
    • Node.js
    • Python
    Priya Natarajan
  • Events

    Fan out events to many services

    Publish one order.paid event and let receipts, inventory and analytics each react on their own queue, with their own retries.

    Intermediate12 min
    • Node.js
    • Python
    • Go
    • cURL
    Tomás Reyes
  • Scheduling

    Build a nightly report

    Run a report at 02:00 in your team's time zone, compute it from the scheduled slot rather than the clock, and backfill missed days.

    Beginner10 min
    • Node.js
    • Python
    • cURL
    Priya Natarajan
  • Migration

    Migrate from cron jobs

    Move a crontab to Halyard schedules one entry at a time, with retries, logs and time zones you can see, and no night without a run.

    Intermediate15 min
    • Node.js
    • Python
    • cURL
    Tomás Reyes
  • Reliability

    Make jobs idempotent

    Design jobs that are safe to run twice: idempotency keys at enqueue, upserts in the worker and the job ID passed to every downstream call.

    Advanced18 min
    • Node.js
    • Python
    Mara Ilves
  • ReliabilityComing soon

    Throttle calls to a rate-limited API

    Use queue rate limits and token buckets to stay under a partner's 100 requests per minute without dropping work.

    Advanced16 min
    • Node.js
    • Go
    Tomás Reyes
  • MediaComing soon

    Transcode video with progress updates

    Split a long transcode into chunks, run them in parallel and stitch the result together when the last one finishes.

    Advanced20 min
    • Python
    Priya Natarajan
  • EmailsComing soon

    Send a weekly digest

    Batch a week of activity per user and send one email each Monday morning in every reader's own time zone.

    Intermediate12 min
    • Node.js
    • Python
    Mara Ilves

Missing the guide you need?

Tell us what you're building. The most requested topics get written first, and we'll email you when yours is published.

Suggested