{"generated_at":"2026-06-17T07:09:48.402127","law_review":{"access_status":"unknown","base_url":null,"canonical_name":"University of Toronto Law Journal","error_details":"No activity for 999 days","failure_reason":"CLOUDFLARE: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","health_status":"CLOUDFLARE","id":334,"last_attempt_date":"2026-06-01T21:18:50+00:00","last_performance_check":"2025-07-22 17:15:54","last_success_date":"2026-06-01T21:18:50+00:00","last_updated":null,"name":"University of Toronto Law Journal","performance_category":"zero","rank":334,"scraper_name":"university_of_toronto_law_journal_scraper.py","scraper_status":"broken_scraper","total_downloads":0,"total_size_gb":0.0},"law_review_id":334,"runs":[{"duplicates_skipped":0,"duration_seconds":0.12770740099949762,"error_category":"no_items_reason","error_message":"CLOUDFLARE: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"automation_cycle_id":1577,"canonical_name":"University of Toronto Law Journal","child_pid":211425,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-06-01T21:18:49+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-06-01T21:18:49+00:00","run_kind":"scheduled_active","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1780348729_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1780348729_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":45},"extra_json":"{\"automation_cycle_id\": 1577, \"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 211425, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-06-01T21:18:49+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-06-01T21:18:49+00:00\", \"run_kind\": \"scheduled_active\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1780348729_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1780348729_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 45}","id":4904,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-06-01T21:18:50+00:00","run_start":"2026-06-01T21:18:49+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/4904/logs/stderr","stdout_log_url":"/api/scraper-runs/4904/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.16157735400338424,"error_category":"no_items_reason","error_message":"CLOUDFLARE: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"automation_cycle_id":1564,"canonical_name":"University of Toronto Law Journal","child_pid":160179,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-06-01T19:50:41+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-06-01T19:50:41+00:00","run_kind":"scheduled_active","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1780343441_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1780343441_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":45},"extra_json":"{\"automation_cycle_id\": 1564, \"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 160179, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-06-01T19:50:41+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-06-01T19:50:41+00:00\", \"run_kind\": \"scheduled_active\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1780343441_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1780343441_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 45}","id":4777,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-06-01T19:50:42+00:00","run_start":"2026-06-01T19:50:41+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/4777/logs/stderr","stdout_log_url":"/api/scraper-runs/4777/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.5531120370142162,"error_category":"no_items_reason","error_message":"CLOUDFLARE: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"automation_cycle_id":652,"canonical_name":"University of Toronto Law Journal","child_pid":1160457,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-05-01T23:01:14+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-05-01T23:01:14+00:00","run_kind":"scheduled_active","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1777676474_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1777676474_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":45},"extra_json":"{\"automation_cycle_id\": 652, \"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 1160457, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-05-01T23:01:14+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-05-01T23:01:14+00:00\", \"run_kind\": \"scheduled_active\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1777676474_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1777676474_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 45}","id":4101,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-05-01T23:01:14+00:00","run_start":"2026-05-01T23:01:14+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/4101/logs/stderr","stdout_log_url":"/api/scraper-runs/4101/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.2614381997846067,"error_category":"no_items_reason","error_message":"CLOUDFLARE: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":2953079,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-03-13T05:28:56+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-03-13T05:28:56+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1773379736_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1773379736_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":45},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 2953079, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-03-13T05:28:56+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-03-13T05:28:56+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1773379736_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1773379736_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 45}","id":3367,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-03-13T05:28:56+00:00","run_start":"2026-03-13T05:28:56+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/3367/logs/stderr","stdout_log_url":"/api/scraper-runs/3367/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":2.0066638779826462,"error_category":"no_items_reason","error_message":"Error fetching/parsing UTLJ archive (https://utpjournals.press/loi/utlj): ClientConnectorError: Cannot connect to host utpjournals.press:443 ssl:default [Temporary failure in name resolution]. The configured host may be invalid, Cloudflare-protected, or access-restricted.","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":3211400,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-11T04:41:23+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-11T04:41:23+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770784883_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770784883_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":4},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 3211400, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-11T04:41:23+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-11T04:41:23+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770784883_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770784883_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 4}","id":2184,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-11T04:41:25+00:00","run_start":"2026-02-11T04:41:23+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/2184/logs/stderr","stdout_log_url":"/api/scraper-runs/2184/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.22899978805799037,"error_category":"no_items_reason","error_message":"CLOUDFLARE: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","file_path":"scrapers/university_of_toronto_law_journal_scraper.py","orchestrator":"dashboard","orchestrator_started_at":"2026-02-10T20:58:53.068789","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/dashboard_runs/1770757133_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/dashboard_runs/1770757133_UniversityOfTorontoLawJournalScraper.out.log"},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"orchestrator\": \"dashboard\", \"orchestrator_started_at\": \"2026-02-10T20:58:53.068789\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/dashboard_runs/1770757133_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/dashboard_runs/1770757133_UniversityOfTorontoLawJournalScraper.out.log\"}","id":2042,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-10T20:58:53+00:00","run_start":"2026-02-10T20:58:53+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/2042/logs/stderr","stdout_log_url":"/api/scraper-runs/2042/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.22528667305596173,"error_category":"no_items_reason","error_message":"protected: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":2149197,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-09T04:00:57+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-09T04:00:57+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770609657_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770609657_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":5},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 2149197, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-09T04:00:57+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-09T04:00:57+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770609657_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770609657_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 5}","id":1857,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-09T04:00:57+00:00","run_start":"2026-02-09T04:00:57+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1857/logs/stderr","stdout_log_url":"/api/scraper-runs/1857/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.0031419750303030014,"error_category":"no_items_reason","error_message":"discover_urls returned 0 items (base_url=https://www.utlj.com); scraper did not set `_no_items_reason`","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":2131850,"file_path":"scrapers/university_of_toronto_law_journal_scraper_light.py","heartbeat_at":"2026-02-09T03:51:43+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-09T03:51:43+00:00","scraper_id":"UniversityOfTorontoLawJournalLightScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper_light.py","stderr_path":"logs/orchestrator_runs/1770609103_UniversityOfTorontoLawJournalLightScraper.err.log","stdout_path":"logs/orchestrator_runs/1770609103_UniversityOfTorontoLawJournalLightScraper.out.log","timeout_minutes":5},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 2131850, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper_light.py\", \"heartbeat_at\": \"2026-02-09T03:51:43+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-09T03:51:43+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalLightScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper_light.py\", \"stderr_path\": \"logs/orchestrator_runs/1770609103_UniversityOfTorontoLawJournalLightScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770609103_UniversityOfTorontoLawJournalLightScraper.out.log\", \"timeout_minutes\": 5}","id":1856,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-09T03:51:43+00:00","run_start":"2026-02-09T03:51:43+00:00","scraper_name":"UniversityOfTorontoLawJournalLightScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1856/logs/stderr","stdout_log_url":"/api/scraper-runs/1856/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.2208969640196301,"error_category":"no_items_reason","error_message":"protected: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":1929914,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-07T12:51:28+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T12:51:28+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770468688_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770468688_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":3},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 1929914, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-07T12:51:28+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T12:51:28+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770468688_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770468688_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 3}","id":1466,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-07T12:51:29+00:00","run_start":"2026-02-07T12:51:28+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1466/logs/stderr","stdout_log_url":"/api/scraper-runs/1466/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.33818239701213315,"error_category":"no_items_reason","error_message":"Error fetching/parsing UTLJ archive (https://www.utlj.com/archives): ClientConnectorCertificateError: Cannot connect to host www.utlj.com:443 ssl:True [SSLCertVerificationError: (1, \"[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'www.utlj.com'. (_ssl.c:1006)\")]. The configured host may be invalid or access-restricted.","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":1878525,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-07T12:25:28+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T12:25:28+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770467128_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770467128_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":3},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 1878525, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-07T12:25:28+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T12:25:28+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770467128_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770467128_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 3}","id":1453,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-07T12:25:29+00:00","run_start":"2026-02-07T12:25:28+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1453/logs/stderr","stdout_log_url":"/api/scraper-runs/1453/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.004372737021185458,"error_category":"no_items_reason","error_message":"Error fetching/parsing UTLJ archive (https://www.utlj.com/archives): AttributeError: 'UniversityOfTorontoLawJournalScraper' object has no attribute 'headers'. The configured host may be invalid or access-restricted.","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":1871130,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-07T12:22:04+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T12:22:04+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770466924_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770466924_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":4},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 1871130, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-07T12:22:04+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T12:22:04+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770466924_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770466924_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 4}","id":1451,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-07T12:22:04+00:00","run_start":"2026-02-07T12:22:04+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1451/logs/stderr","stdout_log_url":"/api/scraper-runs/1451/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.0036122489836998284,"error_category":"no_items_reason","error_message":"Error fetching/parsing UTLJ archive (https://www.utlj.com/archives): AttributeError: 'UniversityOfTorontoLawJournalScraper' object has no attribute 'headers'. The configured host may be invalid or access-restricted.","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":1866932,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-07T12:19:55+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T12:19:55+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770466795_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770466795_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":30},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 1866932, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-07T12:19:55+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T12:19:55+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770466795_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770466795_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 30}","id":1444,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-07T12:19:55+00:00","run_start":"2026-02-07T12:19:55+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1444/logs/stderr","stdout_log_url":"/api/scraper-runs/1444/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.0043825479806400836,"error_category":"no_items_reason","error_message":"discover_items returned 0 items (base_url=https://www.utlj.com); scraper did not set `_no_items_reason`","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":4005233,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-06T18:13:50+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-06T18:13:50+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770401630_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770401630_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":15},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 4005233, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-06T18:13:50+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-06T18:13:50+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770401630_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770401630_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 15}","id":948,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-06T18:13:51+00:00","run_start":"2026-02-06T18:13:50+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/948/logs/stderr","stdout_log_url":"/api/scraper-runs/948/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.003725769987795502,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":3990506,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-06T18:05:11+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-06T18:05:11+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770401111_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770401111_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":15},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 3990506, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-06T18:05:11+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-06T18:05:11+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770401111_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770401111_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 15}","id":946,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-06T18:05:11+00:00","run_start":"2026-02-06T18:05:11+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/946/logs/stderr","stdout_log_url":"/api/scraper-runs/946/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.01089547947049141,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","file_path":"scrapers/university_of_toronto_law_journal_scraper.py","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-01-22T13:24:17+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1769088257_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1769088257_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":45},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-01-22T13:24:17+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1769088257_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1769088257_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 45}","id":460,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-01-22T13:24:17+00:00","run_start":"2026-01-22T13:24:17+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/460/logs/stderr","stdout_log_url":"/api/scraper-runs/460/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.005881309509277344,"error_category":null,"error_message":"No new content found (all duplicates)","error_traceback":null,"errors":0,"extra":null,"extra_json":null,"id":92,"items_discovered":null,"items_processed":null,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2025-12-23T00:24:23.046285","run_start":"2025-12-23T00:24:23.040403","scraper_name":"university_of_toronto_law_journal","status":"no_new_content"}],"runs_by_scraper_id":[{"duplicates_skipped":0,"duration_seconds":0.12770740099949762,"error_category":"no_items_reason","error_message":"CLOUDFLARE: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"automation_cycle_id":1577,"canonical_name":"University of Toronto Law Journal","child_pid":211425,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-06-01T21:18:49+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-06-01T21:18:49+00:00","run_kind":"scheduled_active","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1780348729_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1780348729_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":45},"extra_json":"{\"automation_cycle_id\": 1577, \"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 211425, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-06-01T21:18:49+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-06-01T21:18:49+00:00\", \"run_kind\": \"scheduled_active\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1780348729_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1780348729_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 45}","id":4904,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-06-01T21:18:50+00:00","run_start":"2026-06-01T21:18:49+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/4904/logs/stderr","stdout_log_url":"/api/scraper-runs/4904/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.16157735400338424,"error_category":"no_items_reason","error_message":"CLOUDFLARE: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"automation_cycle_id":1564,"canonical_name":"University of Toronto Law Journal","child_pid":160179,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-06-01T19:50:41+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-06-01T19:50:41+00:00","run_kind":"scheduled_active","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1780343441_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1780343441_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":45},"extra_json":"{\"automation_cycle_id\": 1564, \"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 160179, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-06-01T19:50:41+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-06-01T19:50:41+00:00\", \"run_kind\": \"scheduled_active\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1780343441_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1780343441_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 45}","id":4777,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-06-01T19:50:42+00:00","run_start":"2026-06-01T19:50:41+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/4777/logs/stderr","stdout_log_url":"/api/scraper-runs/4777/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.5531120370142162,"error_category":"no_items_reason","error_message":"CLOUDFLARE: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"automation_cycle_id":652,"canonical_name":"University of Toronto Law Journal","child_pid":1160457,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-05-01T23:01:14+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-05-01T23:01:14+00:00","run_kind":"scheduled_active","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1777676474_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1777676474_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":45},"extra_json":"{\"automation_cycle_id\": 652, \"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 1160457, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-05-01T23:01:14+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-05-01T23:01:14+00:00\", \"run_kind\": \"scheduled_active\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1777676474_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1777676474_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 45}","id":4101,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-05-01T23:01:14+00:00","run_start":"2026-05-01T23:01:14+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/4101/logs/stderr","stdout_log_url":"/api/scraper-runs/4101/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.2614381997846067,"error_category":"no_items_reason","error_message":"CLOUDFLARE: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":2953079,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-03-13T05:28:56+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-03-13T05:28:56+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1773379736_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1773379736_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":45},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 2953079, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-03-13T05:28:56+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-03-13T05:28:56+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1773379736_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1773379736_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 45}","id":3367,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-03-13T05:28:56+00:00","run_start":"2026-03-13T05:28:56+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/3367/logs/stderr","stdout_log_url":"/api/scraper-runs/3367/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":2.0066638779826462,"error_category":"no_items_reason","error_message":"Error fetching/parsing UTLJ archive (https://utpjournals.press/loi/utlj): ClientConnectorError: Cannot connect to host utpjournals.press:443 ssl:default [Temporary failure in name resolution]. The configured host may be invalid, Cloudflare-protected, or access-restricted.","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":3211400,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-11T04:41:23+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-11T04:41:23+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770784883_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770784883_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":4},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 3211400, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-11T04:41:23+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-11T04:41:23+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770784883_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770784883_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 4}","id":2184,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-11T04:41:25+00:00","run_start":"2026-02-11T04:41:23+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/2184/logs/stderr","stdout_log_url":"/api/scraper-runs/2184/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.22899978805799037,"error_category":"no_items_reason","error_message":"CLOUDFLARE: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","file_path":"scrapers/university_of_toronto_law_journal_scraper.py","orchestrator":"dashboard","orchestrator_started_at":"2026-02-10T20:58:53.068789","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/dashboard_runs/1770757133_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/dashboard_runs/1770757133_UniversityOfTorontoLawJournalScraper.out.log"},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"orchestrator\": \"dashboard\", \"orchestrator_started_at\": \"2026-02-10T20:58:53.068789\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/dashboard_runs/1770757133_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/dashboard_runs/1770757133_UniversityOfTorontoLawJournalScraper.out.log\"}","id":2042,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-10T20:58:53+00:00","run_start":"2026-02-10T20:58:53+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/2042/logs/stderr","stdout_log_url":"/api/scraper-runs/2042/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.22528667305596173,"error_category":"no_items_reason","error_message":"protected: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":2149197,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-09T04:00:57+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-09T04:00:57+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770609657_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770609657_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":5},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 2149197, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-09T04:00:57+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-09T04:00:57+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770609657_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770609657_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 5}","id":1857,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-09T04:00:57+00:00","run_start":"2026-02-09T04:00:57+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1857/logs/stderr","stdout_log_url":"/api/scraper-runs/1857/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.2208969640196301,"error_category":"no_items_reason","error_message":"protected: Cloudflare challenge blocked automated access (HTTP 403) at https://utpjournals.press/loi/utlj","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":1929914,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-07T12:51:28+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T12:51:28+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770468688_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770468688_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":3},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 1929914, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-07T12:51:28+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T12:51:28+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770468688_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770468688_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 3}","id":1466,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-07T12:51:29+00:00","run_start":"2026-02-07T12:51:28+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1466/logs/stderr","stdout_log_url":"/api/scraper-runs/1466/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.33818239701213315,"error_category":"no_items_reason","error_message":"Error fetching/parsing UTLJ archive (https://www.utlj.com/archives): ClientConnectorCertificateError: Cannot connect to host www.utlj.com:443 ssl:True [SSLCertVerificationError: (1, \"[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'www.utlj.com'. (_ssl.c:1006)\")]. The configured host may be invalid or access-restricted.","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":1878525,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-07T12:25:28+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T12:25:28+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770467128_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770467128_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":3},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 1878525, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-07T12:25:28+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T12:25:28+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770467128_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770467128_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 3}","id":1453,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-07T12:25:29+00:00","run_start":"2026-02-07T12:25:28+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1453/logs/stderr","stdout_log_url":"/api/scraper-runs/1453/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.004372737021185458,"error_category":"no_items_reason","error_message":"Error fetching/parsing UTLJ archive (https://www.utlj.com/archives): AttributeError: 'UniversityOfTorontoLawJournalScraper' object has no attribute 'headers'. The configured host may be invalid or access-restricted.","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":1871130,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-07T12:22:04+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T12:22:04+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770466924_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770466924_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":4},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 1871130, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-07T12:22:04+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T12:22:04+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770466924_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770466924_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 4}","id":1451,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-07T12:22:04+00:00","run_start":"2026-02-07T12:22:04+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1451/logs/stderr","stdout_log_url":"/api/scraper-runs/1451/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.0036122489836998284,"error_category":"no_items_reason","error_message":"Error fetching/parsing UTLJ archive (https://www.utlj.com/archives): AttributeError: 'UniversityOfTorontoLawJournalScraper' object has no attribute 'headers'. The configured host may be invalid or access-restricted.","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":1866932,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-07T12:19:55+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T12:19:55+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770466795_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770466795_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":30},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 1866932, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-07T12:19:55+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T12:19:55+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770466795_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770466795_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 30}","id":1444,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-07T12:19:55+00:00","run_start":"2026-02-07T12:19:55+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1444/logs/stderr","stdout_log_url":"/api/scraper-runs/1444/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.0043825479806400836,"error_category":"no_items_reason","error_message":"discover_items returned 0 items (base_url=https://www.utlj.com); scraper did not set `_no_items_reason`","error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":4005233,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-06T18:13:50+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-06T18:13:50+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770401630_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770401630_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":15},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 4005233, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-06T18:13:50+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-06T18:13:50+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770401630_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770401630_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 15}","id":948,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-06T18:13:51+00:00","run_start":"2026-02-06T18:13:50+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/948/logs/stderr","stdout_log_url":"/api/scraper-runs/948/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.003725769987795502,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","child_pid":3990506,"file_path":"scrapers/university_of_toronto_law_journal_scraper.py","heartbeat_at":"2026-02-06T18:05:11+00:00","heartbeat_source":"orchestrator","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-06T18:05:11+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1770401111_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1770401111_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":15},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"child_pid\": 3990506, \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"heartbeat_at\": \"2026-02-06T18:05:11+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-06T18:05:11+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770401111_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770401111_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 15}","id":946,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-02-06T18:05:11+00:00","run_start":"2026-02-06T18:05:11+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/946/logs/stderr","stdout_log_url":"/api/scraper-runs/946/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.01089547947049141,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"canonical_name":"University of Toronto Law Journal","file_path":"scrapers/university_of_toronto_law_journal_scraper.py","law_review_id":334,"orchestrator":"lrscraper","orchestrator_started_at":"2026-01-22T13:24:17+00:00","scraper_id":"UniversityOfTorontoLawJournalScraper","script_path":"scrapers/university_of_toronto_law_journal_scraper.py","stderr_path":"logs/orchestrator_runs/1769088257_UniversityOfTorontoLawJournalScraper.err.log","stdout_path":"logs/orchestrator_runs/1769088257_UniversityOfTorontoLawJournalScraper.out.log","timeout_minutes":45},"extra_json":"{\"canonical_name\": \"University of Toronto Law Journal\", \"file_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"law_review_id\": 334, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-01-22T13:24:17+00:00\", \"scraper_id\": \"UniversityOfTorontoLawJournalScraper\", \"script_path\": \"scrapers/university_of_toronto_law_journal_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1769088257_UniversityOfTorontoLawJournalScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1769088257_UniversityOfTorontoLawJournalScraper.out.log\", \"timeout_minutes\": 45}","id":460,"items_discovered":0,"items_processed":0,"law_review_id":334,"pdfs_downloaded":0,"run_end":"2026-01-22T13:24:17+00:00","run_start":"2026-01-22T13:24:17+00:00","scraper_name":"UniversityOfTorontoLawJournalScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/460/logs/stderr","stdout_log_url":"/api/scraper-runs/460/logs/stdout"}],"scraper":{"base_class":"BaseScraper","canonical_name":"University of Toronto Law Journal","class_name":"UniversityOfTorontoLawJournalScraper","discovered_at":"2026-03-30 20:11:12","file_path":"scrapers/university_of_toronto_law_journal_scraper.py","has_cli_entrypoint":1,"institution_code":"UTLJ","is_abstract":0,"module_path":"scrapers.university_of_toronto_law_journal_scraper","platform":null,"scraper_id":"UniversityOfTorontoLawJournalScraper","updated_at":"2026-06-17 07:09:23"},"uploads":{"last_pending":null,"last_uploaded":null,"latest_registry_sync":null,"pending":0}}
