Build1 distinct publisher3 min readPublished
In a dev.to field note, the HTTP handler answered every curl while the queue worker drained nothing, and the one signal that could have caught it was a heartbeat file the author never opened.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
Read the handler the author says he should have rejected. `do_GET` compares `self.path` to `/health`, sends 200, and writes `b"ok\n"`; everything else gets a 404 [10]. There is no filesystem read in that function, no queue depth, no reference to another pid. So the set of things it can catch is short: the process dying, the socket never binding, the accept loop blocking long enough for the caller to time out. A worker that never started is in none of those states, because the worker does not exist inside that handler's world [10].
The same file overrides `log_message` to return immediately [10]. The example probe therefore answers without leaving a line behind, which is a detail worth noticing if you plan to reconstruct the timeline afterwards.
The signal that would have caught this was being produced the whole time and never consumed. The worker was meant to refresh a heartbeat file every fifteen seconds [4]. Across forty-eight hours [1], that is 11,520 writes that should have landed [16].
A heartbeat file gives a probe three answers instead of one. Fresh, meaning mtime inside the threshold. Stale, meaning the file is there and the writer is not. Absent, which is where the author's own experiment turns awkward: the heartbeat lived under `/tmp`, and after the free remote shell recycled, `stat` reported no such file [12]. He describes hours where he could not tell a dead worker from a disk that had forgotten [13]. In my context I would set the staleness threshold at three intervals, 45 seconds for a 15-second writer [17], because one interval flaps on ordinary scheduling jitter, and I would put the file on a path with the same lifecycle as the process that writes it. `/tmp` is always writable, which is a different property from always being there [12].
For this failure to be yours, three things have to hold: one process in the deploy unit listens, another does the work you actually care about, and the check only knows about the listener [3][6]. If your worker exposes its own port or its own readiness route, the story does not transfer.
The patch that a free coding model produced is the predictable output of the prompt it was given. The author pasted a service layout, not a process table, and says as much [9][11]. The model wired `/health` to a constant on the socket that already answered [9]. What I would flag at review is the acceptance criteria: it compiled, it started, and curl looked busy [9].
Where the note comes from is part of reading it. It discloses that it was prepared as part of MonkeyCode's product outreach, that the candidate probes were drafted using MonkeyCode's free model access, and that the service was run on the free server option so the laptop's working directory would not hide the lie [14]. The vendor's free tier is both the demo environment and the origin of the patch the author faults, and the piece says so itself [14]. The reconstruction is the good craft here: the failure was rebuilt as a small local example that replays without the original queue [18].
The acceptance test is cheap to state. Kill the worker, leave the web process running, and see whether the check goes red. A script that cannot print `health: missing worker` has not earned the right to print `health: ok` [15].
Ranked by verification strength, evidence, and original report placement.
The author of a dev.to field note describes watching a deploy go green across a messy forty-eight hours while the only worker he cared about stayed completely silent.
Running curl -sS -D- http://127.0.0.1:8000/health returned HTTP/1.1 200 OK with the body ok, which the author calls a fact about one handler and not a fact about the worker.
Nothing drained, the HTTP log stayed polite, and there was no traceback, which the author says felt worse than a crash.
The author pasted the service layout into a free coding model and asked it to add a probe; the model wired GET /health to a constant ok on the process that was already listening, and he accepted the patch because it compiled, started and made curl look busy.
In the published lying_probe.py example, the BaseHTTPRequestHandler do_GET sends a 200 with b"ok\n" for /health and a 404 otherwise, log_message is overridden to return without output, and HTTPServer binds 127.0.0.1 port 8000.
The author notes the model had not seen his process table and that he had not shown it one.
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · September 3, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
The dangerous cell in your state machine is the one nobody filled in1 distinct publisher
build
Your 90% Cache Hit Ratio Is a Lagging Indicator. Alert on Cold Misses Per Key1 distinct publisher
build
SSE promises framing, not JSON: the streaming bug that only appears on long answers1 distinct publisher
build
Sequence-level equivalence catches the cache a single-call test suite waves through1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Replayable mechanism, unverifiable incident
Two very different things are being evidenced here and they score differently. The mechanism comes with artifacts a reader can run: the constant-200 handler, the smoke script that only proves a port is open, the stat output showing /tmp/worker.heartbeat gone after a recycle, the socket-ownership check that finally named the culprit. The forty-eight-hour outage itself comes with nothing but the author's memory — no backlog count, no queue depth, no log export, no second witness. Strong on the how, thin on the that-happened.
One engineer's afternoon
Adoption in this story extends exactly as far as one laptop and one throwaway shell. MonkeyCode's free model drafted a probe for one author and its free server hosted one reproduction; no team adopted the rule, no deployment count is offered, and nobody outside the note is shown reaching for the socket-ownership check. That is a single disclosed usage, and we score it as such.
Modest thesis, dramatic headline number
The argument the note actually makes is small and defensible — a probe that cannot fail is a mood — and it is made against the author's own competence rather than for a product. The stretch is the framing: 'forty-eight hours' does the persuasive work in the title and is precisely the claim with no artifact behind it. Call it mild dramatisation of an ordinary misconfiguration, not overselling.
Paid placement, stated in the body
MonkeyCode commissioned the attention and collects two product mentions: free model access and a free remote shell. The disclosure sits inline where a reader will hit it, not buried at the end. What cuts against the usual reading is where the sponsor's model ends up in the plot — writing the constant-200 handler that caused the whole mess. Sponsored content that makes the sponsor look careless is still sponsored content, so we mark the incentive as strong and visible rather than concealed.
Single voice, checkable claims
One publisher, one author, a paid placement and no way to cross-check the incident would normally push this low. It sits mid-range because the assertions are small, technical and independently testable, and because the sponsorship was declared rather than discovered. Our copy of the note also stops mid-sentence just as the corrected probe's 503 behaviour is being explained, so the fix is described more than demonstrated.