Commit 901e832
#120 published an "~8.5 minute" idle tail from `containersUsageAdaptiveGroups`,
read ~14 minutes after the test render that produced it. Re-read now that the
dataset has settled, the same window tells a different story: the placement that
render woke (`a20877a2`, 2026-08-03T22:35Z) was still allocated 29.3 hours later
- 352 of 352 five-minute buckets present, zero gaps, 98.1% of a 1 GiB instance's
full allocation - against a total of 5 worker requests in that entire window.
There is no tail. The container simply never sleeps, which is exactly what the
SIGTERM diagnosis in #154 predicts: `@cloudflare/containers` sends SIGTERM and
never escalates, node is PID 1 and ignored it, so the instance only ever goes
away when a deploy replaces the placement.
Two claims in CLAUDE.md were wrong as a result, and both were cost claims:
- "That cost ~$28/month for weeks" implied the drain fix ended it. Billing says
the instance ran at 100% of a 4 GiB day on EVERY full day from 2026-07-20
through 2026-08-03 (95.3 - 99.0 GiB-hours/day against the 96.0 a 4 GiB
instance bills for 24h), including the five days after that fix deployed on
2026-07-29. The bill was still being paid; the 2026-08-03 downsize to `basic`
cut it ~4x rather than ending it. The drain guard stays - the hazard is real -
but it was never the load-bearing cause.
- The disk-to-memory ratios "2.0" and "4.0" are dashboard units. Queried in
bytes, which is what the GraphQL dataset returns, they read 1.86 and 3.73.
Adds the SIGTERM cause and the backfill trap as their own bullets, so the next
person reading absence-of-bucket as sleep has the rule in front of them.
Measured via the `containersUsageAdaptiveGroups` and `workersInvocationsAdaptive`
GraphQL datasets on account 3e467e5d..., 2026-08-05.
NOT a behaviour change: the fix itself is 343df53, already on main and NOT yet
deployed. Production still runs worker version 2e67470f and container app
version 3 (image sha256:16205eda..., updated 2026-08-03T21:24:01Z), both of
which predate the handler.
Verified: pnpm run verify green, exit 0 - 1588 app tests passed / 3 skipped,
13 worker, 4 container (including "exits promptly on SIGTERM"), 0 warnings.
Claude-Session: https://claude.ai/code/session_01QZvNS2H4cbaZk46ybA7hbj
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent d3248f9 commit 901e832
1 file changed
Lines changed: 37 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
758 | 758 | | |
759 | 759 | | |
760 | 760 | | |
761 | | - | |
762 | | - | |
763 | | - | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
764 | 784 | | |
765 | 785 | | |
766 | 786 | | |
767 | 787 | | |
768 | 788 | | |
769 | | - | |
770 | | - | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
771 | 803 | | |
772 | 804 | | |
773 | 805 | | |
| |||
0 commit comments