Durable Jobs You Can Trust
Retries that never charge a customer twice.
Next session
Next date to be announced
Online, private to registrants. Recording the next day.
RegisterWho 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
- 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
JobFilterthat tells somebody, instead of a red row in the dashboard that nobody looks at. - 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. - 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.
- 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.
- 0:40
Where JobRunr Pro picks up
A retry policy per exception, and the
DoNotRetryPolicyfor failures no retry will fix. The@Transactionalplugin, 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. - 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
runStepOncetoo, 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
terminationGracePeriodSecondsif 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.
