Opens in a new tab
SRE fundamentals · Lesson 8 of 12

Reduce toil without making the wrong retry faster

In brief

Forty retries a week look ready to automate. Follow the check before the click, then see whether a tool would remove work or simply move it.

4 min read

BeginnerLessonAbout reading levels
Is this the right starting point?
Before you read
Basic arithmetic and willingness to map a repeated task; all retry volumes, costs and failure cases are fictional and supplied.
What you will take away
Estimate toil-reduction payback and design a bounded dry-run proposal that preserves duplicate checks, permissions and per-item outcomes.
Sources
Watercolor illustration: a worker studies a leaking pipe while a wheeled mop repeatedly circles its puddle.
On this page6 sections

Forty times a week, a responder in our fictional Dispatch service returns to a stalled export. Each visit takes six minutes, including a check that the report has not already completed. That is four hours before interruptions and follow-up.

The retry button is the obvious part to automate. The less obvious part is the pause before pressing it.

This repeated workaround is a candidate for reducing toil: recurring operational work that consumes time without leaving a lasting improvement. Investigating the defect could change next week’s workload. Doing the same forty retries again usually will not. Before choosing a tool, it helps to see exactly what those six minutes contain.

What happens before the click?

Describe the trigger, steps, decisions, exceptions, permissions and possible failure. For these exports, the key question is whether a retry resumes the same operation or creates another report. A script can issue the same command as the responder and still do a different job if it leaves that check out.

There are at least three possibilities to compare: remove the defect, simplify the procedure or automate a limited retry. Count upkeep and failure investigation as well as construction. Suppose the automation takes 24 hours to build and one hour a week to maintain. Removing four weekly hours would save three net hours, paying back the build effort in eight weeks. Those are planning assumptions about volume, maintenance and failure cost, not a measured return.

Give maintenance two hours a week instead and the saving falls to two hours, stretching payback to twelve weeks. Now suppose a defect repair reduces the workload to five retries. The manual task takes only half an hour a week, less than the proposed tool’s one-hour upkeep. A solution that looked worthwhile at forty retries has to be reconsidered when only five remain.

Stay with the export the customer asked for

The accepted export’s identifier connects the work before and after a retry. First look for its correct downloadable report. After any retry, check completion of that same operation. An API saying it accepted a request does not establish that the customer received the report.

Follow the responder’s work as well. If every former manual retry becomes an exception ticket waiting in an unattended queue, the task may have moved rather than disappeared. A useful improvement should make the work lighter for the people carrying it, not merely harder to see.

The report may exist behind the timeout

A write can succeed while its acknowledgment is lost. The worker sees a timeout, yet the output is already there. This is why the responder looks before retrying: a second attempt made without resolving the disagreement can turn one requested export into two.

Consider three illustrative visits to a stalled operation. On the first, a lookup finds a valid report for that operation. The status needs reconciliation; generating another export would add work already done. On the second, no valid report exists and the retry preserves the same logical identity, so a limited retry may fit. On the third, the lookup fails. That leaves the result unknown, rather than proving the report absent.

A first tool could gather the records and propose a next step without changing anything. That dry run can save the responder some searching while keeping uncertainty visible. If it cannot reliably distinguish the first two cases, it needs more work before it is allowed to execute them.

Make the proposed retry easy to inspect

For this exercise, the dry-run output should show the operation ID, why it appears stalled, the duplicate-completion check and the proposed action. A person reviews that result before any execution is enabled.

A later version that can act also needs a maximum batch size, permitted services and permissions, a stopping condition, and a result for each operation. If half the reports remain unavailable, “batch done” hides where the work stopped. Per-item results let the next person continue from the actual state rather than reconstruct the whole batch.

Did the week get easier?

Keep the original volume and effort, construction cost, expected saving, maintenance owner and trial measurement together. Measure exceptions and customer outcomes beside operator minutes. If the root defect disappears, revisit the tool’s upkeep instead of assuming the original calculation still holds.

A rare destructive recovery, uncertain duplicate behavior or rapidly changing procedure may call for investigation and simplification first. The useful first automation might only locate the export and its output. That already gives the responder a clearer decision with less searching. Execution can follow once the design preserves the judgment that made the six-minute task useful in the first place.

Where toil reduction starts

Eliminating toil discusses recurring operational work and ways to reduce it. Every volume and cost in this exercise is hypothetical.

Sources & context

Sources linked in this article. Read alongside the author’s analysis; a citation does not independently verify a publisher’s claims.

Report an error or outdated detail

Keep reading

Where to go next