← All trainings

Reliability 60 minutes, live Free

Durable Jobs You Can Trust

Retries that never charge a customer twice.

Next session

Online, private to registrants. Recording the next day.

Register

Who it is for

Developers who own jobs that call payment providers, send emails, move money or talk to anything that cannot be undone. Architects who have to sign off on how a retry behaves.

What we assume

You run JobRunr in at least one application, or you attended Foundations.

The hour, minute by minute

  1. 0:00

    What a retry really does

    An invoice run with 600 customers, a payment provider that times out at customer 161, and a retry that starts from the top. How often JobRunr retries and how far apart, which exceptions deserve a retry, and what should happen after the last one fails: a JobFilter that tells somebody, instead of a red row in the dashboard that nobody looks at.

  2. 0:10

    Durable jobs with runStepOnce

    Splitting a job into steps with JobContext.runStepOnce(). What JobRunr records per step, how a retried job skips the steps that already succeeded, and watching it happen in the job progress Chart view in JobRunr 9.

  3. 0:20

    Designing idempotent steps

    Returning values between steps, external calls that are not idempotent by nature, idempotency keys, and the step boundaries that make a job safe to run twice. What belongs in one step and what does not.

  4. 0:30

    When the server dies, not the job

    We kill a server halfway through the invoice run. How JobRunr notices the missing heartbeat and hands the orphaned job to another server, what graceful shutdown buys you on every deploy, and why the Kubernetes grace period has to be at least as long as the one JobRunr waits for. With steps, the job carries on from the last one that finished.

  5. 0:40

    Where JobRunr Pro picks up

    A retry policy per exception, and the DoNotRetryPolicy for failures no retry will fix. The @Transactional plugin, so a job is saved in the same transaction as your own data and disappears with it on a rollback. Job timeouts for the call that hangs forever. Batches you pause halfway through a failing run, fix and resume. Labelled as Pro on screen.

  6. 0:50

    Your questions

    Ten minutes. Bring the job you worry about and we talk through where its step boundaries should be.

Before the session

  • JobRunr 9 or later running locally, so you can see the Chart view yourself. Earlier versions have runStepOnce too, but not the Chart.
  • One multi-step job from your own codebase in mind, ideally one that touches money, email or an external API.
  • Your shutdown settings at hand, such as terminationGracePeriodSeconds if you run on Kubernetes. You will want to check them afterwards.

What you leave with

  • ✓ A step-design checklist for idempotent, resumable jobs, including the shutdown settings to check
  • ✓ The invoice-run demo application, failures and the server crash included
  • ✓ The recording, the next day
  • ✓ The durable executions guide as the written reference for runStepOnce, for when you build your own
  • ✓ A free Architecture Review of your own multi-step job

Your trainers

Ronald Dehuysser

Creator of JobRunr, codes the whole hour

Nicholas D'hondt

Host, asks the questions you are thinking

Register for this training

Free. The link arrives by email the day before the session.

We read every answer and use them to pick the examples for the session.

We use your answers to prepare the session and to send you the link and the recording. Nothing else. See our privacy policy.