⛅️ wrangler 4.74.0 (update available 4.75.0) ───────────────────────────────────────────── Using secrets defined in ../../.devenv/state/tmp/cultroll-scraper-local.7BR2MX.env Your Worker has access to the following bindings: Binding Resource Mode env.SCRAPER_QUEUE (cultroll-jobs) Queue local env.DB (cultroll-db) D1 Database local env.SCRAPER_ADMIN_TOKEN ("(hidden)") Environment Variable local env.TMDB_API_KEY ("(hidden)") Environment Variable local ⎔ Starting local server... ▲ [WARNING] Scheduled Workers are not automatically triggered during local development. To manually trigger a scheduled event, run: curl "http://127.0.0.1:8787/cdn-cgi/handler/scheduled" For more details, see https://developers.cloudflare.com/workers/configuration/cron-triggers/#test-cron-triggers-locally [wrangler:info] Ready on http://0.0.0.0:8787 [wrangler:info] - http://127.0.0.1:8787 [wrangler:info] - http://88.99.145.164:8787 [wrangler:info] - http://100.115.133.122:8787 [wrangler:info] - http://172.17.0.1:8787 [wrangler:info] GET /health 200 OK (13ms) [wrangler:info] GET /status 200 OK (37ms) cinemall: 24 titles, 98 showtimes [wrangler:info] POST /run 200 OK (30257ms) empire-cinemas: 15 titles, 121 showtimes [wrangler:info] POST /run 200 OK (5485ms) ✘ [ERROR] Grand Cinemas: failed scraping grand-city-mall-amman: Error: Network connection lost. at null. (async file:///home/mnm/cultroll/.devenv/state/wrangler/workspaces/scraper/tmp/dev-M5qvMG/index.js:3727:14) at async fetchWithTimeout (file:///home/mnm/cultroll/functions/cultroll-scraper/utils/http.ts:44:12) at async fetchAjax (file:///home/mnm/cultroll/functions/cultroll-scraper/chains/grand-cinemas.ts:177:16) at async scrapeGrandCinemas (file:///home/mnm/cultroll/functions/cultroll-scraper/chains/grand-cinemas.ts:95:29) at async Object.run (file:///home/mnm/cultroll/functions/cultroll-scraper/adapters/grand-cinemas.ts:13:20) at async withRateLimitedFetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:833:12) at async runSourceTarget (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:593:18) at async Object.fetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:217:26) at async jsonError (file:///home/mnm/cultroll/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts:22:10) at async drainBody (file:///home/mnm/cultroll/node_modules/wrangler/templates/middleware/middleware-ensure-req-body-drained.ts:5:10) { remote: true, retryable: true } grand-cinemas: 0 titles, 0 showtimes [wrangler:info] POST /run 200 OK (411ms) ✘ [ERROR] Grand Cinemas: failed scraping grand-abc-achrafieh: Error: Network connection lost. at null. (async file:///home/mnm/cultroll/.devenv/state/wrangler/workspaces/scraper/tmp/dev-M5qvMG/index.js:3727:14) at async fetchWithTimeout (file:///home/mnm/cultroll/functions/cultroll-scraper/utils/http.ts:44:12) at async fetchAjax (file:///home/mnm/cultroll/functions/cultroll-scraper/chains/grand-cinemas.ts:177:16) at async scrapeGrandCinemas (file:///home/mnm/cultroll/functions/cultroll-scraper/chains/grand-cinemas.ts:95:29) at async Object.run (file:///home/mnm/cultroll/functions/cultroll-scraper/adapters/grand-cinemas.ts:13:20) at async withRateLimitedFetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:833:12) at async runSourceTarget (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:593:18) at async Object.fetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:217:26) at async jsonError (file:///home/mnm/cultroll/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts:22:10) at async drainBody (file:///home/mnm/cultroll/node_modules/wrangler/templates/middleware/middleware-ensure-req-body-drained.ts:5:10) { remote: true, retryable: true } ✘ [ERROR] Grand Cinemas: failed scraping grand-abc-dbayeh: Error: Network connection lost. at null. (async file:///home/mnm/cultroll/.devenv/state/wrangler/workspaces/scraper/tmp/dev-M5qvMG/index.js:3727:14) at async fetchWithTimeout (file:///home/mnm/cultroll/functions/cultroll-scraper/utils/http.ts:44:12) at async fetchAjax (file:///home/mnm/cultroll/functions/cultroll-scraper/chains/grand-cinemas.ts:177:16) at async scrapeGrandCinemas (file:///home/mnm/cultroll/functions/cultroll-scraper/chains/grand-cinemas.ts:95:29) at async Object.run (file:///home/mnm/cultroll/functions/cultroll-scraper/adapters/grand-cinemas.ts:13:20) at async withRateLimitedFetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:833:12) at async runSourceTarget (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:593:18) at async Object.fetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:217:26) at async jsonError (file:///home/mnm/cultroll/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts:22:10) at async drainBody (file:///home/mnm/cultroll/node_modules/wrangler/templates/middleware/middleware-ensure-req-body-drained.ts:5:10) { remote: true, retryable: true } ✘ [ERROR] Grand Cinemas: failed scraping grand-abc-verdun: Error: Network connection lost. at null. (async file:///home/mnm/cultroll/.devenv/state/wrangler/workspaces/scraper/tmp/dev-M5qvMG/index.js:3727:14) at async fetchWithTimeout (file:///home/mnm/cultroll/functions/cultroll-scraper/utils/http.ts:44:12) at async fetchAjax (file:///home/mnm/cultroll/functions/cultroll-scraper/chains/grand-cinemas.ts:177:16) at async scrapeGrandCinemas (file:///home/mnm/cultroll/functions/cultroll-scraper/chains/grand-cinemas.ts:95:29) at async Object.run (file:///home/mnm/cultroll/functions/cultroll-scraper/adapters/grand-cinemas.ts:13:20) at async withRateLimitedFetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:833:12) at async runSourceTarget (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:593:18) at async Object.fetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:217:26) at async jsonError (file:///home/mnm/cultroll/node_modules/wrangler/templates/middleware/middleware-miniflare3-json-error.ts:22:10) at async drainBody (file:///home/mnm/cultroll/node_modules/wrangler/templates/middleware/middleware-ensure-req-body-drained.ts:5:10) { remote: true, retryable: true } grand-cinemas: 0 titles, 0 showtimes [wrangler:info] POST /run 200 OK (1062ms) taj-cinemas: 18 titles, 21 showtimes [wrangler:info] POST /run 200 OK (8395ms) ▲ [WARNING] TMDB confirmation rejected 5929b690-ffed-4d69-94b6-6204bc58a3b2: runtime mismatch ▲ [WARNING] TMDB confirmation rejected 0b523c3c-892a-47ce-84d2-2c17131d51dc: runtime mismatch ▲ [WARNING] TMDB confirmation rejected 6c4419c8-e3a1-447e-9da0-75a136273c38: runtime mismatch ▲ [WARNING] TMDB confirmation rejected 31855fcb-451d-4318-8b36-8efca603b87a: runtime mismatch ▲ [WARNING] TMDB confirmation rejected 8f53873e-5b92-4ca6-b4e7-a5ed5e70f2f3: runtime mismatch ▲ [WARNING] TMDB confirmation rejected 3183141e-7525-403b-844c-33971fdf2828: runtime mismatch ▲ [WARNING] TMDB confirmation rejected 1ee26793-abfe-49fb-9f32-23d512b2982d: runtime mismatch ▲ [WARNING] TMDB confirmation rejected 9b7544b4-5104-4fe6-a0e1-5463c270a6c9: runtime mismatch ▲ [WARNING] TMDB confirmation rejected 64ec6a90-6104-4233-b0b3-2be7210bf35a: runtime mismatch ✘ [ERROR] TMDB enrichment failed for ff8c132f-d53e-4ab2-b59c-70ea452370db: Error: D1_ERROR: UNIQUE constraint failed: titles.tmdb_id: SQLITE_CONSTRAINT at D1DatabaseSessionAlwaysPrimary._sendOrThrow (cloudflare-internal:d1-api:139:19) at null. (async cloudflare-internal:d1-api:353:41) ... 7 lines matching cause stack trace ... at async withRateLimitedFetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:833:12) { [cause]: Error: UNIQUE constraint failed: titles.tmdb_id: SQLITE_CONSTRAINT at D1DatabaseSessionAlwaysPrimary._sendOrThrow (cloudflare-internal:d1-api:140:24) at null. (async cloudflare-internal:d1-api:353:41) at async enrichTitle (file:///home/mnm/cultroll/functions/cultroll-scraper/enricher/tmdb.ts:337:3) at null. (async file:///home/mnm/cultroll/.devenv/state/wrangler/workspaces/scraper/tmp/dev-M5qvMG/index.js:2319:16) at async worker (file:///home/mnm/cultroll/functions/cultroll-scraper/utils/concurrency.ts:17:31) at [object Object] at async mapWithConcurrency (file:///home/mnm/cultroll/functions/cultroll-scraper/utils/concurrency.ts:21:3) at async enrichMovies (file:///home/mnm/cultroll/functions/cultroll-scraper/enricher/tmdb.ts:224:20) at async Object.run (file:///home/mnm/cultroll/functions/cultroll-scraper/adapters/tmdb-enricher.ts:30:20) at async withRateLimitedFetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:833:12) } ✘ [ERROR] TMDB enrichment failed for 8adc805c-d4e2-412c-9cd2-cbb40dd9a9e9: Error: D1_ERROR: UNIQUE constraint failed: titles.tmdb_id: SQLITE_CONSTRAINT at D1DatabaseSessionAlwaysPrimary._sendOrThrow (cloudflare-internal:d1-api:139:19) at null. (async cloudflare-internal:d1-api:353:41) ... 7 lines matching cause stack trace ... at async withRateLimitedFetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:833:12) { [cause]: Error: UNIQUE constraint failed: titles.tmdb_id: SQLITE_CONSTRAINT at D1DatabaseSessionAlwaysPrimary._sendOrThrow (cloudflare-internal:d1-api:140:24) at null. (async cloudflare-internal:d1-api:353:41) at async enrichTitle (file:///home/mnm/cultroll/functions/cultroll-scraper/enricher/tmdb.ts:337:3) at null. (async file:///home/mnm/cultroll/.devenv/state/wrangler/workspaces/scraper/tmp/dev-M5qvMG/index.js:2319:16) at async worker (file:///home/mnm/cultroll/functions/cultroll-scraper/utils/concurrency.ts:17:31) at [object Object] at async mapWithConcurrency (file:///home/mnm/cultroll/functions/cultroll-scraper/utils/concurrency.ts:21:3) at async enrichMovies (file:///home/mnm/cultroll/functions/cultroll-scraper/enricher/tmdb.ts:224:20) at async Object.run (file:///home/mnm/cultroll/functions/cultroll-scraper/adapters/tmdb-enricher.ts:30:20) at async withRateLimitedFetch (file:///home/mnm/cultroll/functions/cultroll-scraper/index.ts:833:12) } ▲ [WARNING] TMDB confirmation rejected 70a42309-06df-437a-be92-6e0deb54bdd2: runtime mismatch [wrangler:info] POST /run 200 OK (42877ms) [wrangler:info] POST /run 200 OK (7ms) dedup-tmdb:✘ [ERROR] Build failed with 2 errors: ✘ [ERROR] Could not resolve "/home/mnm/cultroll/node_modules/wrangler/templates/modules-watch-stub.js" ✘ [ERROR] Build failed with 2 errors: ✘ [ERROR] Could not resolve "/home/mnm/cultroll/node_m🪵 Logs were written to "/home/mnm/.config/.wrangler/logs/wrangler-2026-03-17_10-25-37_256.log" m] Could not resolve "/home/mnm/cultroll/functions/cultroll-scraper/.wrangler/tmp/bundle-tZEb5c/middleware-loader.entry.ts" 🪵 Logs were written to "/home/mnm/.config/.wrangler/logs/wrangler-2026-03-17_13-39-35_443.log"