Juan Torres Worker usage All projects

Work · Site infrastructure

Worker usage

Everything live on this site runs through one Cloudflare Worker and its database, on Cloudflare’s free plan. This is how much of that plan they have used today and how much is left, and the last 30 days, from Cloudflare’s own analytics.

Requests today
33
Requests left
99,967
Rows read today
27,296
Rows written today
2,648
Database size
6.4 MB
CPU, typical run
8.2 ms

Today against the free plan

Today is the UTC day, Oct 30, 2026: the free plan’s daily limits reset at midnight UTC (8 PM in Michigan in summer). Past a limit, requests fail until then and the pages fall back to the copy in their HTML; nothing is ever billed. Checked Oct 29, 9 PM (Michigan time).

WhatUsedAvailableFree planShare used
Worker requests3399,967100,000 a dayunder 0.1%
Database rows read27,2964,972,7045,000,000 a day0.5%
Database rows written2,64897,352100,000 a day2.6%
Database storage, as Cloudflare counts it6.4 MB5.0 GB5.0 GB0.1%
CPU, a typical run (median)8.2 ms1.8 ms to spare10 ms a run82%
CPU, the slowest 1% of runs165 msover by 155 ms10 ms a run1650%

CPU is time spent computing, not waiting on other sites, so a run that waits half a minute for USDA still uses a few milliseconds. The 10 ms is per run. Cloudflare stops a run that uses too much, and a stopped run counts as an error: 0 errors in the last 30 days, though the slowest runs go past 10 ms.

The busiest day of the last 30 was Oct 29, 2026, with 4,246 requests (4.2% of the daily limit).

The last 30 days

Download every day on record (CSV)

Cloudflare keeps 30 days of these figures; this site keeps its own copy of every finished day (35 so far), in that file. Requests include the scheduled runs (two an hour) as well as visitors’ pages asking for live numbers. Rows are the database’s rows read and written, which is how Cloudflare counts database use. CPU is the typical run (median) and the slowest 1% (99th percentile). Days with nothing recorded are left out.

Day (UTC)RequestsErrorsRows readRows writtenCPU, typicalCPU, slowest 1%
Fri, Oct 3033027,2962,6488.2 ms165 ms
Thu, Oct 294,24601,813,13859,5519.6 ms116 ms
Wed, Oct 281,92501,734,44028,4826.7 ms167 ms
Tue, Oct 273,0040573,09433,3744.5 ms95 ms
Mon, Oct 266490160,8322,2433.6 ms22 ms
Sun, Oct 25202045,3892,1498.8 ms21 ms
Sat, Oct 241,5620288,49011,2337.5 ms22 ms
Fri, Oct 237820137,7172,4927.6 ms31 ms
Thu, Oct 221,0250141,8886,9757.6 ms28 ms
Wed, Oct 211820111,6402,3384.1 ms24 ms
Tue, Oct 202310126,7631,4484.3 ms22 ms
Mon, Oct 19360086,68810,0412.3 ms18 ms
Sun, Oct 184640302,62514,0702.8 ms15 ms
Sat, Oct 17898079,36414,2073.1 ms19 ms
Fri, Oct 16169018,8084,7292.4 ms31 ms
Thu, Oct 15877020,9484,9721.9 ms14 ms
Wed, Oct 1457066183.5 ms12 ms
Tue, Oct 131701031.7 ms14 ms
Sat, Oct 1060312.3 ms9.4 ms
Thu, Oct 84702352.8 ms13 ms
Wed, Oct 72801961.7 ms18 ms
Tue, Oct 6150622.6 ms11 ms
Mon, Oct 51301022.0 ms8.9 ms
Fri, Oct 240311.1 ms7.3 ms
Thu, Oct 172056171.9 ms13 ms

What runs, and when

Most of the Worker’s requests are its own schedule, not visitors. Times are UTC unless noted.

JobWhenWhy then
Border waits from CBPevery 30 minutes, at :17 and :47Crossings post about hourly, at different minutes, and CBP keeps no history, so each reading has to be caught.
Beef and pork reports from USDAweekdays 1:30–6 PM Central until the day’s report is in; 6–8 AM Central for correctionsThe only hours USDA posts or corrects them.
YouTube numbersevery 3 hoursA small channel’s numbers barely move in an hour.
Rebuilding the pages11:47 every day; when a new beef and pork report is stored; and on “Update now”, at most once an hourThe pages carry a copy of the data, so they’re rebuilt when it changes.
This page’s figuresevery hour, at :47Cloudflare’s analytics lag a few minutes; hourly is plenty.

How it works

Checked Oct 29, 9 PM (Michigan time)

Cloudflare counts every request a Worker answers and every row its database reads or writes, and publishes those counts through its GraphQL Analytics API. Once an hour the Worker asks for the last 30 days of its account (the free plan’s limits are per account) and keeps the answer as one row in its database, so viewing this page never calls the API. A GitHub Action copies that row into this page when the site is rebuilt, and the script on the page swaps in the newer figures.

The limits shown are Cloudflare’s for the free plan: 100,000 Worker requests a day, 10 ms of CPU per run, 5 million database rows read and 100,000 written a day, and 5 GB of storage. The Worker reads its analytics with a token that can only read them. Its code is in the worker folder of this site’s repository.