Skip to content

Queues and crons

handleWebhook, astroidQueueHandler, astroidUsesQueues, astroidQueueNames, affectsCatalog.

astroidCrons(config) returns every cron expression the project needs—ASTROID_HEALTH_CRON (daily, always) plus astroidCron(config) (the hourly catalog re-sync, commerce only). Cloudflare fires one scheduled handler for all triggers and identifies which by controller.cron, so wrangler.jsonc’s list and the handler’s dispatch must agree exactly—a string in one and not the other is a job that silently never runs. Both derive from this function for that reason.

handleWebhook verifies the HMAC over the raw body before anything parses it—parse first and an unauthenticated caller reaches the JSON parser and everything downstream. It then enqueues and returns, so the response doesn’t wait on the work.