X_SCRAPE_PDF_BUSY
Means
every pdf() render slot stayed busy past the queue deadline
Typical cause
more renders arrived at once than the renderer launches browsers for (maxConcurrent, default 2), and this one waited out queueTimeoutMs — each Chrome holds 150-300 MB, so the bound keeps a burst from exhausting the web role memory
Fix
pdf({ renderer: chromePdfRenderer({ maxConcurrent: 4 }) }) — only on a host with the memory for it; a caller retries after the Retry-After it was answered