{"generated_at":"2026-06-17T13:01:35.815859","law_review":{"access_status":"unknown","base_url":null,"canonical_name":"North Dakota Law Review","coverage":"Active - 106 files downloaded","csv_rank":null,"csv_status":"Unknown","days_since_last_run":15,"display_name":"North Dakota Law Review","error_details":null,"failure_reason":null,"health_color":"#28a745","health_status":"HEALTHY","id":689,"last_attempt_date":"2026-06-01T19:16:22+00:00","last_download":"2026-03-09 17:34:37","last_performance_check":"2025-07-21 11:42:28","last_success_date":"2026-06-01T19:16:22+00:00","last_updated":"2026-06-01T19:16:22+00:00","latest_run":{"duplicates_skipped":96,"duration_seconds":2.1177875840003253,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"automation_cycle_id":1550,"canonical_name":"North Dakota Law Review","child_pid":136900,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-06-01T19:16:20+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-06-01T19:16:20+00:00","run_kind":"scheduled_active","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.out.log","timeout_minutes":45},"extra_json":"{\"automation_cycle_id\": 1550, \"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 136900, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-06-01T19:16:20+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-06-01T19:16:20+00:00\", \"run_kind\": \"scheduled_active\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 45}","id":4652,"items_discovered":96,"items_processed":96,"law_review_id":689,"pdfs_downloaded":0,"run_end":"2026-06-01T19:16:22+00:00","run_start":"2026-06-01T19:16:20+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"no_new_content","stderr_log_url":"/api/scraper-runs/4652/logs/stderr","stdout_log_url":"/api/scraper-runs/4652/logs/stdout"},"name":"North Dakota Law Review","performance_category":"unknown","rank":null,"recommendations":["Maintain current performance"],"scraper_name":"north_dakota_law_review_scraper.py","scraper_status":"unknown","status":"healthy","total_downloads":106,"total_size_gb":0.0},"preferred_scraper_id":"NorthDakotaLawReviewScraper","runs":[{"duplicates_skipped":96,"duration_seconds":2.1177875840003253,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"automation_cycle_id":1550,"canonical_name":"North Dakota Law Review","child_pid":136900,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-06-01T19:16:20+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-06-01T19:16:20+00:00","run_kind":"scheduled_active","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.out.log","timeout_minutes":45},"extra_json":"{\"automation_cycle_id\": 1550, \"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 136900, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-06-01T19:16:20+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-06-01T19:16:20+00:00\", \"run_kind\": \"scheduled_active\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 45}","id":4652,"items_discovered":96,"items_processed":96,"law_review_id":689,"pdfs_downloaded":0,"run_end":"2026-06-01T19:16:22+00:00","run_start":"2026-06-01T19:16:20+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"no_new_content","stderr_log_url":"/api/scraper-runs/4652/logs/stderr","stdout_log_url":"/api/scraper-runs/4652/logs/stdout"},{"duplicates_skipped":96,"duration_seconds":2.2791098719462752,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"automation_cycle_id":638,"canonical_name":"North Dakota Law Review","child_pid":1115737,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-05-01T22:16:27+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-05-01T22:16:27+00:00","run_kind":"scheduled_active","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1777673787_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1777673787_NorthDakotaLawReviewScraper.out.log","timeout_minutes":45},"extra_json":"{\"automation_cycle_id\": 638, \"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 1115737, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-05-01T22:16:27+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-05-01T22:16:27+00:00\", \"run_kind\": \"scheduled_active\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1777673787_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1777673787_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 45}","id":3978,"items_discovered":96,"items_processed":96,"law_review_id":689,"pdfs_downloaded":0,"run_end":"2026-05-01T22:16:29+00:00","run_start":"2026-05-01T22:16:27+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"no_new_content","stderr_log_url":"/api/scraper-runs/3978/logs/stderr","stdout_log_url":"/api/scraper-runs/3978/logs/stdout"},{"duplicates_skipped":5,"duration_seconds":129.77419838588685,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"canonical_name":"North Dakota Law Review","child_pid":3869277,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-03-09T17:34:27+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-03-09T17:32:27+00:00","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1773077547_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1773077547_NorthDakotaLawReviewScraper.out.log","timeout_minutes":45},"extra_json":"{\"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 3869277, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-03-09T17:34:27+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-03-09T17:32:27+00:00\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1773077547_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1773077547_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 45}","id":3161,"items_discovered":96,"items_processed":96,"law_review_id":689,"pdfs_downloaded":91,"run_end":"2026-03-09T17:34:37+00:00","run_start":"2026-03-09T17:32:27+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"success","stderr_log_url":"/api/scraper-runs/3161/logs/stderr","stdout_log_url":"/api/scraper-runs/3161/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":3.8779360410408117,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"canonical_name":"North Dakota Law Review","child_pid":2440553,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-02-07T17:27:24+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T17:27:24+00:00","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1770485244_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1770485244_NorthDakotaLawReviewScraper.out.log","timeout_minutes":30},"extra_json":"{\"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 2440553, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-02-07T17:27:24+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T17:27:24+00:00\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770485244_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770485244_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 30}","id":1483,"items_discovered":5,"items_processed":5,"law_review_id":689,"pdfs_downloaded":5,"run_end":"2026-02-07T17:27:28+00:00","run_start":"2026-02-07T17:27:24+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"success","stderr_log_url":"/api/scraper-runs/1483/logs/stderr","stdout_log_url":"/api/scraper-runs/1483/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.3861902199569158,"error_category":"no_items_reason","error_message":"No issue links found on archive page: https://law.und.edu/law-review/archive.html","error_traceback":null,"errors":0,"extra":{"canonical_name":"North Dakota Law Review","child_pid":2439559,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-02-07T17:26:55+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T17:26:55+00:00","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1770485215_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1770485215_NorthDakotaLawReviewScraper.out.log","timeout_minutes":30},"extra_json":"{\"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 2439559, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-02-07T17:26:55+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T17:26:55+00:00\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770485215_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770485215_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 30}","id":1482,"items_discovered":0,"items_processed":0,"law_review_id":689,"pdfs_downloaded":0,"run_end":"2026-02-07T17:26:55+00:00","run_start":"2026-02-07T17:26:55+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1482/logs/stderr","stdout_log_url":"/api/scraper-runs/1482/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.3304821120109409,"error_category":"no_items_reason","error_message":"No PDF links found on archive page: https://law.und.edu/law-review/archive.html","error_traceback":null,"errors":0,"extra":{"canonical_name":"North Dakota Law Review","child_pid":2408042,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-02-07T17:11:53+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T17:11:53+00:00","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1770484313_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1770484313_NorthDakotaLawReviewScraper.out.log","timeout_minutes":6},"extra_json":"{\"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 2408042, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-02-07T17:11:53+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T17:11:53+00:00\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770484313_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770484313_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 6}","id":1479,"items_discovered":0,"items_processed":0,"law_review_id":689,"pdfs_downloaded":0,"run_end":"2026-02-07T17:11:54+00:00","run_start":"2026-02-07T17:11:53+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1479/logs/stderr","stdout_log_url":"/api/scraper-runs/1479/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.219740392989479,"error_category":"process_exit_1","error_message":"Process exited with code 1","error_traceback":"Traceback (most recent call last):\n  File \"/home/arbel/sites/lrscraper/scrapers/north_dakota_law_review_scraper.py\", line 149, in <module>\n    asyncio.run(main())\n  File \"/home/arbel/miniconda3/lib/python3.11/asyncio/runners.py\", line 190, in run\n    return runner.run(main)\n           ^^^^^^^^^^^^^^^^\n  File \"/home/arbel/miniconda3/lib/python3.11/asyncio/runners.py\", line 118, in run\n    return self._loop.run_until_complete(task)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/arbel/miniconda3/lib/python3.11/asyncio/base_events.py\", line 653, in run_until_complete\n    return future.result()\n           ^^^^^^^^^^^^^^^\n  File \"/home/arbel/sites/lrscraper/scrapers/north_dakota_law_review_scraper.py\", line 145, in main\n    await NorthDakotaLawReviewScraper().run()\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/arbel/sites/lrscraper/scrapers/north_dakota_law_review_scraper.py\", line 39, in __init__\n    self.max_items = self._parse_positive_int(item_limit)\n                     ^^^^^^^^^^^^^^^^^^^^^^^^\nAttributeError: 'NorthDakotaLawReviewScraper' object has no attribute '_parse_positive_int'","errors":1,"extra":{"canonical_name":"North Dakota Law Review","child_pid":2402775,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-02-07T17:09:25+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T17:09:25+00:00","returncode":1,"scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1770484165_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1770484165_NorthDakotaLawReviewScraper.out.log","timeout_minutes":6},"extra_json":"{\"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 2402775, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-02-07T17:09:25+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T17:09:25+00:00\", \"returncode\": 1, \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770484165_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770484165_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 6}","id":1468,"items_discovered":null,"items_processed":null,"law_review_id":689,"pdfs_downloaded":0,"run_end":"2026-02-07T17:09:25+00:00","run_start":"2026-02-07T17:09:25+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"failed","stderr_log_url":"/api/scraper-runs/1468/logs/stderr","stdout_log_url":"/api/scraper-runs/1468/logs/stdout"}],"runs_by_scraper":{"NorthDakotaLawReviewScraper":[{"duplicates_skipped":96,"duration_seconds":2.1177875840003253,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"automation_cycle_id":1550,"canonical_name":"North Dakota Law Review","child_pid":136900,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-06-01T19:16:20+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-06-01T19:16:20+00:00","run_kind":"scheduled_active","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.out.log","timeout_minutes":45},"extra_json":"{\"automation_cycle_id\": 1550, \"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 136900, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-06-01T19:16:20+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-06-01T19:16:20+00:00\", \"run_kind\": \"scheduled_active\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1780341380_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 45}","id":4652,"items_discovered":96,"items_processed":96,"law_review_id":689,"pdfs_downloaded":0,"run_end":"2026-06-01T19:16:22+00:00","run_start":"2026-06-01T19:16:20+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"no_new_content","stderr_log_url":"/api/scraper-runs/4652/logs/stderr","stdout_log_url":"/api/scraper-runs/4652/logs/stdout"},{"duplicates_skipped":96,"duration_seconds":2.2791098719462752,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"automation_cycle_id":638,"canonical_name":"North Dakota Law Review","child_pid":1115737,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-05-01T22:16:27+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-05-01T22:16:27+00:00","run_kind":"scheduled_active","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1777673787_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1777673787_NorthDakotaLawReviewScraper.out.log","timeout_minutes":45},"extra_json":"{\"automation_cycle_id\": 638, \"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 1115737, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-05-01T22:16:27+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-05-01T22:16:27+00:00\", \"run_kind\": \"scheduled_active\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1777673787_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1777673787_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 45}","id":3978,"items_discovered":96,"items_processed":96,"law_review_id":689,"pdfs_downloaded":0,"run_end":"2026-05-01T22:16:29+00:00","run_start":"2026-05-01T22:16:27+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"no_new_content","stderr_log_url":"/api/scraper-runs/3978/logs/stderr","stdout_log_url":"/api/scraper-runs/3978/logs/stdout"},{"duplicates_skipped":5,"duration_seconds":129.77419838588685,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"canonical_name":"North Dakota Law Review","child_pid":3869277,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-03-09T17:34:27+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-03-09T17:32:27+00:00","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1773077547_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1773077547_NorthDakotaLawReviewScraper.out.log","timeout_minutes":45},"extra_json":"{\"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 3869277, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-03-09T17:34:27+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-03-09T17:32:27+00:00\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1773077547_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1773077547_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 45}","id":3161,"items_discovered":96,"items_processed":96,"law_review_id":689,"pdfs_downloaded":91,"run_end":"2026-03-09T17:34:37+00:00","run_start":"2026-03-09T17:32:27+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"success","stderr_log_url":"/api/scraper-runs/3161/logs/stderr","stdout_log_url":"/api/scraper-runs/3161/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":3.8779360410408117,"error_category":null,"error_message":null,"error_traceback":null,"errors":0,"extra":{"canonical_name":"North Dakota Law Review","child_pid":2440553,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-02-07T17:27:24+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T17:27:24+00:00","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1770485244_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1770485244_NorthDakotaLawReviewScraper.out.log","timeout_minutes":30},"extra_json":"{\"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 2440553, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-02-07T17:27:24+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T17:27:24+00:00\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770485244_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770485244_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 30}","id":1483,"items_discovered":5,"items_processed":5,"law_review_id":689,"pdfs_downloaded":5,"run_end":"2026-02-07T17:27:28+00:00","run_start":"2026-02-07T17:27:24+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"success","stderr_log_url":"/api/scraper-runs/1483/logs/stderr","stdout_log_url":"/api/scraper-runs/1483/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.3861902199569158,"error_category":"no_items_reason","error_message":"No issue links found on archive page: https://law.und.edu/law-review/archive.html","error_traceback":null,"errors":0,"extra":{"canonical_name":"North Dakota Law Review","child_pid":2439559,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-02-07T17:26:55+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T17:26:55+00:00","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1770485215_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1770485215_NorthDakotaLawReviewScraper.out.log","timeout_minutes":30},"extra_json":"{\"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 2439559, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-02-07T17:26:55+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T17:26:55+00:00\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770485215_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770485215_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 30}","id":1482,"items_discovered":0,"items_processed":0,"law_review_id":689,"pdfs_downloaded":0,"run_end":"2026-02-07T17:26:55+00:00","run_start":"2026-02-07T17:26:55+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1482/logs/stderr","stdout_log_url":"/api/scraper-runs/1482/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.3304821120109409,"error_category":"no_items_reason","error_message":"No PDF links found on archive page: https://law.und.edu/law-review/archive.html","error_traceback":null,"errors":0,"extra":{"canonical_name":"North Dakota Law Review","child_pid":2408042,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-02-07T17:11:53+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T17:11:53+00:00","scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1770484313_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1770484313_NorthDakotaLawReviewScraper.out.log","timeout_minutes":6},"extra_json":"{\"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 2408042, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-02-07T17:11:53+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T17:11:53+00:00\", \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770484313_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770484313_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 6}","id":1479,"items_discovered":0,"items_processed":0,"law_review_id":689,"pdfs_downloaded":0,"run_end":"2026-02-07T17:11:54+00:00","run_start":"2026-02-07T17:11:53+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"no_items","stderr_log_url":"/api/scraper-runs/1479/logs/stderr","stdout_log_url":"/api/scraper-runs/1479/logs/stdout"},{"duplicates_skipped":0,"duration_seconds":0.219740392989479,"error_category":"process_exit_1","error_message":"Process exited with code 1","error_traceback":"Traceback (most recent call last):\n  File \"/home/arbel/sites/lrscraper/scrapers/north_dakota_law_review_scraper.py\", line 149, in <module>\n    asyncio.run(main())\n  File \"/home/arbel/miniconda3/lib/python3.11/asyncio/runners.py\", line 190, in run\n    return runner.run(main)\n           ^^^^^^^^^^^^^^^^\n  File \"/home/arbel/miniconda3/lib/python3.11/asyncio/runners.py\", line 118, in run\n    return self._loop.run_until_complete(task)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/arbel/miniconda3/lib/python3.11/asyncio/base_events.py\", line 653, in run_until_complete\n    return future.result()\n           ^^^^^^^^^^^^^^^\n  File \"/home/arbel/sites/lrscraper/scrapers/north_dakota_law_review_scraper.py\", line 145, in main\n    await NorthDakotaLawReviewScraper().run()\n          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/home/arbel/sites/lrscraper/scrapers/north_dakota_law_review_scraper.py\", line 39, in __init__\n    self.max_items = self._parse_positive_int(item_limit)\n                     ^^^^^^^^^^^^^^^^^^^^^^^^\nAttributeError: 'NorthDakotaLawReviewScraper' object has no attribute '_parse_positive_int'","errors":1,"extra":{"canonical_name":"North Dakota Law Review","child_pid":2402775,"file_path":"scrapers/north_dakota_law_review_scraper.py","heartbeat_at":"2026-02-07T17:09:25+00:00","heartbeat_source":"orchestrator","law_review_id":689,"orchestrator":"lrscraper","orchestrator_started_at":"2026-02-07T17:09:25+00:00","returncode":1,"scraper_id":"NorthDakotaLawReviewScraper","script_path":"scrapers/north_dakota_law_review_scraper.py","stderr_path":"logs/orchestrator_runs/1770484165_NorthDakotaLawReviewScraper.err.log","stdout_path":"logs/orchestrator_runs/1770484165_NorthDakotaLawReviewScraper.out.log","timeout_minutes":6},"extra_json":"{\"canonical_name\": \"North Dakota Law Review\", \"child_pid\": 2402775, \"file_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"heartbeat_at\": \"2026-02-07T17:09:25+00:00\", \"heartbeat_source\": \"orchestrator\", \"law_review_id\": 689, \"orchestrator\": \"lrscraper\", \"orchestrator_started_at\": \"2026-02-07T17:09:25+00:00\", \"returncode\": 1, \"scraper_id\": \"NorthDakotaLawReviewScraper\", \"script_path\": \"scrapers/north_dakota_law_review_scraper.py\", \"stderr_path\": \"logs/orchestrator_runs/1770484165_NorthDakotaLawReviewScraper.err.log\", \"stdout_path\": \"logs/orchestrator_runs/1770484165_NorthDakotaLawReviewScraper.out.log\", \"timeout_minutes\": 6}","id":1468,"items_discovered":null,"items_processed":null,"law_review_id":689,"pdfs_downloaded":0,"run_end":"2026-02-07T17:09:25+00:00","run_start":"2026-02-07T17:09:25+00:00","scraper_name":"NorthDakotaLawReviewScraper","status":"failed","stderr_log_url":"/api/scraper-runs/1468/logs/stderr","stdout_log_url":"/api/scraper-runs/1468/logs/stdout"}]},"scrapers":[{"base_class":"LightBaseScraper","canonical_name":"North Dakota Law Review","class_name":"NorthDakotaLawReviewScraper","file_path":"scrapers/north_dakota_law_review_scraper.py","has_cli_entrypoint":1,"institution_code":null,"is_abstract":0,"module_path":"scrapers.north_dakota_law_review_scraper","platform":null,"scraper_id":"NorthDakotaLawReviewScraper"}],"uploads":{"last_pending":null,"last_uploaded":"2026-03-09 19:15:57","latest_registry_sync":"uabox:Law_Review_Project/north_dakota_law_review_20260309_191537.zip","pending":0}}
