{
  "type": "NTKER_JOBS",
  "version": 1,
  "exported_at": "2026-07-07T10:11:20",
  "jobs": [
    {
      "id": "9271172760",
      "status": "failed",
      "display_status": "failed",
      "created_at": "2026-06-17T14:38:41",
      "started_at": "2026-06-17T15:27:29",
      "finished_at": "2026-06-17T20:01:05",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/11023",
        "target_id": "manhwa_11023",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy-alt.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "미인여상사 타키자와 씨 - 마나토끼 만화"
      },
      "logs": [
        {
          "time": "19:37:15",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:37:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #624"
        },
        {
          "time": "19:37:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:37:44",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:37:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #625"
        },
        {
          "time": "19:37:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:38:14",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:38:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #626"
        },
        {
          "time": "19:38:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:38:35",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:38:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #627"
        },
        {
          "time": "19:38:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:39:05",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:39:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #628"
        },
        {
          "time": "19:39:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:39:35",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:39:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #629"
        },
        {
          "time": "19:39:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:39:56",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:39:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #630"
        },
        {
          "time": "19:39:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:40:24",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:40:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #631"
        },
        {
          "time": "19:40:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:40:54",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:40:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #632"
        },
        {
          "time": "19:40:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:41:24",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:41:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #633"
        },
        {
          "time": "19:41:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:41:54",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:41:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #634"
        },
        {
          "time": "19:41:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:42:15",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:42:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #635"
        },
        {
          "time": "19:42:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:42:44",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:42:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #636"
        },
        {
          "time": "19:42:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:43:14",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:43:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #637"
        },
        {
          "time": "19:43:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:43:44",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:43:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #638"
        },
        {
          "time": "19:43:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:44:05",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:44:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #639"
        },
        {
          "time": "19:44:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:44:34",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:44:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #640"
        },
        {
          "time": "19:44:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:44:55",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:44:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #641"
        },
        {
          "time": "19:44:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:45:16",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:45:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #642"
        },
        {
          "time": "19:45:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:45:37",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:45:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #643"
        },
        {
          "time": "19:45:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:46:05",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:46:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #644"
        },
        {
          "time": "19:46:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:46:35",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:46:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #645"
        },
        {
          "time": "19:46:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:47:04",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:47:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #646"
        },
        {
          "time": "19:47:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:47:25",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:47:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #647"
        },
        {
          "time": "19:47:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:47:54",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:47:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #648"
        },
        {
          "time": "19:48:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:48:24",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:48:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #649"
        },
        {
          "time": "19:48:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:48:55",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:48:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #650"
        },
        {
          "time": "19:48:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:49:24",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:49:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #651"
        },
        {
          "time": "19:49:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:49:55",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:50:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #652"
        },
        {
          "time": "19:50:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:50:25",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:50:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #653"
        },
        {
          "time": "19:50:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:50:45",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:50:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #654"
        },
        {
          "time": "19:50:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:51:14",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:51:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #655"
        },
        {
          "time": "19:51:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:51:35",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:51:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #656"
        },
        {
          "time": "19:51:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:51:56",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:51:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #657"
        },
        {
          "time": "19:52:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:52:24",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:52:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #658"
        },
        {
          "time": "19:52:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:52:55",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:52:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #659"
        },
        {
          "time": "19:53:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:53:25",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:53:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #660"
        },
        {
          "time": "19:53:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:53:46",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:53:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #661"
        },
        {
          "time": "19:53:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:54:14",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:54:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #662"
        },
        {
          "time": "19:54:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:54:44",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:54:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #663"
        },
        {
          "time": "19:54:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:55:05",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:55:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #664"
        },
        {
          "time": "19:55:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:55:35",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:55:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #665"
        },
        {
          "time": "19:55:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:55:56",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:55:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #666"
        },
        {
          "time": "19:55:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:56:17",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:56:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #667"
        },
        {
          "time": "19:56:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:56:44",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:56:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #668"
        },
        {
          "time": "19:56:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:57:05",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:57:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #669"
        },
        {
          "time": "19:57:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:57:35",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:57:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #670"
        },
        {
          "time": "19:57:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:57:56",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:58:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #671"
        },
        {
          "time": "19:58:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:58:25",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:58:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #672"
        },
        {
          "time": "19:58:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:58:55",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:59:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #673"
        },
        {
          "time": "19:59:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:59:25",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:59:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #674"
        },
        {
          "time": "19:59:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:59:54",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "19:59:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #675"
        },
        {
          "time": "20:00:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:00:24",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        },
        {
          "time": "20:00:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #676"
        },
        {
          "time": "20:00:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:00:54",
          "message": "페이지 usable image snapshot을 받지 못했지만 차단/로그인 페이지 스냅샷으로 판정해 사용합니다: title=Access denied | Cloudflare, img_tags=0, image_urls=0, reason=접근 차단 페이지가 로드됨"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_11023",
        "target_id": "manhwa_11023",
        "title": "미인여상사 타키자와 씨 - 마나토끼 만화",
        "episodes_found": 187,
        "episodes_processed": 0,
        "episodes_failed": 187,
        "episodes_skipped": 0,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_11023",
          "title": "미인여상사 타키자와 씨 - 마나토끼 만화",
          "list_url": "https://newtoki1.org/manhwa/11023",
          "source": {
            "host": "newtoki1.org",
            "path": "/manhwa/11023"
          },
          "tags": [
            "뉴토끼",
            "뉴토끼 주소",
            "뉴토끼 최신",
            "마나토끼",
            "만화",
            "만화미리보기",
            "무료만화",
            "무료웹툰",
            "미인여상사 타키자와 씨",
            "성인웹툰",
            "소설",
            "웹소설",
            "웹툰",
            "웹툰 미리보기",
            "일반웹툰",
            "일본만화",
            "일본만화 허브"
          ],
          "description": "미인여상사 타키자와 씨 일본만화. 직상상사인 타키자와 쿄코와 직상후배이며 주인공인 타케다 코우타의 회사생화라에서 일어나는 일상코미디물입니다.일을 시작하게된 타케다 코우타와 타케다의 직상상사이며 일을 가르치게 되는 사수인 타키자와 일상을 그려내며 소소하게 발생하는 사건들로 이야…",
          "metadata_path": "/downloads/manhwa_11023/metadata.yaml"
        }
      },
      "error": "187개 회차 처리 실패",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": true,
        "type": "access_blocked",
        "severity": "warning",
        "time": "20:00:55",
        "message": "접근 차단 페이지가 로드되었습니다."
      },
      "progress": {
        "done": 0,
        "total": 187,
        "percent": 0,
        "failed": 187,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 1,
          "url": "https://newtoki1.org/manhwa/11023/111868",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T20:01:04"
        },
        {
          "position": 2,
          "url": "https://newtoki1.org/manhwa/11023/111867",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T20:00:34"
        },
        {
          "position": 3,
          "url": "https://newtoki1.org/manhwa/11023/111866",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T20:00:04"
        },
        {
          "position": 4,
          "url": "https://newtoki1.org/manhwa/11023/111865",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:59:25"
        },
        {
          "position": 5,
          "url": "https://newtoki1.org/manhwa/11023/111864",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:59:04"
        },
        {
          "position": 6,
          "url": "https://newtoki1.org/manhwa/11023/111863",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:58:34"
        },
        {
          "position": 7,
          "url": "https://newtoki1.org/manhwa/11023/111862",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:58:04"
        },
        {
          "position": 8,
          "url": "https://newtoki1.org/manhwa/11023/111861",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:57:35"
        },
        {
          "position": 9,
          "url": "https://newtoki1.org/manhwa/11023/111860",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:57:14"
        },
        {
          "position": 10,
          "url": "https://newtoki1.org/manhwa/11023/111859",
          "title": "미인여상사 타키자와 씨 19화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T17:58:54"
        },
        {
          "position": 11,
          "url": "https://newtoki1.org/manhwa/11023/111858",
          "title": "미인여상사 타키자와 씨 20화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T17:59:44"
        },
        {
          "position": 12,
          "url": "https://newtoki1.org/manhwa/11023/111857",
          "title": "미인여상사 타키자와 씨 21화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:00:34"
        },
        {
          "position": 13,
          "url": "https://newtoki1.org/manhwa/11023/111856",
          "title": "미인여상사 타키자와 씨 22화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:01:18"
        },
        {
          "position": 14,
          "url": "https://newtoki1.org/manhwa/11023/111855",
          "title": "미인여상사 타키자와 씨 23화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:02:07"
        },
        {
          "position": 15,
          "url": "https://newtoki1.org/manhwa/11023/111854",
          "title": "미인여상사 타키자와 씨 24화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:02:57"
        },
        {
          "position": 16,
          "url": "https://newtoki1.org/manhwa/11023/111853",
          "title": "미인여상사 타키자와 씨 25화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:03:41"
        },
        {
          "position": 17,
          "url": "https://newtoki1.org/manhwa/11023/111852",
          "title": "미인여상사 타키자와 씨 26화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:04:24"
        },
        {
          "position": 18,
          "url": "https://newtoki1.org/manhwa/11023/111851",
          "title": "미인여상사 타키자와 씨 27화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:05:24"
        },
        {
          "position": 19,
          "url": "https://newtoki1.org/manhwa/11023/111850",
          "title": "미인여상사 타키자와 씨 28화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:06:07"
        },
        {
          "position": 20,
          "url": "https://newtoki1.org/manhwa/11023/111849",
          "title": "미인여상사 타키자와 씨 29화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:07:04"
        },
        {
          "position": 21,
          "url": "https://newtoki1.org/manhwa/11023/111848",
          "title": "미인여상사 타키자와 씨 30화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:07:54"
        },
        {
          "position": 22,
          "url": "https://newtoki1.org/manhwa/11023/111847",
          "title": "미인여상사 타키자와 씨 31화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:08:38"
        },
        {
          "position": 23,
          "url": "https://newtoki1.org/manhwa/11023/111846",
          "title": "미인여상사 타키자와 씨 32화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:09:34"
        },
        {
          "position": 24,
          "url": "https://newtoki1.org/manhwa/11023/111845",
          "title": "미인여상사 타키자와 씨 33화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:10:24"
        },
        {
          "position": 25,
          "url": "https://newtoki1.org/manhwa/11023/111844",
          "title": "미인여상사 타키자와 씨 34화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:11:14"
        },
        {
          "position": 26,
          "url": "https://newtoki1.org/manhwa/11023/111843",
          "title": "미인여상사 타키자와 씨 35화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:12:04"
        },
        {
          "position": 27,
          "url": "https://newtoki1.org/manhwa/11023/111842",
          "title": "미인여상사 타키자와 씨 36화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:12:54"
        },
        {
          "position": 28,
          "url": "https://newtoki1.org/manhwa/11023/111841",
          "title": "미인여상사 타키자와 씨 37화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:13:37"
        },
        {
          "position": 29,
          "url": "https://newtoki1.org/manhwa/11023/111840",
          "title": "미인여상사 타키자와 씨 38화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:14:21"
        },
        {
          "position": 30,
          "url": "https://newtoki1.org/manhwa/11023/111839",
          "title": "미인여상사 타키자와 씨 39화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:15:04"
        },
        {
          "position": 31,
          "url": "https://newtoki1.org/manhwa/11023/111838",
          "title": "미인여상사 타키자와 씨 40화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:15:49"
        },
        {
          "position": 32,
          "url": "https://newtoki1.org/manhwa/11023/111837",
          "title": "미인여상사 타키자와 씨 41화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:16:37"
        },
        {
          "position": 33,
          "url": "https://newtoki1.org/manhwa/11023/111836",
          "title": "미인여상사 타키자와 씨 42화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:17:24"
        },
        {
          "position": 34,
          "url": "https://newtoki1.org/manhwa/11023/111834",
          "title": "미인여상사 타키자와 씨 44화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:18:14"
        },
        {
          "position": 35,
          "url": "https://newtoki1.org/manhwa/11023/111869",
          "title": "미인여상사 타키자와 씨 45화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:18:58"
        },
        {
          "position": 36,
          "url": "https://newtoki1.org/manhwa/11023/176804",
          "title": "미인여상사 타키자와 씨46화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:19:41"
        },
        {
          "position": 37,
          "url": "https://newtoki1.org/manhwa/11023/176845",
          "title": "미인여상사 타키자와 씨47화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:20:24"
        },
        {
          "position": 38,
          "url": "https://newtoki1.org/manhwa/11023/178398",
          "title": "미인여상사 타키자와 씨48화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:21:08"
        },
        {
          "position": 39,
          "url": "https://newtoki1.org/manhwa/11023/179111",
          "title": "미인여상사 타키자와 씨49화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:21:51"
        },
        {
          "position": 40,
          "url": "https://newtoki1.org/manhwa/11023/179239",
          "title": "미인여상사 타키자와 씨50화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:22:44"
        },
        {
          "position": 41,
          "url": "https://newtoki1.org/manhwa/11023/179774",
          "title": "미인여상사 타키자와 씨51화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:23:34"
        },
        {
          "position": 42,
          "url": "https://newtoki1.org/manhwa/11023/179834",
          "title": "미인여상사 타키자와 씨52화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:24:18"
        },
        {
          "position": 43,
          "url": "https://newtoki1.org/manhwa/11023/181051",
          "title": "미인여상사 타키자와 씨53화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:25:04"
        },
        {
          "position": 44,
          "url": "https://newtoki1.org/manhwa/11023/181318",
          "title": "미인여상사 타키자와 씨54화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:25:54"
        },
        {
          "position": 45,
          "url": "https://newtoki1.org/manhwa/11023/182178",
          "title": "미인여상사 타키자와 씨55화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:26:39"
        },
        {
          "position": 46,
          "url": "https://newtoki1.org/manhwa/11023/183698",
          "title": "미인여상사 타키자와 씨56화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:27:34"
        },
        {
          "position": 47,
          "url": "https://newtoki1.org/manhwa/11023/183770",
          "title": "미인여상사 타키자와 씨57화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:28:18"
        },
        {
          "position": 48,
          "url": "https://newtoki1.org/manhwa/11023/185449",
          "title": "미인여상사 타키자와 씨58화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:29:14"
        },
        {
          "position": 49,
          "url": "https://newtoki1.org/manhwa/11023/185818",
          "title": "미인여상사 타키자와 씨59화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:29:57"
        },
        {
          "position": 50,
          "url": "https://newtoki1.org/manhwa/11023/186439",
          "title": "미인여상사 타키자와 씨60화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:30:40"
        },
        {
          "position": 51,
          "url": "https://newtoki1.org/manhwa/11023/186685",
          "title": "미인여상사 타키자와 씨61화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:31:25"
        },
        {
          "position": 52,
          "url": "https://newtoki1.org/manhwa/11023/186748",
          "title": "미인여상사 타키자와 씨62화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:32:09"
        },
        {
          "position": 53,
          "url": "https://newtoki1.org/manhwa/11023/187427",
          "title": "미인여상사 타키자와 씨63화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:32:57"
        },
        {
          "position": 54,
          "url": "https://newtoki1.org/manhwa/11023/187425",
          "title": "미인여상사 타키자와 씨63화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:33:44"
        },
        {
          "position": 55,
          "url": "https://newtoki1.org/manhwa/11023/187766",
          "title": "미인여상사 타키자와 씨64화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:34:34"
        },
        {
          "position": 56,
          "url": "https://newtoki1.org/manhwa/11023/187917",
          "title": "미인여상사 타키자와 씨65화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:35:24"
        },
        {
          "position": 57,
          "url": "https://newtoki1.org/manhwa/11023/328816",
          "title": "미인여상사 타키자와 씨 66화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:36:07"
        },
        {
          "position": 58,
          "url": "https://newtoki1.org/manhwa/11023/328812",
          "title": "미인여상사 타키자와 씨 66화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:36:53"
        },
        {
          "position": 59,
          "url": "https://newtoki1.org/manhwa/11023/328897",
          "title": "미인여상사 타키자와 씨 68화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:37:35"
        },
        {
          "position": 60,
          "url": "https://newtoki1.org/manhwa/11023/329278",
          "title": "미인여상사 타키자와 씨 69화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:38:24"
        },
        {
          "position": 61,
          "url": "https://newtoki1.org/manhwa/11023/329274",
          "title": "미인여상사 타키자와 씨 69화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:39:07"
        },
        {
          "position": 62,
          "url": "https://newtoki1.org/manhwa/11023/330409",
          "title": "미인여상사 타키자와 씨 70화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:39:54"
        },
        {
          "position": 63,
          "url": "https://newtoki1.org/manhwa/11023/330408",
          "title": "미인여상사 타키자와 씨 71화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:40:44"
        },
        {
          "position": 64,
          "url": "https://newtoki1.org/manhwa/11023/330871",
          "title": "미인여상사 타키자와 씨 72화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:41:34"
        },
        {
          "position": 65,
          "url": "https://newtoki1.org/manhwa/11023/330909",
          "title": "미인여상사 타키자와 씨 73화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:42:18"
        },
        {
          "position": 66,
          "url": "https://newtoki1.org/manhwa/11023/330914",
          "title": "미인여상사 타키자와 씨 74화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:43:07"
        },
        {
          "position": 67,
          "url": "https://newtoki1.org/manhwa/11023/331005",
          "title": "미인여상사 타키자와 씨 75화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:43:50"
        },
        {
          "position": 68,
          "url": "https://newtoki1.org/manhwa/11023/331328",
          "title": "미인여상사 타키자와 씨 76화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:44:34"
        },
        {
          "position": 69,
          "url": "https://newtoki1.org/manhwa/11023/331333",
          "title": "미인여상사 타키자와 씨 77화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:45:24"
        },
        {
          "position": 70,
          "url": "https://newtoki1.org/manhwa/11023/331337",
          "title": "미인여상사 타키자와 씨 78화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:46:14"
        },
        {
          "position": 71,
          "url": "https://newtoki1.org/manhwa/11023/332174",
          "title": "미인여상사 타키자와 씨 79화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:47:04"
        },
        {
          "position": 72,
          "url": "https://newtoki1.org/manhwa/11023/332179",
          "title": "미인여상사 타키자와 씨 80화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:48:04"
        },
        {
          "position": 73,
          "url": "https://newtoki1.org/manhwa/11023/332186",
          "title": "미인여상사 타키자와 씨 81화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:48:47"
        },
        {
          "position": 74,
          "url": "https://newtoki1.org/manhwa/11023/332190",
          "title": "미인여상사 타키자와 씨 82화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:49:31"
        },
        {
          "position": 75,
          "url": "https://newtoki1.org/manhwa/11023/333102",
          "title": "미인여상사 타키자와 씨 83화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:50:24"
        },
        {
          "position": 76,
          "url": "https://newtoki1.org/manhwa/11023/333130",
          "title": "미인여상사 타키자와 씨 84화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:51:14"
        },
        {
          "position": 77,
          "url": "https://newtoki1.org/manhwa/11023/333141",
          "title": "미인여상사 타키자와 씨 85화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:52:04"
        },
        {
          "position": 78,
          "url": "https://newtoki1.org/manhwa/11023/333150",
          "title": "미인여상사 타키자와 씨 86화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:52:47"
        },
        {
          "position": 79,
          "url": "https://newtoki1.org/manhwa/11023/333154",
          "title": "미인여상사 타키자와 씨 87화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:53:44"
        },
        {
          "position": 80,
          "url": "https://newtoki1.org/manhwa/11023/333202",
          "title": "미인여상사 타키자와 씨 88화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:54:34"
        },
        {
          "position": 81,
          "url": "https://newtoki1.org/manhwa/11023/334550",
          "title": "미인여상사 타키자와 씨 89화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:55:24"
        },
        {
          "position": 82,
          "url": "https://newtoki1.org/manhwa/11023/334558",
          "title": "미인여상사 타키자와 씨 90화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:56:14"
        },
        {
          "position": 83,
          "url": "https://newtoki1.org/manhwa/11023/334624",
          "title": "미인여상사 타키자와 씨 91화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:57:04"
        },
        {
          "position": 84,
          "url": "https://newtoki1.org/manhwa/11023/336196",
          "title": "미인여상사 타키자와 씨 92화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:57:54"
        },
        {
          "position": 85,
          "url": "https://newtoki1.org/manhwa/11023/336200",
          "title": "미인여상사 타키자와 씨 93화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:58:45"
        },
        {
          "position": 86,
          "url": "https://newtoki1.org/manhwa/11023/336207",
          "title": "미인여상사 타키자와 씨 94화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T18:59:34"
        },
        {
          "position": 87,
          "url": "https://newtoki1.org/manhwa/11023/338000",
          "title": "미인여상사 타키자와 씨 95화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:00:24"
        },
        {
          "position": 88,
          "url": "https://newtoki1.org/manhwa/11023/338006",
          "title": "미인여상사 타키자와 씨 96화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:01:14"
        },
        {
          "position": 89,
          "url": "https://newtoki1.org/manhwa/11023/340020",
          "title": "미인여상사 타키자와 씨 97화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:01:58"
        },
        {
          "position": 90,
          "url": "https://newtoki1.org/manhwa/11023/340030",
          "title": "미인여상사 타키자와 씨 98화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:02:44"
        },
        {
          "position": 91,
          "url": "https://newtoki1.org/manhwa/11023/1653063",
          "title": "미인여상사 타키자와 씨 99화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:03:29"
        },
        {
          "position": 92,
          "url": "https://newtoki1.org/manhwa/11023/1653070",
          "title": "미인여상사 타키자와 씨 100화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:04:17"
        },
        {
          "position": 93,
          "url": "https://newtoki1.org/manhwa/11023/1653094",
          "title": "미인여상사 타키자와 씨 101화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:05:07"
        },
        {
          "position": 94,
          "url": "https://newtoki1.org/manhwa/11023/1653129",
          "title": "미인여상사 타키자와 씨 102화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:05:50"
        },
        {
          "position": 95,
          "url": "https://newtoki1.org/manhwa/11023/1654904",
          "title": "미인여상사 타키자와 씨 103화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:06:35"
        },
        {
          "position": 96,
          "url": "https://newtoki1.org/manhwa/11023/1655031",
          "title": "미인여상사 타키자와 씨 104화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:07:24"
        },
        {
          "position": 97,
          "url": "https://newtoki1.org/manhwa/11023/1655038",
          "title": "미인여상사 타키자와 씨 105화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:08:14"
        },
        {
          "position": 98,
          "url": "https://newtoki1.org/manhwa/11023/1656193",
          "title": "미인여상사 타키자와 씨 106화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:08:58"
        },
        {
          "position": 99,
          "url": "https://newtoki1.org/manhwa/11023/1656197",
          "title": "미인여상사 타키자와 씨 107화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:09:41"
        },
        {
          "position": 100,
          "url": "https://newtoki1.org/manhwa/11023/1656200",
          "title": "미인여상사 타키자와 씨 108화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:10:24"
        },
        {
          "position": 101,
          "url": "https://newtoki1.org/manhwa/11023/1656768",
          "title": "미인여상사 타키자와 씨 109화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:11:14"
        },
        {
          "position": 102,
          "url": "https://newtoki1.org/manhwa/11023/1656846",
          "title": "미인여상사 타키자와 씨 110화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:12:04"
        },
        {
          "position": 103,
          "url": "https://newtoki1.org/manhwa/11023/1656850",
          "title": "미인여상사 타키자와 씨 111화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:12:48"
        },
        {
          "position": 104,
          "url": "https://newtoki1.org/manhwa/11023/1658297",
          "title": "미인여상사 타키자와 씨 112화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:13:44"
        },
        {
          "position": 105,
          "url": "https://newtoki1.org/manhwa/11023/1658302",
          "title": "미인여상사 타키자와 씨 113화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:14:34"
        },
        {
          "position": 106,
          "url": "https://newtoki1.org/manhwa/11023/1660143",
          "title": "미인여상사 타키자와 씨 114화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:15:18"
        },
        {
          "position": 107,
          "url": "https://newtoki1.org/manhwa/11023/1660146",
          "title": "미인여상사 타키자와 씨 115화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:16:04"
        },
        {
          "position": 108,
          "url": "https://newtoki1.org/manhwa/11023/1664508",
          "title": "미인여상사 타키자와 씨 116화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:16:54"
        },
        {
          "position": 109,
          "url": "https://newtoki1.org/manhwa/11023/1666362",
          "title": "미인여상사 타키자와 씨 117화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:17:44"
        },
        {
          "position": 110,
          "url": "https://newtoki1.org/manhwa/11023/1668457",
          "title": "미인여상사 타키자와 씨 118화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:18:34"
        },
        {
          "position": 111,
          "url": "https://newtoki1.org/manhwa/11023/1674064",
          "title": "미인여상사 타키자와 씨 119화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:19:18"
        },
        {
          "position": 112,
          "url": "https://newtoki1.org/manhwa/11023/1674124",
          "title": "미인여상사 타키자와… 씨 119.5화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:20:14"
        },
        {
          "position": 113,
          "url": "https://newtoki1.org/manhwa/11023/1674127",
          "title": "미인여상사 타키자와 씨 120화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:20:57"
        },
        {
          "position": 114,
          "url": "https://newtoki1.org/manhwa/11023/1674132",
          "title": "미인여상사 타키자와 씨 121화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:21:44"
        },
        {
          "position": 115,
          "url": "https://newtoki1.org/manhwa/11023/1676325",
          "title": "미인여상사 타키자와 씨 122화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:22:28"
        },
        {
          "position": 116,
          "url": "https://newtoki1.org/manhwa/11023/1676500",
          "title": "미인여상사 타키자와 씨 123화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:23:24"
        },
        {
          "position": 117,
          "url": "https://newtoki1.org/manhwa/11023/1782436",
          "title": "미인여상사 타키자와 씨 124화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:24:07"
        },
        {
          "position": 118,
          "url": "https://newtoki1.org/manhwa/11023/1676659",
          "title": "미인여상사 타키자와 씨 125화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:24:57"
        },
        {
          "position": 119,
          "url": "https://newtoki1.org/manhwa/11023/1679761",
          "title": "미인여상사 타키자와 씨 126화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:25:54"
        },
        {
          "position": 120,
          "url": "https://newtoki1.org/manhwa/11023/1679767",
          "title": "미인여상사 타키자와 씨 127화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:26:44"
        },
        {
          "position": 121,
          "url": "https://newtoki1.org/manhwa/11023/1695044",
          "title": "미인여상사 타키자와 씨 128화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:27:27"
        },
        {
          "position": 122,
          "url": "https://newtoki1.org/manhwa/11023/1695053",
          "title": "미인여상사 타키자와 씨 129화",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T19:28:24"
        },
        {
          "position": 123,
          "url": "https://newtoki1.org/manhwa/11023/1715615",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:28:45"
        },
        {
          "position": 124,
          "url": "https://newtoki1.org/manhwa/11023/1734040",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:29:15"
        },
        {
          "position": 125,
          "url": "https://newtoki1.org/manhwa/11023/1734125",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:29:36"
        },
        {
          "position": 126,
          "url": "https://newtoki1.org/manhwa/11023/1734215",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:29:57"
        },
        {
          "position": 127,
          "url": "https://newtoki1.org/manhwa/11023/1734351",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:30:25"
        },
        {
          "position": 128,
          "url": "https://newtoki1.org/manhwa/11023/1734395",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:31:05"
        },
        {
          "position": 129,
          "url": "https://newtoki1.org/manhwa/11023/1734502",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:31:35"
        },
        {
          "position": 130,
          "url": "https://newtoki1.org/manhwa/11023/1734553",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:32:04"
        },
        {
          "position": 131,
          "url": "https://newtoki1.org/manhwa/11023/1734643",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:32:25"
        },
        {
          "position": 132,
          "url": "https://newtoki1.org/manhwa/11023/1734708",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:32:55"
        },
        {
          "position": 133,
          "url": "https://newtoki1.org/manhwa/11023/1734859",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:33:24"
        },
        {
          "position": 134,
          "url": "https://newtoki1.org/manhwa/11023/1736678",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:33:45"
        },
        {
          "position": 135,
          "url": "https://newtoki1.org/manhwa/11023/1736679",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:34:14"
        },
        {
          "position": 136,
          "url": "https://newtoki1.org/manhwa/11023/1736680",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:34:35"
        },
        {
          "position": 137,
          "url": "https://newtoki1.org/manhwa/11023/1736681",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:34:56"
        },
        {
          "position": 138,
          "url": "https://newtoki1.org/manhwa/11023/1736685",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:35:17"
        },
        {
          "position": 139,
          "url": "https://newtoki1.org/manhwa/11023/1736684",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:35:45"
        },
        {
          "position": 140,
          "url": "https://newtoki1.org/manhwa/11023/1736682",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:36:06"
        },
        {
          "position": 141,
          "url": "https://newtoki1.org/manhwa/11023/1735243",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:36:27"
        },
        {
          "position": 142,
          "url": "https://newtoki1.org/manhwa/11023/1735431",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:36:54"
        },
        {
          "position": 143,
          "url": "https://newtoki1.org/manhwa/11023/1736603",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:37:15"
        },
        {
          "position": 144,
          "url": "https://newtoki1.org/manhwa/11023/1736989",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:37:45"
        },
        {
          "position": 145,
          "url": "https://newtoki1.org/manhwa/11023/1737159",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:38:15"
        },
        {
          "position": 146,
          "url": "https://newtoki1.org/manhwa/11023/1737189",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:38:44"
        },
        {
          "position": 147,
          "url": "https://newtoki1.org/manhwa/11023/1737421",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:39:14"
        },
        {
          "position": 148,
          "url": "https://newtoki1.org/manhwa/11023/1737480",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:39:36"
        },
        {
          "position": 149,
          "url": "https://newtoki1.org/manhwa/11023/1738155",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:39:57"
        },
        {
          "position": 150,
          "url": "https://newtoki1.org/manhwa/11023/1740597",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:40:25"
        },
        {
          "position": 151,
          "url": "https://newtoki1.org/manhwa/11023/1740601",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:40:55"
        },
        {
          "position": 152,
          "url": "https://newtoki1.org/manhwa/11023/1740611",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:41:25"
        },
        {
          "position": 153,
          "url": "https://newtoki1.org/manhwa/11023/1740627",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:41:55"
        },
        {
          "position": 154,
          "url": "https://newtoki1.org/manhwa/11023/1740631",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:42:24"
        },
        {
          "position": 155,
          "url": "https://newtoki1.org/manhwa/11023/1740635",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:42:54"
        },
        {
          "position": 156,
          "url": "https://newtoki1.org/manhwa/11023/1740641",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:43:24"
        },
        {
          "position": 157,
          "url": "https://newtoki1.org/manhwa/11023/1741233",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:43:45"
        },
        {
          "position": 158,
          "url": "https://newtoki1.org/manhwa/11023/1742454",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:44:06"
        },
        {
          "position": 159,
          "url": "https://newtoki1.org/manhwa/11023/1744091",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:44:35"
        },
        {
          "position": 160,
          "url": "https://newtoki1.org/manhwa/11023/1745015",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:44:56"
        },
        {
          "position": 161,
          "url": "https://newtoki1.org/manhwa/11023/1746151",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:45:17"
        },
        {
          "position": 162,
          "url": "https://newtoki1.org/manhwa/11023/1747454",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:45:44"
        },
        {
          "position": 163,
          "url": "https://newtoki1.org/manhwa/11023/1748679",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:46:05"
        },
        {
          "position": 164,
          "url": "https://newtoki1.org/manhwa/11023/1749840",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:46:44"
        },
        {
          "position": 165,
          "url": "https://newtoki1.org/manhwa/11023/1751088",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:47:05"
        },
        {
          "position": 166,
          "url": "https://newtoki1.org/manhwa/11023/1752018",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:47:26"
        },
        {
          "position": 167,
          "url": "https://newtoki1.org/manhwa/11023/1754424",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:48:04"
        },
        {
          "position": 168,
          "url": "https://newtoki1.org/manhwa/11023/1754434",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:48:34"
        },
        {
          "position": 169,
          "url": "https://newtoki1.org/manhwa/11023/1756952",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:48:55"
        },
        {
          "position": 170,
          "url": "https://newtoki1.org/manhwa/11023/1769622",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:49:25"
        },
        {
          "position": 171,
          "url": "https://newtoki1.org/manhwa/11023/1769628",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:50:04"
        },
        {
          "position": 172,
          "url": "https://newtoki1.org/manhwa/11023/1769727",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:50:25"
        },
        {
          "position": 173,
          "url": "https://newtoki1.org/manhwa/11023/1770461",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:50:46"
        },
        {
          "position": 174,
          "url": "https://newtoki1.org/manhwa/11023/1771718",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:51:15"
        },
        {
          "position": 175,
          "url": "https://newtoki1.org/manhwa/11023/1772661",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:51:36"
        },
        {
          "position": 176,
          "url": "https://newtoki1.org/manhwa/11023/1773797",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:52:04"
        },
        {
          "position": 177,
          "url": "https://newtoki1.org/manhwa/11023/1774450",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:52:34"
        },
        {
          "position": 178,
          "url": "https://newtoki1.org/manhwa/11023/1776532",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:53:04"
        },
        {
          "position": 179,
          "url": "https://newtoki1.org/manhwa/11023/1777588",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:53:25"
        },
        {
          "position": 180,
          "url": "https://newtoki1.org/manhwa/11023/1778633",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:53:54"
        },
        {
          "position": 181,
          "url": "https://newtoki1.org/manhwa/11023/1779192",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:54:15"
        },
        {
          "position": 182,
          "url": "https://newtoki1.org/manhwa/11023/1783873",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:54:44"
        },
        {
          "position": 183,
          "url": "https://newtoki1.org/manhwa/11023/1783882",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:55:14"
        },
        {
          "position": 184,
          "url": "https://newtoki1.org/manhwa/11023/1783974",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:55:35"
        },
        {
          "position": 185,
          "url": "https://newtoki1.org/manhwa/11023/1783991",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:55:57"
        },
        {
          "position": 186,
          "url": "https://newtoki1.org/manhwa/11023/1786536",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:56:17"
        },
        {
          "position": 187,
          "url": "https://newtoki1.org/manhwa/11023/1787149",
          "title": "Access denied",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "접근 차단 페이지가 로드됨",
          "updated_at": "2026-06-17T19:56:45"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "df2853e121",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-06-02T16:44:36",
      "started_at": "2026-06-04T11:00:42",
      "finished_at": "2026-06-04T11:04:37",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/24395",
        "target_id": "manhwa_24395",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "빠칭코 아가씨 - 와카바야시 토시야"
      },
      "logs": [
        {
          "time": "08:05:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #193"
        },
        {
          "time": "08:05:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:06:08",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 25화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:06:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #194"
        },
        {
          "time": "08:06:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:07:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 26화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:07:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #195"
        },
        {
          "time": "08:07:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:08:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 27화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:09:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #196"
        },
        {
          "time": "08:09:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:09:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 28화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:09:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #197"
        },
        {
          "time": "08:09:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:09:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 29화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:10:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #198"
        },
        {
          "time": "08:10:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:10:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 30화 | 뉴토끼, img_tags=35, image_urls=35"
        },
        {
          "time": "08:12:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #199"
        },
        {
          "time": "08:12:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:12:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 31화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:12:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #200"
        },
        {
          "time": "08:12:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:12:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 32화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:12:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #201"
        },
        {
          "time": "08:12:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:13:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 33화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:13:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #202"
        },
        {
          "time": "08:13:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:14:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 34화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:14:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #203"
        },
        {
          "time": "08:14:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:14:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 35화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:15:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #204"
        },
        {
          "time": "08:15:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:16:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 36화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:17:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #205"
        },
        {
          "time": "08:17:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:17:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 37화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:18:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #206"
        },
        {
          "time": "08:18:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:18:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 38화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "08:19:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #207"
        },
        {
          "time": "08:19:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:19:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 39화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:19:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #208"
        },
        {
          "time": "08:19:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:20:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 40화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:20:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #209"
        },
        {
          "time": "08:20:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:21:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 41화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:22:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #210"
        },
        {
          "time": "08:22:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:22:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 42화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:22:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #211"
        },
        {
          "time": "08:22:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:22:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 43화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:22:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #212"
        },
        {
          "time": "08:22:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:23:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 44화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:23:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #213"
        },
        {
          "time": "08:23:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:23:48",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 45화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "08:24:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #214"
        },
        {
          "time": "08:24:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:24:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 46화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:25:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #215"
        },
        {
          "time": "08:25:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:26:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 47화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:27:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #216"
        },
        {
          "time": "08:27:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:27:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 48화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:28:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #217"
        },
        {
          "time": "08:28:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:29:04",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 49화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:29:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #218"
        },
        {
          "time": "08:29:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:29:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 50화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "08:30:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #219"
        },
        {
          "time": "08:30:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:31:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 51화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:31:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #220"
        },
        {
          "time": "08:31:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:31:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 101화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:32:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #221"
        },
        {
          "time": "08:32:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:32:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 113화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:33:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #222"
        },
        {
          "time": "08:33:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:33:49",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 114화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:34:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #223"
        },
        {
          "time": "08:34:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:34:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 115화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:34:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #224"
        },
        {
          "time": "08:34:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:35:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 116화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:35:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #225"
        },
        {
          "time": "08:35:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:36:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 117화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:36:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #226"
        },
        {
          "time": "08:36:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:37:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 118화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:38:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #227"
        },
        {
          "time": "08:38:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:38:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 119화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:39:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #228"
        },
        {
          "time": "08:39:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:40:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 120화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:41:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #229"
        },
        {
          "time": "08:41:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:42:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 121화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "08:43:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #230"
        },
        {
          "time": "08:43:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:43:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 122화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:44:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #231"
        },
        {
          "time": "08:44:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:44:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 123화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:45:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #232"
        },
        {
          "time": "08:45:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:46:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 124화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:47:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #233"
        },
        {
          "time": "08:48:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:48:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 125화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:51:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #234"
        },
        {
          "time": "08:51:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:51:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 126화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:52:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #235"
        },
        {
          "time": "08:52:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:53:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 127화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:53:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #236"
        },
        {
          "time": "08:53:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:53:49",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 128화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:54:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #237"
        },
        {
          "time": "08:54:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:55:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 129화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "08:55:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #238"
        },
        {
          "time": "08:55:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:56:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 130화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:00:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "11:00:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:01:38",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "11:01:38",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:01:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "11:01:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:01:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 - 와카바야시 토시야 | 뉴토끼, links=145"
        },
        {
          "time": "11:01:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "11:02:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:02:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 37화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "11:02:19",
          "message": "작품 제목: 빠칭코 아가씨 - 와카바야시 토시야"
        },
        {
          "time": "11:02:20",
          "message": "메타데이터 태그 저장: 빠칭코 아가씨, 와카바야시 토시야"
        },
        {
          "time": "11:02:20",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "11:02:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "11:02:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:03:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=빠칭코 아가씨 131화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 2)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_24395",
        "target_id": "manhwa_24395",
        "title": "빠칭코 아가씨 - 와카바야시 토시야",
        "episodes_found": 143,
        "episodes_processed": 2,
        "episodes_failed": 0,
        "episodes_skipped": 141,
        "images_found": 10,
        "images_downloaded": 8,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_24395",
          "title": "빠칭코 아가씨 - 와카바야시 토시야",
          "list_url": "https://newtoki1.org/manhwa/24395",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/24395"
          },
          "tags": [
            "빠칭코 아가씨",
            "와카바야시 토시야"
          ],
          "description": "딱히 파칭코는 좋아하지 않으니까!! 파칭코를 좋아한다고 솔직하게 말할 수 없다… IT기업 츤데레SE · 아오이. 돈이 없어도 파칭코는 친다! 개방적인 쓰레기 · 미도리. (하지만 애교덩어리) 파칭코가 유일무이한 행복, 감정 롤러코스터인 OL · 히카루. 질 줄 알면서도 파칭코를 친다,",
          "metadata_path": "/downloads/manhwa_24395/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 2,
        "total": 2,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 43,
          "url": "https://newtoki1.org/manhwa/24395/1699579",
          "title": "빠칭코 아가씨 37화",
          "status": "completed",
          "image_count": 3,
          "images_done": 3,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 143,
          "url": "https://newtoki1.org/manhwa/24395/u-mpsjzo6d-38ou",
          "title": "빠칭코 아가씨 131화",
          "status": "completed",
          "image_count": 7,
          "images_done": 7,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "2838157617",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-06-02T16:44:25",
      "started_at": "2026-06-04T10:59:28",
      "finished_at": "2026-06-04T11:00:42",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/23623",
        "target_id": "manhwa_23623",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "절벽 위의 꽃은 흐트러져 핀다 - 이토우 에이"
      },
      "logs": [
        {
          "time": "21:23:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #236"
        },
        {
          "time": "21:23:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:23:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 28화 28화 화성에서도 아직 무겁다 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "21:23:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #237"
        },
        {
          "time": "21:23:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:24:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 29화 29화 당신과의 테라리움 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "21:25:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #238"
        },
        {
          "time": "21:25:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:25:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 30화 30화 나의 테라리움 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "21:26:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #239"
        },
        {
          "time": "21:26:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:26:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 31화 31화 귀여움은 이길 수 없어 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "21:26:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #240"
        },
        {
          "time": "21:26:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:26:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 32화 32화 귀엽지 않은 핑크색 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "21:27:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #241"
        },
        {
          "time": "21:27:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:27:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 33화 33화 달달하고 매콤한 근사한 모든 것 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "21:27:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #242"
        },
        {
          "time": "21:27:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:27:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 34화 34화 소녀의 마음과 이것과 그것 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "21:28:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #243"
        },
        {
          "time": "21:28:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:28:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 35화 35화 ≒의 정의 | 뉴토끼, img_tags=48, image_urls=48"
        },
        {
          "time": "21:28:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #244"
        },
        {
          "time": "21:28:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:28:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 36화 36화 큐트 어그레션 (Cute Aggression) | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "21:28:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #245"
        },
        {
          "time": "21:28:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:29:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 37화 37화 몰랐어 | 뉴토끼, img_tags=55, image_urls=55"
        },
        {
          "time": "21:29:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #246"
        },
        {
          "time": "21:29:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:29:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 38화 38화 치명상?? | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "21:29:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #247"
        },
        {
          "time": "21:29:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:30:04",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 39화 39화 방과 후의 마지막 노트 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "21:31:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #248"
        },
        {
          "time": "21:31:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:31:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 40화 40화 롱 맥시 (Long Maxi) 였으니까 | 뉴토끼, img_tags=51, image_urls=51"
        },
        {
          "time": "21:32:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #249"
        },
        {
          "time": "21:32:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:32:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 41화 41화 좀 더, 그 손으로 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "21:32:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #250"
        },
        {
          "time": "21:32:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:32:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 42화 42화 칭찬해 주셔서 영광입니다 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "21:32:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #251"
        },
        {
          "time": "21:32:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:32:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 43화 43화 특별한 정의 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "21:33:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #252"
        },
        {
          "time": "21:33:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:33:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 44화 44화 교복 트렌드? | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "21:34:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #253"
        },
        {
          "time": "21:34:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:34:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 45화 45화 분명 모두가 좋아 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "21:35:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #254"
        },
        {
          "time": "21:35:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:35:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 46화 46화 올려다 본 세계는 | 뉴토끼, img_tags=52, image_urls=52"
        },
        {
          "time": "21:36:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #255"
        },
        {
          "time": "21:36:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:36:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 47화 47화 너는 도도한 노예 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "21:36:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #256"
        },
        {
          "time": "21:36:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:36:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 48화 48화 여자아이의 그것과 이것 | 뉴토끼, img_tags=54, image_urls=54"
        },
        {
          "time": "21:37:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #257"
        },
        {
          "time": "21:37:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:37:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 49화 49화 남친의 특권 | 뉴토끼, img_tags=52, image_urls=52"
        },
        {
          "time": "21:37:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #258"
        },
        {
          "time": "21:37:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:38:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 50화 50화 영구 불변의 순수함 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "21:38:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #259"
        },
        {
          "time": "21:38:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:39:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 51화 51화 너에게 한정된 S의 겉모습 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "21:39:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #260"
        },
        {
          "time": "21:39:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:39:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 52화 52화 언젠가 필 꽃 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "21:40:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #261"
        },
        {
          "time": "21:40:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:40:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 53화 53화 여우비 | 뉴토끼, img_tags=48, image_urls=48"
        },
        {
          "time": "21:40:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #262"
        },
        {
          "time": "21:40:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:41:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 54화 54화 데이트는 비밀로 꾸미고 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "21:42:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #263"
        },
        {
          "time": "21:42:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:42:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 55화 55화 보통의 공부 | 뉴토끼, img_tags=54, image_urls=54"
        },
        {
          "time": "21:44:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #264"
        },
        {
          "time": "21:44:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:44:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 56화 56화 떠들석한 란제리 하우스 | 뉴토끼, img_tags=49, image_urls=49"
        },
        {
          "time": "21:46:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #265"
        },
        {
          "time": "21:46:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:46:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 57화 57화 행복의 노예 | 뉴토끼, img_tags=50, image_urls=50"
        },
        {
          "time": "21:46:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #266"
        },
        {
          "time": "21:46:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:47:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 58화 58화 가을이 아니라도 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "21:47:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #267"
        },
        {
          "time": "21:47:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:48:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 59화 59화 시험 전에는 조용히 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "21:48:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #268"
        },
        {
          "time": "21:48:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:48:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 60화 60화 사치스러운 나 | 뉴토끼, img_tags=44, image_urls=44"
        },
        {
          "time": "21:49:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #269"
        },
        {
          "time": "21:49:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:49:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 61화 61화 변신의 마법 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "21:49:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #270"
        },
        {
          "time": "21:49:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:50:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 62화 62화 둘만의 평범함 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "21:50:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #271"
        },
        {
          "time": "21:50:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:51:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 63화 63화 처음듣는 만유인력 | 뉴토끼, img_tags=53, image_urls=53"
        },
        {
          "time": "21:51:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #272"
        },
        {
          "time": "21:51:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:51:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 64화 64화 이세계 전생은 안 했지만, 안경 쓴 아싸인 그이에게 듬뿍 사랑받고 있습니다 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "21:51:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #273"
        },
        {
          "time": "21:51:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:51:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 65화 65화 들켰어 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "21:52:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #274"
        },
        {
          "time": "21:52:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:53:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 66화 66화 자중 권장 | 뉴토끼, img_tags=58, image_urls=58"
        },
        {
          "time": "21:53:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #275"
        },
        {
          "time": "21:53:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:53:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 67화 67화 매료시켜 줄게 | 뉴토끼, img_tags=57, image_urls=57"
        },
        {
          "time": "21:54:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #276"
        },
        {
          "time": "21:54:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:54:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 68화 68화 소녀의 화원 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "21:54:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #277"
        },
        {
          "time": "21:54:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:55:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 69화 69화 무한긍정 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "21:55:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #278"
        },
        {
          "time": "21:55:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:55:48",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 70화 70화 화양금석 꾸미기 좋은 날 | 뉴토끼, img_tags=53, image_urls=53"
        },
        {
          "time": "21:56:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #279"
        },
        {
          "time": "21:56:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:57:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 71화 71화 당신의 노예 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "21:57:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #280"
        },
        {
          "time": "21:57:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:57:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 72화 72화 다른 사람의 유두는 무슨 색 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:43:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #230"
        },
        {
          "time": "16:43:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:43:50",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23623, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060286"
        },
        {
          "time": "16:43:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #231"
        },
        {
          "time": "16:43:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:44:12",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23623, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06028b"
        },
        {
          "time": "16:44:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #232"
        },
        {
          "time": "16:44:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:44:33",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23623, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060294"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:59:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "10:59:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:59:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 - 이토우 에이 | 뉴토끼, links=75"
        },
        {
          "time": "10:59:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "10:59:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:59:45",
          "message": "작품 제목: 절벽 위의 꽃은 흐트러져 핀다 - 이토우 에이"
        },
        {
          "time": "10:59:46",
          "message": "메타데이터 태그 저장: 이토우 에이, 절벽 위의 꽃은 흐트러져 핀다"
        },
        {
          "time": "10:59:48",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "10:59:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절벽 위의 꽃은 흐트러져 핀다 73화 73화 공백 10 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23623",
        "target_id": "manhwa_23623",
        "title": "절벽 위의 꽃은 흐트러져 핀다 - 이토우 에이",
        "episodes_found": 73,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 72,
        "images_found": 19,
        "images_downloaded": 19,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23623",
          "title": "절벽 위의 꽃은 흐트러져 핀다 - 이토우 에이",
          "list_url": "https://newtoki1.org/manhwa/23623",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23623"
          },
          "tags": [
            "이토우 에이",
            "절벽 위의 꽃은 흐트러져 핀다"
          ],
          "description": "그녀는 완벽한 모범생으로, 아름답고 똑똑하며 친구도 많다. 그는 평범한 반 친구로, 멀리서 그녀를 바라보다가... 그녀가 매우 곤란한 상황에 처한 것을 목격하게 된다! 그녀는 어떻게 반응할까? 이제 두 사람의 삶은 예상치 못한 방향으로 얽히게 된다!",
          "metadata_path": "/downloads/manhwa_23623/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 73,
          "url": "https://newtoki1.org/manhwa/23623/u-mpsrjzsf-byme",
          "title": "절벽 위의 꽃은 흐트러져 핀다 73화 73화 공백 10",
          "status": "completed",
          "image_count": 19,
          "images_done": 19,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "1656c469f2",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-06-02T16:44:12",
      "started_at": "2026-06-04T16:07:59",
      "finished_at": "2026-06-04T16:10:34",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/23203",
        "target_id": "manhwa_23203",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "할매할배가 회춘하는 이야기 - 아라이도 카기리"
      },
      "logs": [
        {
          "time": "20:23:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 168화 할매할배가 회춘하는… 이야기 168화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:24:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #171"
        },
        {
          "time": "20:24:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:24:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 169화 할매할배가 회춘하는… 이야기 169화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:26:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #172"
        },
        {
          "time": "20:26:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:26:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 170화 할매할배가 회춘하는… 이야기 170화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:27:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #173"
        },
        {
          "time": "20:27:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:28:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 171화 할매할배가 회춘하는… 이야기 171화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:28:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #174"
        },
        {
          "time": "20:28:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:29:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 172화 할매할배가 회춘하는… 이야기 172화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:29:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #175"
        },
        {
          "time": "20:29:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:29:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 173화 할매할배가 회춘하는… 이야기 173화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:29:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #176"
        },
        {
          "time": "20:29:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:29:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 174화 할매할배가 회춘하는… 이야기 174화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "20:30:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #177"
        },
        {
          "time": "20:30:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:30:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 175화 할매할배가 회춘하는… 이야기 175화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:30:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #178"
        },
        {
          "time": "20:30:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:30:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 176화 할매할배가 회춘하는… 이야기 176화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "20:32:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #179"
        },
        {
          "time": "20:32:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:32:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 177화 할매할배가 회춘하는… 이야기 177화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:33:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #180"
        },
        {
          "time": "20:33:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:33:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 178화 할매할배가 회춘하는… 이야기 178화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:33:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #181"
        },
        {
          "time": "20:33:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:34:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 179화 할매할배가 회춘하는… 이야기 179화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:34:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #182"
        },
        {
          "time": "20:34:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:35:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 180화 할매할배가 회춘하는… 이야기 180화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:35:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #183"
        },
        {
          "time": "20:35:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:36:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 181화 할매할배가 회춘하는… 이야기 181화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:36:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #184"
        },
        {
          "time": "20:36:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:36:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 182화 할매할배가 회춘하는… 이야기 182화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:37:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #185"
        },
        {
          "time": "20:37:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:37:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 183화 할매할배가 회춘하는… 이야기 183화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:38:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #186"
        },
        {
          "time": "20:38:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:38:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 184화 할매할배가 회춘하는… 이야기 184화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:38:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #187"
        },
        {
          "time": "20:38:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:38:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 185화 할매할배가 회춘하는… 이야기 185화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:39:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #188"
        },
        {
          "time": "20:39:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:40:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 186화 할매할배가 회춘하는… 이야기 186화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:41:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #189"
        },
        {
          "time": "20:41:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:41:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 187화 할매할배가 회춘하는… 이야기 187화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "20:42:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #190"
        },
        {
          "time": "20:42:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:42:49",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 188화 할매할배가 회춘하는… 이야기 188화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:43:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #191"
        },
        {
          "time": "20:43:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:43:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 189화 할매할배가 회춘하는… 이야기 189화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:44:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #192"
        },
        {
          "time": "20:44:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:44:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 190화 할매할배가 회춘하는… 이야기 190화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:44:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #193"
        },
        {
          "time": "20:44:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:44:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 191화 할매할배가 회춘하는… 이야기 191화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:45:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #194"
        },
        {
          "time": "20:45:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:45:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 192화 할매할배가 회춘하는… 이야기 192화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "20:46:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #195"
        },
        {
          "time": "20:46:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:46:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 193화 할매할배가 회춘하는… 이야기 193화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:47:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #196"
        },
        {
          "time": "20:47:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:47:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 194화 할매할배가 회춘하는… 이야기 194화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:48:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #197"
        },
        {
          "time": "20:48:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:48:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 195화 할매할배가 회춘하는… 이야기 195화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:49:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #198"
        },
        {
          "time": "20:49:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:49:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 196화 할매할배가 회춘하는… 이야기 196화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:49:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #199"
        },
        {
          "time": "20:49:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:49:49",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 197화 할매할배가 회춘하는… 이야기 197화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:49:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #200"
        },
        {
          "time": "20:49:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:50:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 198화 할매할배가 회춘하는… 이야기 198화 | 뉴토끼, img_tags=56, image_urls=54"
        },
        {
          "time": "20:50:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #201"
        },
        {
          "time": "20:50:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:51:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 200화 할배할매 회춘하는 이야기 200 화 | 뉴토끼, img_tags=44, image_urls=37"
        },
        {
          "time": "20:52:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #202"
        },
        {
          "time": "20:52:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:52:48",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 201화 할배할매 회춘하는 이야기 201 화 | 뉴토끼, img_tags=40, image_urls=38"
        },
        {
          "time": "20:53:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #203"
        },
        {
          "time": "20:53:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:53:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 202화 할배할매 회춘하는 이야기 202 화 | 뉴토끼, img_tags=42, image_urls=38"
        },
        {
          "time": "20:53:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #204"
        },
        {
          "time": "20:53:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:53:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 203화 할배할매 회춘하는 이야기 203 화 | 뉴토끼, img_tags=36, image_urls=35"
        },
        {
          "time": "20:53:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #205"
        },
        {
          "time": "20:53:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:54:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 204화 할배할매 204 화 | 뉴토끼, img_tags=43, image_urls=35"
        },
        {
          "time": "20:55:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #206"
        },
        {
          "time": "20:55:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:55:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 205화 할배할매 205 화 | 뉴토끼, img_tags=36, image_urls=35"
        },
        {
          "time": "20:55:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #207"
        },
        {
          "time": "20:55:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:55:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 206화 할배할매 206 화 | 뉴토끼, img_tags=35, image_urls=33"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:45:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #233"
        },
        {
          "time": "16:45:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:45:28",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23203, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0602ac"
        },
        {
          "time": "16:45:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #234"
        },
        {
          "time": "16:45:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:45:49",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23203, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0602b2"
        },
        {
          "time": "16:46:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #235"
        },
        {
          "time": "16:46:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:46:45",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23203, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0602c7"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:56:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #50"
        },
        {
          "time": "10:56:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:57:09",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:57:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:57:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #51"
        },
        {
          "time": "10:57:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:57:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 - 아라이도 카기리 | 뉴토끼, links=208"
        },
        {
          "time": "10:58:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #52"
        },
        {
          "time": "10:58:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:58:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 69화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:58:19",
          "message": "작품 제목: 할매할배가 회춘하는 이야기 - 아라이도 카기리"
        },
        {
          "time": "10:58:20",
          "message": "메타데이터 태그 저장: 아라이도 카기리, 할매할배가 회춘하는 이야기"
        },
        {
          "time": "10:58:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #53"
        },
        {
          "time": "10:58:20",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "10:58:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:58:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 187화 할매할배가 회춘하는… 이야기 187화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "10:59:27",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:05:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-04T16:05:59"
        },
        {
          "time": "16:05:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:08:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #559"
        },
        {
          "time": "16:08:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:09:00",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:09:02",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:09:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #560"
        },
        {
          "time": "16:09:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:09:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 - 아라이도 카기리 | 뉴토끼, links=208"
        },
        {
          "time": "16:09:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #561"
        },
        {
          "time": "16:09:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:09:52",
          "message": "작품 제목: 할매할배가 회춘하는 이야기 - 아라이도 카기리"
        },
        {
          "time": "16:09:53",
          "message": "메타데이터 태그 저장: 아라이도 카기리, 할매할배가 회춘하는 이야기"
        },
        {
          "time": "16:09:53",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "16:10:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=할매할배가 회춘하는 이야기 69화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23203",
        "target_id": "manhwa_23203",
        "title": "할매할배가 회춘하는 이야기 - 아라이도 카기리",
        "episodes_found": 206,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 205,
        "images_found": 2,
        "images_downloaded": 0,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23203",
          "title": "할매할배가 회춘하는 이야기 - 아라이도 카기리",
          "list_url": "https://newtoki1.org/manhwa/23203",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23203"
          },
          "tags": [
            "아라이도 카기리",
            "할매할배가 회춘하는 이야기"
          ],
          "description": "오랜 시간동안 서로 부부로 지내왔던 노부부가 갑자기 회춘했다?! 깜짝 놀래키는 잉꼬부부 코미디! 아오모리에서 사과농장을 운영중인 노부부 쇼죠와 이네. 어느 날 눈을 뜬 두 사람은 젊었을 시절의 모습으로 변해있었는데!? 훈남 할아버지&미인 할머니가 돌풍을 일으키는, 놀라움이 가득한 잉꼬부",
          "metadata_path": "/downloads/manhwa_23203/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 70,
          "url": "https://newtoki1.org/manhwa/23203/304715",
          "title": "할매할배가 회춘하는 이야기 69화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "b1d3c7e31f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-06-02T16:44:01",
      "started_at": "2026-06-04T10:54:02",
      "finished_at": "2026-06-04T10:56:15",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/32829",
        "target_id": "manhwa_32829",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "향기로운 꽃은 늠름하게 핀다 - 미카미 사카"
      },
      "logs": [
        {
          "time": "07:24:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #139"
        },
        {
          "time": "07:24:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:24:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 149화 향기로운 꽃은 늠름…게 핀다 149화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "07:26:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #140"
        },
        {
          "time": "07:26:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:26:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 149.5화 향기로운 꽃은 늠름…핀다 149.5화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "07:26:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #141"
        },
        {
          "time": "07:26:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:26:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 150화 향기로운 꽃은 늠름…게 핀다 150화 | 뉴토끼, img_tags=44, image_urls=44"
        },
        {
          "time": "07:27:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #142"
        },
        {
          "time": "07:27:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:27:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 151화 향기로운 꽃은 늠름…게 핀다 151화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "07:28:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #143"
        },
        {
          "time": "07:28:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:29:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 152화 향기로운 꽃은 늠름…게 핀다 152화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "07:30:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #144"
        },
        {
          "time": "07:30:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:30:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 153화 향기로운 꽃은 늠름…게 핀다 153화 | 뉴토끼, img_tags=53, image_urls=53"
        },
        {
          "time": "07:31:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #145"
        },
        {
          "time": "07:31:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:31:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 154화 향기로운 꽃은 늠름…게 핀다 154화 | 뉴토끼, img_tags=50, image_urls=50"
        },
        {
          "time": "07:32:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #146"
        },
        {
          "time": "07:32:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:32:49",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 155화 향기로운 꽃은 늠름…게 핀다 155화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "07:32:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #147"
        },
        {
          "time": "07:32:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:33:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 156화 향기로운 꽃은 늠름…게 핀다 156화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "07:33:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #148"
        },
        {
          "time": "07:33:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:33:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 156.5화 향기로운 꽃은 늠름…핀다 156.5화 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "07:33:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #149"
        },
        {
          "time": "07:33:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:34:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 157화 향기로운 꽃은 늠름…게 핀다 157화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "07:35:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #150"
        },
        {
          "time": "07:35:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:35:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 158화 향기로운 꽃은 늠름…게 핀다 158화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "07:35:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #151"
        },
        {
          "time": "07:35:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:36:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 159화 향기로운 꽃은 늠름…게 핀다 159화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "07:36:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #152"
        },
        {
          "time": "07:36:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:36:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 160화 향기로운 꽃은 늠름…게 핀다 160화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "07:36:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #153"
        },
        {
          "time": "07:36:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:36:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 161화 향기로운 꽃은 늠름…게 핀다 161화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "07:36:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #154"
        },
        {
          "time": "07:36:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:36:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 162화 향기로운 꽃은 늠름…게 핀다 162화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "07:37:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #155"
        },
        {
          "time": "07:37:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:37:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 163화 향기로운 꽃은 늠름…게 핀다 163화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "07:38:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #156"
        },
        {
          "time": "07:38:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:38:48",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 164화 향기로운 꽃은 늠름…게 핀다 164화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "07:39:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #157"
        },
        {
          "time": "07:39:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:40:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 165화 향기로운 꽃은 늠름…게 핀다 165화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "07:41:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #158"
        },
        {
          "time": "07:41:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:41:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 166화 향기로운 꽃은 늠름…게 핀다 166화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "07:41:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #159"
        },
        {
          "time": "07:41:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:42:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 166.1화 향기로운 꽃은 늠름…핀다 166.1화 | 뉴토끼, img_tags=63, image_urls=63"
        },
        {
          "time": "07:42:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #160"
        },
        {
          "time": "07:42:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:42:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 167화 향기로운 꽃은 늠름…게 핀다 167화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "07:43:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #161"
        },
        {
          "time": "07:43:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:43:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 168화 향기로운 꽃은 늠름…게 핀다 168화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "07:43:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #162"
        },
        {
          "time": "07:43:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:43:58",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 168.5화 향기로운 꽃은 늠름…핀다 168.5화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "07:44:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #163"
        },
        {
          "time": "07:44:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:44:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 169화 향기로운 꽃은 늠름…게 핀다 169화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "07:44:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #164"
        },
        {
          "time": "07:44:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:44:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 170화 향기로운 꽃은 늠름…게 핀다 170화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "07:45:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #165"
        },
        {
          "time": "07:45:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:46:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 171화 향기로운 꽃은 늠름…게 핀다 171화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "07:47:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #166"
        },
        {
          "time": "07:47:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:47:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 172화 향기로운 꽃은 늠름…게 핀다 172화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "07:47:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #167"
        },
        {
          "time": "07:47:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:47:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 173화 향기로운 꽃은 늠름…게 핀다 173화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "07:48:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #168"
        },
        {
          "time": "07:48:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:48:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 174화 향기로운 꽃은 늠름…게 핀다 174화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "07:48:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #169"
        },
        {
          "time": "07:48:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:49:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 175화 향기로운 꽃은 늠름…게 핀다 175화 | 뉴토끼, img_tags=49, image_urls=49"
        },
        {
          "time": "07:49:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #170"
        },
        {
          "time": "07:49:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:49:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 176화 향기로운 꽃은 늠름…게 핀다 176화 | 뉴토끼, img_tags=35, image_urls=35"
        },
        {
          "time": "07:51:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #171"
        },
        {
          "time": "07:51:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:52:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 177화 향기로운 꽃은 늠름…게 핀다 177화 | 뉴토끼, img_tags=50, image_urls=50"
        },
        {
          "time": "07:52:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #172"
        },
        {
          "time": "07:52:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:52:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 178화 향기로운 꽃은 늠름…게 핀다 178화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "07:53:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #173"
        },
        {
          "time": "07:53:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:53:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #174"
        },
        {
          "time": "07:53:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:54:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #175"
        },
        {
          "time": "07:54:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:54:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 180화 향기로운 꽃은 늠름…게 핀다 180화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "07:54:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #176"
        },
        {
          "time": "07:54:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:54:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 181화 향기로운 꽃은 늠름…게 핀다 181화 | 뉴토끼, img_tags=51, image_urls=51"
        },
        {
          "time": "07:55:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #177"
        },
        {
          "time": "07:55:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:55:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 182화 향기로운 꽃은 늠름…게 핀다 182화 | 뉴토끼, img_tags=44, image_urls=44"
        },
        {
          "time": "07:56:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #178"
        },
        {
          "time": "07:56:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:56:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 183화 향기로운 꽃은 늠름…게 핀다 183화 | 뉴토끼, img_tags=37, image_urls=37"
        },
        {
          "time": "07:57:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #179"
        },
        {
          "time": "07:57:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:57:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 184화 향기로운 꽃은 늠름…게 핀다 184화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "07:57:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #180"
        },
        {
          "time": "07:57:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:57:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 185화 향기로운 꽃은 늠름…게 핀다 185화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "07:58:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #181"
        },
        {
          "time": "07:58:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:58:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 186화 향기로운 꽃은 늠름…게 핀다 186화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "07:58:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #182"
        },
        {
          "time": "07:58:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:59:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 187화 향기로운 꽃은 늠름…게 핀다 187화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "07:59:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #183"
        },
        {
          "time": "07:59:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:59:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 188화 | 뉴토끼, img_tags=55, image_urls=55"
        },
        {
          "time": "08:00:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #184"
        },
        {
          "time": "08:00:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:00:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 189화 | 뉴토끼, img_tags=48, image_urls=47"
        },
        {
          "time": "08:01:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #185"
        },
        {
          "time": "08:01:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:01:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 190화 | 뉴토끼, img_tags=65, image_urls=64"
        },
        {
          "time": "08:02:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #186"
        },
        {
          "time": "08:02:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:02:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 64.5화 향기로운 꽃은 늠름… 핀다 64.5화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "08:03:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #187"
        },
        {
          "time": "08:03:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:03:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 179화 향기로운 꽃은 늠름…게 핀다 179화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:54:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #48"
        },
        {
          "time": "10:54:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:54:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 - 미카미 사카 | 뉴토끼, links=212"
        },
        {
          "time": "10:54:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #49"
        },
        {
          "time": "10:55:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:55:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=향기로운 꽃은 늠름하게 핀다 164화 향기로운 꽃은 늠름…게 핀다 164화 | 뉴토끼, img_tags=55, image_urls=55"
        },
        {
          "time": "10:55:58",
          "message": "작품 제목: 향기로운 꽃은 늠름하게 핀다 - 미카미 사카"
        },
        {
          "time": "10:55:59",
          "message": "메타데이터 태그 저장: 미카미 사카, 향기로운 꽃은 늠름하게 핀다"
        },
        {
          "time": "10:55:59",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_32829",
        "target_id": "manhwa_32829",
        "title": "향기로운 꽃은 늠름하게 핀다 - 미카미 사카",
        "episodes_found": 210,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 209,
        "images_found": 29,
        "images_downloaded": 27,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_32829",
          "title": "향기로운 꽃은 늠름하게 핀다 - 미카미 사카",
          "list_url": "https://newtoki1.org/manhwa/32829",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/32829"
          },
          "tags": [
            "미카미 사카",
            "향기로운 꽃은 늠름하게 핀다"
          ],
          "description": "어떤 곳에는 인접한 두 개의 고등학교가 있다. 바보가 모이는 저변 남고·치도리 고등학교와, 유서 깊은 아가씨학교·키쿄우 여자 학원. 강경하고 조용한 치도리 고등학교 2학년, 츠무기 린타로는, 부모의 케이크 가게 일을 돕는 도중 손님으로 와 있던 소녀·와구리 카오루코를 만난다. 카오루코와",
          "metadata_path": "/downloads/manhwa_32829/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 182,
          "url": "https://newtoki1.org/manhwa/32829/1802051",
          "title": "향기로운 꽃은 늠름하게 핀다 164화 향기로운 꽃은 늠름…게 핀다 164화",
          "status": "completed",
          "image_count": 29,
          "images_done": 29,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "e07280827f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-06-02T16:43:54",
      "started_at": "2026-06-04T10:52:18",
      "finished_at": "2026-06-04T10:54:01",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/34731",
        "target_id": "manhwa_34731",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ - 후지야 카츠히토"
      },
      "logs": [
        {
          "time": "17:29:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "17:29:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:29:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 3화 어차피 남의 일이니까 3화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "17:29:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "17:29:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:29:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 4화 어차피 남의 일이니까 4화 | 뉴토끼, img_tags=58, image_urls=58"
        },
        {
          "time": "17:29:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "17:29:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:29:49",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 5화 어차피 남의 일이니까 5화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "17:29:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "17:29:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:30:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 6화 어차피 남의 일이니까 6화 | 뉴토끼, img_tags=44, image_urls=44"
        },
        {
          "time": "17:30:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "17:30:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:30:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 7화 어차피 남의 일이니까 7화 | 뉴토끼, img_tags=37, image_urls=37"
        },
        {
          "time": "17:30:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "17:30:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:30:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 8화 어차피 남의 일이니까 8화 | 뉴토끼, img_tags=52, image_urls=52"
        },
        {
          "time": "17:33:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "17:33:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:33:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 9화 어차피 남의 일이니까 9화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "17:34:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #25"
        },
        {
          "time": "17:34:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:35:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 10화 어차피 남의 일이니까 10화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "17:36:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #26"
        },
        {
          "time": "17:36:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:36:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 11화 어차피 남의 일이니까 11화 | 뉴토끼, img_tags=60, image_urls=60"
        },
        {
          "time": "17:37:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #27"
        },
        {
          "time": "17:37:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:37:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 12화 어차피 남의 일이니까 12화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "17:37:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #28"
        },
        {
          "time": "17:37:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:38:08",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 13화 어차피 남의 일이니까 13화 | 뉴토끼, img_tags=50, image_urls=50"
        },
        {
          "time": "17:38:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #29"
        },
        {
          "time": "17:38:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:38:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 14화 어차피 남의 일이니까 14화 | 뉴토끼, img_tags=56, image_urls=56"
        },
        {
          "time": "17:40:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #30"
        },
        {
          "time": "17:40:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:41:05",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:55:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "03:55:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:55:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ - 후지야 카츠히토 | 뉴토끼, links=47"
        },
        {
          "time": "03:56:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "03:56:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:56:14",
          "message": "작품 제목: 어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ - 후지야 카츠히토"
        },
        {
          "time": "03:56:15",
          "message": "메타데이터 태그 저장: 어차피 남일이니까요 ~어느 변호사의 솔직한 업무~, 후지야 카츠히토"
        },
        {
          "time": "03:56:18",
          "message": "순회 계획을 저장했습니다: 31개 회차"
        },
        {
          "time": "03:56:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 15화 어차피 남의 일이니까 15화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "03:57:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "03:57:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:57:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 16화 어차피 남의 일이니까 16화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "03:58:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "03:58:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:58:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 17화 어차피 남의 일이니까 17화 | 뉴토끼, img_tags=61, image_urls=61"
        },
        {
          "time": "03:59:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "03:59:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:00:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 18화 어차피 남일이니까요…한 업무~ 18화 | 뉴토끼, img_tags=56, image_urls=56"
        },
        {
          "time": "04:00:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #25"
        },
        {
          "time": "04:00:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:00:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 19화 어차피 남일이니까요…한 업무~ 19화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "04:01:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #26"
        },
        {
          "time": "04:01:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:01:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 20화 어차피 남일이니까요…한 업무~ 20화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "04:01:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #27"
        },
        {
          "time": "04:01:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:02:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 21화 어차피 남일이니까요…한 업무~ 21화 | 뉴토끼, img_tags=59, image_urls=59"
        },
        {
          "time": "04:02:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #28"
        },
        {
          "time": "04:02:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:03:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 22화 어차피 남일이니까요…한 업무~ 22화 | 뉴토끼, img_tags=58, image_urls=58"
        },
        {
          "time": "04:04:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #29"
        },
        {
          "time": "04:04:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:04:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 23화 어차피 남일이니까요…한 업무~ 23화 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "04:06:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #30"
        },
        {
          "time": "04:06:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:06:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 24화 어차피 남일이니까요…한 업무~ 24화 | 뉴토끼, img_tags=68, image_urls=68"
        },
        {
          "time": "04:06:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #31"
        },
        {
          "time": "04:06:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:07:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 25화 어차피 남일이니까요…한 업무~ 25화 | 뉴토끼, img_tags=56, image_urls=56"
        },
        {
          "time": "04:08:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #32"
        },
        {
          "time": "04:08:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:08:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 26화 어차피 남일이니까요…한 업무~ 26화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "04:09:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #33"
        },
        {
          "time": "04:09:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:09:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 27화 어차피 남일이니까요…한 업무~ 27화 | 뉴토끼, img_tags=53, image_urls=53"
        },
        {
          "time": "04:11:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #34"
        },
        {
          "time": "04:11:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:11:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 28화 어차피 남일이니까요…한 업무~ 28화 | 뉴토끼, img_tags=44, image_urls=44"
        },
        {
          "time": "04:13:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #35"
        },
        {
          "time": "04:13:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:13:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 29화 어차피 남일이니까요…한 업무~ 29화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "04:14:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #36"
        },
        {
          "time": "04:14:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:14:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 30화 어차피 남일이니까요…한 업무~ 30화 | 뉴토끼, img_tags=61, image_urls=61"
        },
        {
          "time": "04:15:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #37"
        },
        {
          "time": "04:15:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:15:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 31화 어차피 남일이니까요…한 업무~ 31화 | 뉴토끼, img_tags=61, image_urls=61"
        },
        {
          "time": "04:17:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #38"
        },
        {
          "time": "04:17:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:17:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 32화 어차피 남일이니까요…한 업무~ 32화 | 뉴토끼, img_tags=49, image_urls=49"
        },
        {
          "time": "04:18:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #39"
        },
        {
          "time": "04:18:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:18:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 33화 어차피 남일이니까요…한 업무~ 33화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "04:19:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #40"
        },
        {
          "time": "04:19:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:19:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 34화 어차피 남일이니까요…한 업무~ 34화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "04:20:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #41"
        },
        {
          "time": "04:20:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:21:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 35화 어차피 남일이니까요…한 업무~ 35화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "04:21:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #42"
        },
        {
          "time": "04:21:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:21:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 36화 | 뉴토끼, img_tags=58, image_urls=57"
        },
        {
          "time": "04:23:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #43"
        },
        {
          "time": "04:23:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:23:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 37화 | 뉴토끼, img_tags=65, image_urls=64"
        },
        {
          "time": "04:24:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #44"
        },
        {
          "time": "04:24:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:24:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 38화 | 뉴토끼, img_tags=63, image_urls=63"
        },
        {
          "time": "04:25:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #45"
        },
        {
          "time": "04:25:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:25:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 39화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "04:26:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #46"
        },
        {
          "time": "04:26:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:26:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 40화 | 뉴토끼, img_tags=63, image_urls=63"
        },
        {
          "time": "04:28:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #47"
        },
        {
          "time": "04:28:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:28:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 41화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "04:28:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #48"
        },
        {
          "time": "04:28:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:28:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 42화 | 뉴토끼, img_tags=60, image_urls=60"
        },
        {
          "time": "04:30:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #49"
        },
        {
          "time": "04:30:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:30:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 43화 | 뉴토끼, img_tags=58, image_urls=58"
        },
        {
          "time": "04:32:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #50"
        },
        {
          "time": "04:32:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:32:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 44화 | 뉴토끼, img_tags=59, image_urls=59"
        },
        {
          "time": "04:32:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #51"
        },
        {
          "time": "04:32:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:32:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ 45화 | 뉴토끼, img_tags=53, image_urls=53"
        },
        {
          "time": "05:26:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T05:25:52 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:55:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #248"
        },
        {
          "time": "16:55:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:55:57",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/34731, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0603a2"
        },
        {
          "time": "16:55:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #249"
        },
        {
          "time": "16:55:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:56:18",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/34731, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0603a7"
        },
        {
          "time": "16:56:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #250"
        },
        {
          "time": "16:56:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:56:40",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/34731, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0603b0"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:53:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #47"
        },
        {
          "time": "10:53:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:53:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ - 후지야 카츠히토 | 뉴토끼, links=47"
        },
        {
          "time": "10:54:00",
          "message": "작품 제목: 어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ - 후지야 카츠히토"
        },
        {
          "time": "10:54:01",
          "message": "메타데이터 태그 저장: 어차피 남일이니까요 ~어느 변호사의 솔직한 업무~, 후지야 카츠히토"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34731",
        "target_id": "manhwa_34731",
        "title": "어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ - 후지야 카츠히토",
        "episodes_found": 45,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 45,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34731",
          "title": "어차피 남일이니까요 ~어느 변호사의 솔직한 업무~ - 후지야 카츠히토",
          "list_url": "https://newtoki1.org/manhwa/34731",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34731"
          },
          "tags": [
            "어차피 남일이니까요 ~어느 변호사의 솔직한 업무~",
            "후지야 카츠히토"
          ],
          "description": "인터넷 사이버 불링, SNS 트러블에 휘말린 적이 있으십니까?인터넷 상에서 악플과 악성 루머에 시달리던 여성이 만난 변호사.인터넷 쪽에는 강하지만 상당한 괴짜다…?!누구나가 오늘 당장 피해자가 될 수 있고가해자도 될 수 있는 현대의 어둠!누구나 당할 수 있는 악플 및 루머 유포 & 정보",
          "metadata_path": "/downloads/manhwa_34731/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 45,
        "total": 45,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "466511e1ff",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-06-02T16:43:40",
      "started_at": "2026-06-04T10:50:10",
      "finished_at": "2026-06-04T10:52:18",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/25535",
        "target_id": "manhwa_25535",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "잇시키 양은 사랑을 알고 싶어 - 아라라기 아유네"
      },
      "logs": [
        {
          "time": "17:14:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "17:14:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:15:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=잇시키 양은 사랑을 알고 싶어 - 아라라기 아유네 | 뉴토끼, links=78"
        },
        {
          "time": "17:15:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "17:15:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:16:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잇시키 양은 사랑을 알고 싶어 9.5화 잇시키 양은 사랑을…고 싶어 9.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:16:04",
          "message": "작품 제목: 잇시키 양은 사랑을 알고 싶어 - 아라라기 아유네"
        },
        {
          "time": "17:16:04",
          "message": "메타데이터 태그 저장: 아라라기 아유네, 잇시키 양은 사랑을 알고 싶어"
        },
        {
          "time": "17:16:05",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:12:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #64"
        },
        {
          "time": "03:12:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:12:32",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:12:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #65"
        },
        {
          "time": "03:12:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:12:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=잇시키 양은 사랑을 알고 싶어 - 아라라기 아유네 | 뉴토끼, links=78"
        },
        {
          "time": "03:13:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #66"
        },
        {
          "time": "03:13:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:13:22",
          "message": "작품 제목: 잇시키 양은 사랑을 알고 싶어 - 아라라기 아유네"
        },
        {
          "time": "03:13:22",
          "message": "메타데이터 태그 저장: 아라라기 아유네, 잇시키 양은 사랑을 알고 싶어"
        },
        {
          "time": "03:13:23",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "03:13:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잇시키 양은 사랑을 알고 싶어 9.5화 잇시키 양은 사랑을…고 싶어 9.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:38:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #224"
        },
        {
          "time": "16:38:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:39:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=잇시키 양은 사랑을 알고 싶어 - 아라라기 아유네 | 뉴토끼, links=78"
        },
        {
          "time": "16:39:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #225"
        },
        {
          "time": "16:39:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:39:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잇시키 양은 사랑을 알고 싶어 9.5화 잇시키 양은 사랑을…고 싶어 9.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:39:46",
          "message": "작품 제목: 잇시키 양은 사랑을 알고 싶어 - 아라라기 아유네"
        },
        {
          "time": "16:39:46",
          "message": "메타데이터 태그 저장: 아라라기 아유네, 잇시키 양은 사랑을 알고 싶어"
        },
        {
          "time": "16:39:46",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:51:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #45"
        },
        {
          "time": "10:51:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:51:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=잇시키 양은 사랑을 알고 싶어 - 아라라기 아유네 | 뉴토끼, links=78"
        },
        {
          "time": "10:52:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #46"
        },
        {
          "time": "10:52:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:52:07",
          "message": "작품 제목: 잇시키 양은 사랑을 알고 싶어 - 아라라기 아유네"
        },
        {
          "time": "10:52:08",
          "message": "메타데이터 태그 저장: 아라라기 아유네, 잇시키 양은 사랑을 알고 싶어"
        },
        {
          "time": "10:52:08",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "10:52:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잇시키 양은 사랑을 알고 싶어 9.5화 잇시키 양은 사랑을…고 싶어 9.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_25535",
        "target_id": "manhwa_25535",
        "title": "잇시키 양은 사랑을 알고 싶어 - 아라라기 아유네",
        "episodes_found": 76,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 75,
        "images_found": 2,
        "images_downloaded": 0,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_25535",
          "title": "잇시키 양은 사랑을 알고 싶어 - 아라라기 아유네",
          "list_url": "https://newtoki1.org/manhwa/25535",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/25535"
          },
          "tags": [
            "아라라기 아유네",
            "잇시키 양은 사랑을 알고 싶어"
          ],
          "description": "고지식하고 성실한 경찰관이라고 주위의 존경을 받고 있는 일식 경감은 요즘 아무래도 일이 잘 풀리지 않는 것 같다. 그 원인은 함께 일하고 있는 탐정·로쿠탄다가 있을 때만 일어나 버린다…. 어떤 점에서 고민의 원인이 판명된 그녀는, 문제를 해결하기 위해 롯탄다 탐정과 의사 커플로서 사귀게",
          "metadata_path": "/downloads/manhwa_25535/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 11,
          "url": "https://newtoki1.org/manhwa/25535/336990",
          "title": "잇시키 양은 사랑을 알고 싶어 9.5화 잇시키 양은 사랑을…고 싶어 9.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "207bfc6506",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-06-02T16:43:32",
      "started_at": "2026-06-04T10:47:55",
      "finished_at": "2026-06-04T10:50:10",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/25207",
        "target_id": "manhwa_25207",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "나는 모든 것을 【패리】한다 - KRSG"
      },
      "logs": [
        {
          "time": "17:11:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "17:12:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:12:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 - KRSG | 뉴토끼, links=23"
        },
        {
          "time": "17:12:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "17:12:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:12:31",
          "message": "작품 제목: 나는 모든 것을 【패리】한다 - KRSG"
        },
        {
          "time": "17:12:31",
          "message": "메타데이터 태그 저장: KRSG, 나는 모든 것을 【패리】한다"
        },
        {
          "time": "17:12:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 1화 나는 모든 것을 【패링】한다 1화 | 뉴토끼, img_tags=54, image_urls=54"
        },
        {
          "time": "17:13:13",
          "message": "순회 계획을 저장했습니다: 21개 회차"
        },
        {
          "time": "17:13:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "17:13:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:13:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 2화 나는 모든 것을 【패링】한다 2화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "17:14:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "17:14:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:14:50",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:45:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "17:45:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:45:33",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "17:45:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "17:45:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:45:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 - KRSG | 뉴토끼, links=23"
        },
        {
          "time": "17:45:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "17:46:23",
          "message": "작품 제목: 나는 모든 것을 【패리】한다 - KRSG"
        },
        {
          "time": "17:46:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:46:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 3화 나는 모든 것을 【패링】한다 3화 | 뉴토끼, img_tags=60, image_urls=60"
        },
        {
          "time": "17:46:24",
          "message": "메타데이터 태그 저장: KRSG, 나는 모든 것을 【패리】한다"
        },
        {
          "time": "17:46:26",
          "message": "순회 계획을 저장했습니다: 19개 회차"
        },
        {
          "time": "17:47:03",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:39:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "03:39:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:39:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 - KRSG | 뉴토끼, links=23"
        },
        {
          "time": "03:39:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "03:39:51",
          "message": "작품 제목: 나는 모든 것을 【패리】한다 - KRSG"
        },
        {
          "time": "03:39:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:39:52",
          "message": "메타데이터 태그 저장: KRSG, 나는 모든 것을 【패리】한다"
        },
        {
          "time": "03:39:54",
          "message": "순회 계획을 저장했습니다: 18개 회차"
        },
        {
          "time": "03:40:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 4화 나는 모든 것을 【패링】한다 4화 | 뉴토끼, img_tags=48, image_urls=48"
        },
        {
          "time": "03:40:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "03:40:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:40:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 5화 나는 모든 것을 【패링】한다 5화 | 뉴토끼, img_tags=50, image_urls=50"
        },
        {
          "time": "03:41:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "03:41:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:41:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 6화 나는 모든 것을 【패링】한다 6화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "03:42:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "03:42:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:42:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 7화 나는 모든 것을 【패링】한다 7화 | 뉴토끼, img_tags=56, image_urls=56"
        },
        {
          "time": "03:42:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "03:42:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:43:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 8화 나는 모든 것을 【패링】한다 8화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "03:43:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "03:43:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:43:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 9화 나는 모든 것을 【패링】한다 9화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "03:43:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "03:43:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:44:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 10화 나는 모든 것을 【…패링】한다 10화 | 뉴토끼, img_tags=60, image_urls=60"
        },
        {
          "time": "03:45:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "03:45:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:45:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 11화 나는 모든 것을 【…패링】한다 11화 | 뉴토끼, img_tags=52, image_urls=52"
        },
        {
          "time": "03:46:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "03:46:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:46:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 12화 나는 모든 것을 【…패링】한다 12화 | 뉴토끼, img_tags=44, image_urls=44"
        },
        {
          "time": "03:46:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "03:46:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:47:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 13-1화 나는 모든 것을 【…】한다 13-1화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "03:48:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "03:48:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:48:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 13-2화 나는 모든 것을 【…】한다 13-2화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "03:48:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "03:48:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:49:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 14화 나는 모든 것을 【…패링】한다 14화 | 뉴토끼, img_tags=62, image_urls=62"
        },
        {
          "time": "03:49:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "03:49:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:49:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 15화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "03:50:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "03:50:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:50:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 16화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "03:51:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "03:51:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:52:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 17화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "03:52:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "03:52:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:52:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 18화 | 뉴토끼, img_tags=56, image_urls=56"
        },
        {
          "time": "03:53:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "03:53:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:53:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 19화 | 뉴토끼, img_tags=59, image_urls=59"
        },
        {
          "time": "03:54:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "03:54:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:54:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 20화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "05:26:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T05:25:52 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:57:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #251"
        },
        {
          "time": "16:57:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:57:51",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:57:51",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:57:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #252"
        },
        {
          "time": "16:57:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:58:12",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/25207, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0603d6"
        },
        {
          "time": "16:58:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #253"
        },
        {
          "time": "16:58:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:58:33",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/25207, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0603dc"
        },
        {
          "time": "16:58:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #254"
        },
        {
          "time": "16:58:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:59:17",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/25207, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0603ed"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:48:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #43"
        },
        {
          "time": "10:48:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:49:18",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:49:19",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:49:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #44"
        },
        {
          "time": "10:49:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:49:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=나는 모든 것을 【패리】한다 - KRSG | 뉴토끼, links=23"
        },
        {
          "time": "10:50:09",
          "message": "작품 제목: 나는 모든 것을 【패리】한다 - KRSG"
        },
        {
          "time": "10:50:09",
          "message": "메타데이터 태그 저장: KRSG, 나는 모든 것을 【패리】한다"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_25207",
        "target_id": "manhwa_25207",
        "title": "나는 모든 것을 【패리】한다 - KRSG",
        "episodes_found": 21,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 21,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_25207",
          "title": "나는 모든 것을 【패리】한다 - KRSG",
          "list_url": "https://newtoki1.org/manhwa/25207",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/25207"
          },
          "tags": [
            "KRSG",
            "나는 모든 것을 【패리】한다"
          ],
          "description": "그것은 [패링]을 다한 한 사람의 이야기 ~~. `모든 일의 재능이 없다` 열두 살에 이렇게 판정된 재능없는 주인공 소년 `노르`는 혼자 태어나서 자란 산에 틀어 박혀 단련 할 것을 결의한다. 노력하면 언젠가 자신도 어린 시절에 들었다 모험담의 주인공처럼도 될 것. 그런 희망을 가슴",
          "metadata_path": "/downloads/manhwa_25207/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 21,
        "total": 21,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "0c2cc4b16d",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-06-02T16:43:25",
      "started_at": "2026-06-04T10:47:36",
      "finished_at": "2026-06-04T10:47:55",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/u-lz-demonio-19e3e758ae0-bcla",
        "target_id": "webtoon_u-lz-demonio-19e3e758ae0-bcla",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "두억시니전 - 에스밈"
      },
      "logs": [
        {
          "time": "16:59:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "16:59:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:00:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=두억시니전 - 에스밈 | 뉴토끼, links=23"
        },
        {
          "time": "17:00:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "17:00:38",
          "message": "작품 제목: 두억시니전 - 에스밈"
        },
        {
          "time": "17:00:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:00:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 21화 1화 - 1화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "17:00:41",
          "message": "메타데이터 태그 저장: 두억시니전, 성인, 에스밈"
        },
        {
          "time": "17:00:43",
          "message": "순회 계획을 저장했습니다: 21개 회차"
        },
        {
          "time": "17:00:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "17:00:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:01:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 20화 2화 | 뉴토끼, img_tags=50, image_urls=50"
        },
        {
          "time": "17:01:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "17:01:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:02:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 19화 3화 | 뉴토끼, img_tags=48, image_urls=48"
        },
        {
          "time": "17:03:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "17:03:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:04:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 18화 4화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "17:04:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "17:04:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:04:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 17화 5화 | 뉴토끼, img_tags=37, image_urls=37"
        },
        {
          "time": "17:06:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "17:07:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:07:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 16화 6화 | 뉴토끼, img_tags=50, image_urls=50"
        },
        {
          "time": "17:07:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "17:07:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:07:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 15화 7화 | 뉴토끼, img_tags=65, image_urls=65"
        },
        {
          "time": "17:07:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "17:07:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:07:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 14화 8화 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "17:09:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "17:09:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:09:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 13화 9화 | 뉴토끼, img_tags=37, image_urls=37"
        },
        {
          "time": "17:10:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "17:10:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:10:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 12화 10화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "17:11:23",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "17:16:02",
          "message": "중단 작업 재개 요청으로 대기열 맨 앞에 추가되었습니다: 2026-06-02T17:15:34"
        },
        {
          "time": "17:17:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "17:18:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:18:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 11화 | 뉴토끼, img_tags=55, image_urls=55"
        },
        {
          "time": "17:18:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "17:18:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:19:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 10화 12화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "17:19:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "17:19:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:20:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 9화 13화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "17:21:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "17:21:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:21:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 8화 14화 | 뉴토끼, img_tags=64, image_urls=64"
        },
        {
          "time": "17:21:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "17:21:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:21:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 7화 15화 | 뉴토끼, img_tags=48, image_urls=48"
        },
        {
          "time": "17:22:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "17:22:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:22:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 6화 16화 | 뉴토끼, img_tags=48, image_urls=48"
        },
        {
          "time": "17:22:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "17:22:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:22:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 5화 17화 | 뉴토끼, img_tags=65, image_urls=65"
        },
        {
          "time": "17:23:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "17:23:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:23:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 4화 18화 - 1부 최종화 | 뉴토끼, img_tags=64, image_urls=64"
        },
        {
          "time": "17:23:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "17:23:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:23:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 3화 19화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "17:24:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "17:24:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:24:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 2화 20화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "17:25:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "17:25:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:25:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 1화 21화 | 뉴토끼, img_tags=50, image_urls=50"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:10:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #62"
        },
        {
          "time": "03:10:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:11:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=두억시니전 - 에스밈 | 뉴토끼, links=23"
        },
        {
          "time": "03:11:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #63"
        },
        {
          "time": "03:11:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:11:10",
          "message": "작품 제목: 두억시니전 - 에스밈"
        },
        {
          "time": "03:11:11",
          "message": "메타데이터 태그 저장: 두억시니전, 성인, 에스밈"
        },
        {
          "time": "03:11:11",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "03:11:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=두억시니전 4화 | 뉴토끼, img_tags=63, image_urls=63"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:40:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #226"
        },
        {
          "time": "16:40:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:41:17",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:41:17",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:41:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #227"
        },
        {
          "time": "16:41:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:41:37",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/u-lz-demonio-19e3e758ae0-bcla, title=잠시만 기다리십시오…, links=4, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. 이 확인 시간이 더 오래 걸"
        },
        {
          "time": "16:41:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #228"
        },
        {
          "time": "16:41:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:41:58",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/u-lz-demonio-19e3e758ae0-bcla, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060257"
        },
        {
          "time": "16:42:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #229"
        },
        {
          "time": "16:42:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:42:54",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/u-lz-demonio-19e3e758ae0-bcla, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06026d"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:47:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #42"
        },
        {
          "time": "10:47:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:47:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=두억시니전 - 에스밈 | 뉴토끼, links=23"
        },
        {
          "time": "10:47:54",
          "message": "작품 제목: 두억시니전 - 에스밈"
        },
        {
          "time": "10:47:54",
          "message": "메타데이터 태그 저장: 두억시니전, 성인, 에스밈"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_u-lz-demonio-19e3e758ae0-bcla",
        "target_id": "webtoon_u-lz-demonio-19e3e758ae0-bcla",
        "title": "두억시니전 - 에스밈",
        "episodes_found": 21,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 21,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_u-lz-demonio-19e3e758ae0-bcla",
          "title": "두억시니전 - 에스밈",
          "list_url": "https://newtoki1.org/webtoon/u-lz-demonio-19e3e758ae0-bcla",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/u-lz-demonio-19e3e758ae0-bcla"
          },
          "tags": [
            "두억시니전",
            "성인",
            "에스밈"
          ],
          "description": "두억시니전 (에스밈) [레진] #성인",
          "metadata_path": "/downloads/webtoon_u-lz-demonio-19e3e758ae0-bcla/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 21,
        "total": 21,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "dca7a81923",
      "status": "interrupted",
      "display_status": "interrupted",
      "created_at": "2026-05-29T14:33:28",
      "started_at": "2026-06-13T04:45:45",
      "finished_at": "2026-06-13T04:46:33",
      "config": {
        "list_url": "http://newtoki1.org/webtoon/18678",
        "target_id": "webtoon_18678",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "대학교 야한 여사친들 - 솔아,야근늘보"
      },
      "logs": [
        {
          "time": "03:00:44",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:00:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #875"
        },
        {
          "time": "03:00:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:01:06",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:01:07",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:01:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #876"
        },
        {
          "time": "03:01:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:01:29",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:11:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-13T03:11:32"
        },
        {
          "time": "03:11:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:11:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:11:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #877"
        },
        {
          "time": "03:11:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:12:01",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:12:02",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:12:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #878"
        },
        {
          "time": "03:12:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:12:24",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:12:25",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:12:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #879"
        },
        {
          "time": "03:12:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:12:51",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:12:52",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:12:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #880"
        },
        {
          "time": "03:12:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:13:17",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:23:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-13T03:23:17"
        },
        {
          "time": "03:23:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:23:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:23:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #881"
        },
        {
          "time": "03:23:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:23:42",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:23:43",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:23:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #882"
        },
        {
          "time": "03:23:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:24:05",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:24:05",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:24:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #883"
        },
        {
          "time": "03:24:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:24:30",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:24:31",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:24:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #884"
        },
        {
          "time": "03:24:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:24:53",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "03:35:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-13T03:34:59"
        },
        {
          "time": "03:35:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:35:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:35:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #885"
        },
        {
          "time": "03:35:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:35:27",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:35:28",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:35:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #886"
        },
        {
          "time": "03:35:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:35:48",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:35:49",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:35:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #887"
        },
        {
          "time": "03:35:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:36:11",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:36:11",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:36:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #888"
        },
        {
          "time": "03:36:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:36:34",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:46:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-13T03:46:42"
        },
        {
          "time": "03:46:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:46:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:46:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #889"
        },
        {
          "time": "03:46:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:47:08",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:47:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:47:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #890"
        },
        {
          "time": "03:47:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:47:31",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:47:36",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:47:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #891"
        },
        {
          "time": "03:47:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:47:59",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:48:00",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:48:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #892"
        },
        {
          "time": "03:48:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:48:27",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:58:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-13T03:58:31"
        },
        {
          "time": "03:58:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:58:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:58:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #893"
        },
        {
          "time": "03:58:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:58:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:58:57",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:58:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #894"
        },
        {
          "time": "03:58:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:59:18",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:59:19",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:59:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #895"
        },
        {
          "time": "03:59:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:59:41",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:59:42",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:59:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #896"
        },
        {
          "time": "03:59:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:00:05",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:10:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-13T04:10:12"
        },
        {
          "time": "04:10:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:10:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:10:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #897"
        },
        {
          "time": "04:10:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:10:40",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:10:40",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:10:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #898"
        },
        {
          "time": "04:10:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:11:01",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:11:02",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:11:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #899"
        },
        {
          "time": "04:11:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:11:24",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:11:27",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:11:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #900"
        },
        {
          "time": "04:11:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:11:51",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:21:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-13T04:21:52"
        },
        {
          "time": "04:21:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:21:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:21:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #901"
        },
        {
          "time": "04:21:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:22:32",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:22:43",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:22:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #902"
        },
        {
          "time": "04:22:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:23:05",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:23:07",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:23:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #903"
        },
        {
          "time": "04:23:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:23:31",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:23:40",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:23:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #904"
        },
        {
          "time": "04:23:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:24:07",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:34:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-13T04:34:07"
        },
        {
          "time": "04:34:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:34:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:34:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #905"
        },
        {
          "time": "04:34:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:34:32",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:34:33",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:34:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #906"
        },
        {
          "time": "04:34:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:34:56",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:34:56",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:34:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #907"
        },
        {
          "time": "04:35:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:35:21",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:35:21",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:35:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #908"
        },
        {
          "time": "04:35:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:35:44",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:45:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-13T04:45:45"
        },
        {
          "time": "04:45:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:45:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:45:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #909"
        },
        {
          "time": "04:45:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:46:33",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 0)"
        }
      ],
      "summary": null,
      "error": "서버 재시작으로 작업이 중단되었습니다.",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 0,
        "total": 0,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "5be8a3e3eb",
      "status": "failed",
      "display_status": "failed",
      "created_at": "2026-05-29T14:32:53",
      "started_at": "2026-06-11T05:28:51",
      "finished_at": "2026-06-11T05:29:44",
      "config": {
        "list_url": "http://newtoki1.org/webtoon/17444",
        "target_id": "webtoon_17444",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "정을 훔친 여우 - 롤보자,이로운"
      },
      "logs": [
        {
          "time": "23:37:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:48:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-10T23:48:00"
        },
        {
          "time": "23:48:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:48:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:58:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-10T23:58:11"
        },
        {
          "time": "23:58:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:58:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:08:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T00:08:30"
        },
        {
          "time": "00:08:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:08:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:18:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T00:18:41"
        },
        {
          "time": "00:18:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:18:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:29:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T00:29:00"
        },
        {
          "time": "00:29:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:29:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:39:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T00:39:11"
        },
        {
          "time": "00:39:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:39:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:49:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T00:49:22"
        },
        {
          "time": "00:49:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:49:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:59:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T00:59:33"
        },
        {
          "time": "00:59:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:59:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:09:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T01:09:44"
        },
        {
          "time": "01:09:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:09:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:19:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T01:19:55"
        },
        {
          "time": "01:19:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:19:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:30:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T01:30:05"
        },
        {
          "time": "01:30:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:30:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:40:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T01:40:15"
        },
        {
          "time": "01:40:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:40:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:50:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T01:50:30"
        },
        {
          "time": "01:50:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:50:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:00:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:00:41"
        },
        {
          "time": "02:00:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:00:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:11:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:11:00"
        },
        {
          "time": "02:11:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:11:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:21:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:21:11"
        },
        {
          "time": "02:21:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:21:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:31:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:31:22"
        },
        {
          "time": "02:31:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:31:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:41:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:41:40"
        },
        {
          "time": "02:41:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:41:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:51:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:51:51"
        },
        {
          "time": "02:51:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:51:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:02:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:02:10"
        },
        {
          "time": "03:02:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:02:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:12:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:12:21"
        },
        {
          "time": "03:12:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:12:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:22:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:22:32"
        },
        {
          "time": "03:22:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:22:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:32:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:32:43"
        },
        {
          "time": "03:32:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:32:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:43:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:43:00"
        },
        {
          "time": "03:43:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:43:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:53:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:53:10"
        },
        {
          "time": "03:53:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:53:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:03:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T04:03:21"
        },
        {
          "time": "04:03:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:03:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:13:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T04:13:32"
        },
        {
          "time": "04:13:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:13:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:23:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T04:23:44"
        },
        {
          "time": "04:23:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:23:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:34:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T04:34:00"
        },
        {
          "time": "04:34:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:34:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:44:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T04:44:11"
        },
        {
          "time": "04:44:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:44:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:54:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T04:54:12"
        },
        {
          "time": "04:54:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:54:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:54:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "04:54:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:54:40",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:54:40",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:54:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "04:54:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:55:01",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:55:02",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:55:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "04:55:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:55:25",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:55:25",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:55:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "04:55:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:55:46",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:05:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T05:05:47"
        },
        {
          "time": "05:05:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:05:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:05:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "05:05:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:06:09",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:06:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:06:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "05:06:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:06:30",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:06:30",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:06:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "05:06:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:06:52",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:06:52",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:06:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "05:06:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:07:14",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:17:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T05:17:14"
        },
        {
          "time": "05:17:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:17:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:17:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "05:17:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:17:36",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:17:36",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:17:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "05:17:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:17:57",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:17:57",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:17:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "05:18:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:18:20",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:18:21",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:18:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "05:18:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:18:43",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "05:28:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T05:28:50"
        },
        {
          "time": "05:28:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:28:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:29:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "05:29:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:29:21",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:29:22",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:29:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "05:29:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:29:43",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=http://sbxh5.com/webtoon/17444, title=Access denied | sbxh5.com used Cloudflare to restrict access | sbxh5.com | Cloudflare, links=2, ready=complete, reason=접근 차단 페이지가 로드됨, text=Error 1005 Ray ID: a09e37f31c23808e • 2026-06-11 05:29:31 UTC Access denied What happened? The owner of this website (sb"
        },
        {
          "time": "05:29:43",
          "message": "[!] Cloudflare ASN 차단 감지: Surfshark operator에 다음 국가 회전을 요청합니다."
        },
        {
          "time": "05:29:43",
          "message": "Surfshark operator 국가 회전 요청 완료: policy=surfshark-proxy, requestConfigMap=surfshark-proxy-rotation-request, token=20260611T052943-5be8a3e3eb-cloudflare-asn-block"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_17444",
        "target_id": "webtoon_17444",
        "title": "",
        "episodes_found": 0,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 0,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": "목록 페이지 접속 실패: Cloudflare ASN 차단 감지: Surfshark 국가 회전 요청 후 작업을 중단합니다.",
        "metadata": {}
      },
      "error": "목록 페이지 접속 실패: Cloudflare ASN 차단 감지: Surfshark 국가 회전 요청 후 작업을 중단합니다.",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": true,
        "type": "cloudflare_asn_block",
        "severity": "warning",
        "time": "14:37:34",
        "message": "Cloudflare ASN 차단으로 프록시/VPN 회전이 필요합니다."
      },
      "progress": {
        "done": 0,
        "total": 0,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "d1faed80aa",
      "status": "failed",
      "display_status": "failed",
      "created_at": "2026-05-29T14:31:38",
      "started_at": "2026-06-11T05:34:50",
      "finished_at": "2026-06-11T05:35:39",
      "config": {
        "list_url": "http://newtoki1.org/webtoon/18679",
        "target_id": "webtoon_18679",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "18679"
      },
      "logs": [
        {
          "time": "00:33:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:33:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:43:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T00:43:27"
        },
        {
          "time": "00:43:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:43:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:53:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T00:53:38"
        },
        {
          "time": "00:53:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:53:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:03:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T01:03:49"
        },
        {
          "time": "01:03:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:03:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:14:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T01:14:00"
        },
        {
          "time": "01:14:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:14:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:24:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T01:24:11"
        },
        {
          "time": "01:24:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:24:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:34:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T01:34:22"
        },
        {
          "time": "01:34:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:34:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:44:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T01:44:40"
        },
        {
          "time": "01:44:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:44:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:55:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T01:55:00"
        },
        {
          "time": "01:55:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:55:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:05:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:05:11"
        },
        {
          "time": "02:05:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:05:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:15:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:15:30"
        },
        {
          "time": "02:15:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:15:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:25:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:25:41"
        },
        {
          "time": "02:25:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:25:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:35:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:35:52"
        },
        {
          "time": "02:35:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:35:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:46:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:46:03"
        },
        {
          "time": "02:46:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:46:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:56:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T02:56:14"
        },
        {
          "time": "02:56:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:56:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:06:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:06:25"
        },
        {
          "time": "03:06:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:06:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:16:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:16:40"
        },
        {
          "time": "03:16:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:16:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:26:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:26:51"
        },
        {
          "time": "03:26:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:26:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:37:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:37:02"
        },
        {
          "time": "03:37:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:37:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:47:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:47:14"
        },
        {
          "time": "03:47:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:47:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:57:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T03:57:25"
        },
        {
          "time": "03:57:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:57:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:07:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T04:07:36"
        },
        {
          "time": "04:07:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:07:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:17:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T04:17:47"
        },
        {
          "time": "04:17:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:17:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:27:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T04:27:58"
        },
        {
          "time": "04:27:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:27:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:38:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T04:38:10"
        },
        {
          "time": "04:38:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:38:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:48:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T04:48:21"
        },
        {
          "time": "04:48:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:48:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:48:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "04:48:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:48:54",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:48:54",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:48:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "04:48:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:49:15",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:49:15",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:49:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "04:49:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:49:37",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:49:38",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:49:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "04:49:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:50:00",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:00:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T05:00:00"
        },
        {
          "time": "05:00:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:00:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:00:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "05:00:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:00:24",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:00:24",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:00:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "05:00:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:00:45",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:00:45",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:00:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "05:00:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:01:07",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:01:07",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:01:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "05:01:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:01:29",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:11:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T05:11:30"
        },
        {
          "time": "05:11:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:11:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:11:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "05:11:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:11:52",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:11:52",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:11:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "05:11:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:12:13",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:12:13",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:12:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "05:12:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:12:35",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:12:35",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:12:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "05:12:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:12:57",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:23:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T05:23:00"
        },
        {
          "time": "05:23:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:23:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:23:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "05:23:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:23:32",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:23:33",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:23:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "05:23:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:23:54",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:23:55",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:23:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "05:23:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:24:18",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:24:19",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:24:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "05:24:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:24:41",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "05:34:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-11T05:34:49"
        },
        {
          "time": "05:34:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:34:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:34:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "05:34:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:35:12",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:35:13",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:35:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "05:35:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:35:34",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=http://sbxh5.com/webtoon/18679, title=Access denied | sbxh5.com used Cloudflare to restrict access | sbxh5.com | Cloudflare, links=2, ready=complete, reason=접근 차단 페이지가 로드됨, text=Error 1005 Ray ID: a09e4076caebc189 • 2026-06-11 05:35:20 UTC Access denied What happened? The owner of this website (sb"
        },
        {
          "time": "05:35:34",
          "message": "[!] Cloudflare ASN 차단 감지: Surfshark 회전 요청 쿨다운 중입니다 (249초 남음)."
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_18679",
        "target_id": "webtoon_18679",
        "title": "",
        "episodes_found": 0,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 0,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": "목록 페이지 접속 실패: Cloudflare ASN 차단 감지: Surfshark 국가 회전 요청 후 작업을 중단합니다.",
        "metadata": {}
      },
      "error": "목록 페이지 접속 실패: Cloudflare ASN 차단 감지: Surfshark 국가 회전 요청 후 작업을 중단합니다.",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": true,
        "type": "cloudflare_asn_block",
        "severity": "warning",
        "time": "14:37:34",
        "message": "Cloudflare ASN 차단으로 프록시/VPN 회전이 필요합니다."
      },
      "progress": {
        "done": 0,
        "total": 0,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "f2201a66ae",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T12:10:16",
      "started_at": "2026-06-04T10:39:20",
      "finished_at": "2026-06-04T10:40:27",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/23993",
        "target_id": "manhwa_23993",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "17:49:39",
          "message": "완전 새로받기 요청으로 대기열에 추가되었습니다: 2026-05-27T17:49:38"
        },
        {
          "time": "17:49:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:49:39",
          "message": "완전 새로받기: 완료 이력 1개 target 정리, 저장 디렉터리 1개 삭제."
        },
        {
          "time": "17:50:17",
          "message": "작품 제목: 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부"
        },
        {
          "time": "17:50:18",
          "message": "메타데이터 태그 저장: 나리타 마나부, 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기-"
        },
        {
          "time": "17:50:20",
          "message": "순회 계획을 저장했습니다: 7개 회차"
        },
        {
          "time": "18:29:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-27T18:29:08"
        },
        {
          "time": "18:29:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:29:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "18:31:05",
          "message": "작품 제목: 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부"
        },
        {
          "time": "18:31:05",
          "message": "메타데이터 태그 저장: 나리타 마나부, 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기-"
        },
        {
          "time": "18:31:06",
          "message": "순회 계획을 저장했습니다: 7개 회차"
        },
        {
          "time": "18:34:16",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:46:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "04:47:56",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "05:22:59",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T05:22:59"
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "14:45:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:45:14"
        },
        {
          "time": "14:45:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:45:14",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-28T14:45:14"
        },
        {
          "time": "14:45:33",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:45:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:52:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:52:47"
        },
        {
          "time": "14:52:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:52:47",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-28T14:52:47"
        },
        {
          "time": "14:55:13",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:55:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:58:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:58:36"
        },
        {
          "time": "14:58:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:58:36",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-28T14:58:36"
        },
        {
          "time": "14:58:38",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:58:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:09:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:09:16"
        },
        {
          "time": "15:09:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:09:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:09:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "15:09:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:09:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:09:59"
        },
        {
          "time": "15:09:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:09:59",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-28T15:09:59"
        },
        {
          "time": "15:10:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "15:10:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:16:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:16:24"
        },
        {
          "time": "15:16:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:16:24",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-28T15:16:24"
        },
        {
          "time": "15:16:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "15:16:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:24:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:23:53"
        },
        {
          "time": "15:24:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:24:23",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-28T15:23:53"
        },
        {
          "time": "15:24:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "15:24:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:24:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부 | 뉴토끼, links=9"
        },
        {
          "time": "15:24:38",
          "message": "작품 제목: 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부"
        },
        {
          "time": "15:24:38",
          "message": "메타데이터 태그 저장: 나리타 마나부, 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기-"
        },
        {
          "time": "15:24:38",
          "message": "순회 계획을 저장했습니다: 6개 회차"
        },
        {
          "time": "15:33:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:32:54"
        },
        {
          "time": "15:33:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:33:24",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-28T15:32:54"
        },
        {
          "time": "15:34:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "15:34:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:34:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부 | 뉴토끼, links=9"
        },
        {
          "time": "15:34:19",
          "message": "작품 제목: 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부"
        },
        {
          "time": "15:34:19",
          "message": "메타데이터 태그 저장: 나리타 마나부, 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기-"
        },
        {
          "time": "15:34:19",
          "message": "순회 계획을 저장했습니다: 6개 회차"
        },
        {
          "time": "15:46:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:46:33"
        },
        {
          "time": "15:46:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:46:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:46:50",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "15:47:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:47:22"
        },
        {
          "time": "15:47:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:47:22",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-28T15:47:22"
        },
        {
          "time": "15:47:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "15:47:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:47:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부 | 뉴토끼, links=9"
        },
        {
          "time": "15:47:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "15:47:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:47:39",
          "message": "작품 제목: 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부"
        },
        {
          "time": "15:47:39",
          "message": "메타데이터 태그 저장: 나리타 마나부, 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기-"
        },
        {
          "time": "15:47:39",
          "message": "순회 계획을 저장했습니다: 6개 회차"
        },
        {
          "time": "15:47:48",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- 2화 지명해 주세요 -언…스 연기하기-2화 | 뉴토끼, images=44"
        },
        {
          "time": "15:49:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "15:49:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:50:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "15:50:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:50:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- 4화 지명해 주세요 -언…스 연기하기-4화 | 뉴토끼, images=42"
        },
        {
          "time": "15:53:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "15:53:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:53:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- 5화 지명해 주세요 -언…스 연기하기-5화 | 뉴토끼, images=25"
        },
        {
          "time": "15:53:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "15:53:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:54:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- 6화 지명해 주세요 -언…스 연기하기-6화 | 뉴토끼, images=39"
        },
        {
          "time": "15:56:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "15:56:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:56:55",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "15:57:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:57:30"
        },
        {
          "time": "15:57:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:57:30",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-28T15:57:30"
        },
        {
          "time": "15:58:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "15:58:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:58:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부 | 뉴토끼, links=9"
        },
        {
          "time": "15:58:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "15:58:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:58:22",
          "message": "작품 제목: 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부"
        },
        {
          "time": "15:58:22",
          "message": "메타데이터 태그 저장: 나리타 마나부, 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기-"
        },
        {
          "time": "15:58:22",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "15:58:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- 3화 지명해 주세요 -언…스 연기하기-3화 | 뉴토끼, images=38"
        },
        {
          "time": "16:00:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "16:00:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:01:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "16:01:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:01:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=(제목 없음), images=0"
        },
        {
          "time": "16:01:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "16:01:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:01:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- 6화 지명해 주세요 -언…스 연기하기-6화 | 뉴토끼, images=37"
        },
        {
          "time": "16:01:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "16:01:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:02:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- 7화 지명해 주세요 -언…스 연기하기-7화 | 뉴토끼, images=38"
        },
        {
          "time": "16:14:02",
          "message": "재개 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:14:02"
        },
        {
          "time": "16:14:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "16:14:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:15:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- 5화 지명해 주세요 -언…스 연기하기-5화 | 뉴토끼, images=36"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:33:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "12:33:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:34:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부 | 뉴토끼, links=9"
        },
        {
          "time": "12:34:39",
          "message": "작품 제목: 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부"
        },
        {
          "time": "12:34:39",
          "message": "메타데이터 태그 저장: 나리타 마나부, 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기-"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:24:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #359"
        },
        {
          "time": "21:24:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:24:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부 | 뉴토끼, links=9"
        },
        {
          "time": "21:24:33",
          "message": "작품 제목: 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부"
        },
        {
          "time": "21:24:33",
          "message": "메타데이터 태그 저장: 나리타 마나부, 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기-"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:40:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #397"
        },
        {
          "time": "10:40:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:40:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부 | 뉴토끼, links=9"
        },
        {
          "time": "10:40:56",
          "message": "작품 제목: 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부"
        },
        {
          "time": "10:40:56",
          "message": "메타데이터 태그 저장: 나리타 마나부, 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기-"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:39:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #28"
        },
        {
          "time": "10:39:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:40:15",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:40:15",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:40:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #29"
        },
        {
          "time": "10:40:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:40:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부 | 뉴토끼, links=9"
        },
        {
          "time": "10:40:25",
          "message": "작품 제목: 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부"
        },
        {
          "time": "10:40:26",
          "message": "메타데이터 태그 저장: 나리타 마나부, 지명해 주세요 -언니 대신 넘버원 호스티스 연기하기-"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23993",
        "target_id": "manhwa_23993",
        "title": "지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부",
        "episodes_found": 7,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 7,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23993",
          "title": "지명해 주세요 -언니 대신 넘버원 호스티스 연기하기- - 나리타 마나부",
          "list_url": "https://newtoki1.org/manhwa/23993",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23993"
          },
          "tags": [
            "나리타 마나부",
            "지명해 주세요 -언니 대신 넘버원 호스티스 연기하기-"
          ],
          "description": "수수하고 남자들이 상대도 해주지 않았던 에미루의 쌍둥이 언니는 신주쿠 가부키초 인기 있는 유흥업소의 넘버원 호스티스?! 그러나 사고로 인해 가게에 나갈 수 없게 된 언니 에리나를 대신해 에미루는 호스티스 연기를 해달라는 부탁을 받게 된다. 같은 피가 흐르고 있는 만큼, 화장을 하고 꾸미",
          "metadata_path": "/downloads/manhwa_23993/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 7,
        "total": 7,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "11b4ee760b",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:49:25",
      "started_at": "2026-06-04T10:38:14",
      "finished_at": "2026-06-04T10:39:20",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/27022",
        "target_id": "manhwa_27022",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "발정 푹푹마사지! - 니고우 쇼우지"
      },
      "logs": [
        {
          "time": "11:49:33",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "12:37:45",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "14:22:28",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-27T14:22:11"
        },
        {
          "time": "14:22:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:25:34",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "17:32:24",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-27T17:32:22"
        },
        {
          "time": "17:32:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:41:32",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:35:40",
          "message": "작품 제목: 27022"
        },
        {
          "time": "05:46:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:46:03"
        },
        {
          "time": "05:46:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:46:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:16:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "12:16:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:17:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! - 니고우 쇼우지 | 뉴토끼, links=10"
        },
        {
          "time": "12:17:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "12:17:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:17:13",
          "message": "작품 제목: 발정 푹푹마사지! - 니고우 쇼우지"
        },
        {
          "time": "12:17:13",
          "message": "메타데이터 태그 저장: 니고우 쇼우지, 발정 푹푹마사지!"
        },
        {
          "time": "12:17:13",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "12:17:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! 1화 | 뉴토끼, img_tags=48, image_urls=48"
        },
        {
          "time": "12:18:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "12:18:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:18:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! 2화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "12:21:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "12:21:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:21:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "12:21:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:21:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! 3화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "12:23:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "12:23:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:24:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "12:24:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:24:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! 4화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "12:25:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "12:25:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:26:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "12:26:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:26:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! 5화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "12:28:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "12:28:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:28:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "12:28:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:28:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! 6화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "12:28:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "12:28:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:28:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! 7화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "12:29:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "12:29:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:29:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "12:29:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:30:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! 8화 | 뉴토끼, img_tags=64, image_urls=64"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:24:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #360"
        },
        {
          "time": "21:24:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:24:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! - 니고우 쇼우지 | 뉴토끼, links=10"
        },
        {
          "time": "21:25:20",
          "message": "작품 제목: 발정 푹푹마사지! - 니고우 쇼우지"
        },
        {
          "time": "21:25:20",
          "message": "메타데이터 태그 저장: 니고우 쇼우지, 발정 푹푹마사지!"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:38:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #395"
        },
        {
          "time": "10:38:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:39:38",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:39:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #396"
        },
        {
          "time": "10:39:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:39:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! - 니고우 쇼우지 | 뉴토끼, links=10"
        },
        {
          "time": "10:39:48",
          "message": "작품 제목: 발정 푹푹마사지! - 니고우 쇼우지"
        },
        {
          "time": "10:39:49",
          "message": "메타데이터 태그 저장: 니고우 쇼우지, 발정 푹푹마사지!"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:38:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #27"
        },
        {
          "time": "10:38:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:39:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=발정 푹푹마사지! - 니고우 쇼우지 | 뉴토끼, links=10"
        },
        {
          "time": "10:39:19",
          "message": "작품 제목: 발정 푹푹마사지! - 니고우 쇼우지"
        },
        {
          "time": "10:39:20",
          "message": "메타데이터 태그 저장: 니고우 쇼우지, 발정 푹푹마사지!"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_27022",
        "target_id": "manhwa_27022",
        "title": "발정 푹푹마사지! - 니고우 쇼우지",
        "episodes_found": 8,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 8,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_27022",
          "title": "발정 푹푹마사지! - 니고우 쇼우지",
          "list_url": "https://newtoki1.org/manhwa/27022",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/27022"
          },
          "tags": [
            "니고우 쇼우지",
            "발정 푹푹마사지!"
          ],
          "description": "유부녀가 젊은 총각한테 마사지 받다가 바람 피는 내용",
          "metadata_path": "/downloads/manhwa_27022/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 8,
        "total": 8,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3493b2d53d",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:46:49",
      "started_at": "2026-06-04T10:36:31",
      "finished_at": "2026-06-04T10:38:14",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/26545",
        "target_id": "manhwa_26545",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "푸른 피부 거유와 개찐따년 - 쥬고야"
      },
      "logs": [
        {
          "time": "14:22:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:25:34",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "17:32:24",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-27T17:32:22"
        },
        {
          "time": "17:32:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:41:32",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:34:58",
          "message": "작품 제목: 26545"
        },
        {
          "time": "05:45:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:45:36"
        },
        {
          "time": "05:45:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:45:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:07:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "12:07:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:07:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "12:07:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:07:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 - 쥬고야 | 뉴토끼, links=24"
        },
        {
          "time": "12:08:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "12:08:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:08:24",
          "message": "작품 제목: 푸른 피부 거유와 개찐따년 - 쥬고야"
        },
        {
          "time": "12:08:24",
          "message": "메타데이터 태그 저장: 쥬고야, 푸른 피부 거유와 개찐따년"
        },
        {
          "time": "12:08:31",
          "message": "순회 계획을 저장했습니다: 22개 회차"
        },
        {
          "time": "12:08:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:10:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "12:10:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:10:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "12:10:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:10:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "12:10:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:11:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 3화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "12:12:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "12:12:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:12:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "12:12:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:12:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:13:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "12:13:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:13:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 4.5화 푸른 피부 거유와 …개찐따년 4.5화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "12:14:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "12:14:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:14:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "12:14:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:15:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 5화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "12:15:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "12:15:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:15:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 6화 | 뉴토끼, img_tags=37, image_urls=37"
        },
        {
          "time": "12:16:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "12:16:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:16:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "12:16:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:16:56",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "14:27:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T14:27:47"
        },
        {
          "time": "04:36:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #857"
        },
        {
          "time": "04:36:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:37:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 2화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "04:38:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #858"
        },
        {
          "time": "04:38:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:38:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #859"
        },
        {
          "time": "04:38:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:39:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 7화 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "04:40:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #860"
        },
        {
          "time": "04:40:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:41:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #861"
        },
        {
          "time": "04:41:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:41:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 7.5화 푸른 피부 거유와 …개찐따년 7.5화 | 뉴토끼, img_tags=37, image_urls=37"
        },
        {
          "time": "04:42:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #862"
        },
        {
          "time": "04:42:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:42:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 8화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "04:43:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #863"
        },
        {
          "time": "04:43:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:43:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #864"
        },
        {
          "time": "04:43:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:44:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 9화 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "04:44:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #865"
        },
        {
          "time": "04:44:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:44:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 10화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "04:45:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #866"
        },
        {
          "time": "04:45:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:46:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #867"
        },
        {
          "time": "04:46:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:46:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 11화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "04:48:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #868"
        },
        {
          "time": "04:48:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:48:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #869"
        },
        {
          "time": "04:48:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:48:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 12화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "04:49:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #870"
        },
        {
          "time": "04:49:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:49:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 13화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "04:51:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #871"
        },
        {
          "time": "04:51:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:51:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #872"
        },
        {
          "time": "04:51:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:52:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #873"
        },
        {
          "time": "04:52:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:52:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 15화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "04:53:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #874"
        },
        {
          "time": "04:53:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:53:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 15.5화 푸른 피부 거유와 …찐따년 15.5화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "04:54:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #875"
        },
        {
          "time": "04:54:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:54:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #876"
        },
        {
          "time": "04:54:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:55:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 16화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "04:55:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #877"
        },
        {
          "time": "04:55:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:55:58",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 16.5화 푸른 피부 거유와 …찐따년 16.5화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "04:56:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #878"
        },
        {
          "time": "04:56:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:56:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #879"
        },
        {
          "time": "04:56:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:57:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 17화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "04:59:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #880"
        },
        {
          "time": "04:59:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:00:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #881"
        },
        {
          "time": "05:00:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:00:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 18화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "05:00:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #882"
        },
        {
          "time": "05:00:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:00:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 14화 | 뉴토끼, img_tags=37, image_urls=37"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:46:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #228"
        },
        {
          "time": "19:46:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:46:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 - 쥬고야 | 뉴토끼, links=24"
        },
        {
          "time": "19:46:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #229"
        },
        {
          "time": "19:46:32",
          "message": "작품 제목: 푸른 피부 거유와 개찐따년 - 쥬고야"
        },
        {
          "time": "19:46:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:46:32",
          "message": "메타데이터 태그 저장: 쥬고야, 푸른 피부 거유와 개찐따년"
        },
        {
          "time": "19:46:32",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "19:46:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 1화 | 뉴토끼, img_tags=44, image_urls=44"
        },
        {
          "time": "19:48:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #230"
        },
        {
          "time": "19:48:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:48:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #231"
        },
        {
          "time": "19:48:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:48:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 4화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:04:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #428"
        },
        {
          "time": "11:04:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:04:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 - 쥬고야 | 뉴토끼, links=24"
        },
        {
          "time": "11:05:24",
          "message": "작품 제목: 푸른 피부 거유와 개찐따년 - 쥬고야"
        },
        {
          "time": "11:05:25",
          "message": "메타데이터 태그 저장: 쥬고야, 푸른 피부 거유와 개찐따년"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:37:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #25"
        },
        {
          "time": "10:37:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:37:27",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:37:27",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:37:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #26"
        },
        {
          "time": "10:37:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:37:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 피부 거유와 개찐따년 - 쥬고야 | 뉴토끼, links=24"
        },
        {
          "time": "10:38:12",
          "message": "작품 제목: 푸른 피부 거유와 개찐따년 - 쥬고야"
        },
        {
          "time": "10:38:13",
          "message": "메타데이터 태그 저장: 쥬고야, 푸른 피부 거유와 개찐따년"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_26545",
        "target_id": "manhwa_26545",
        "title": "푸른 피부 거유와 개찐따년 - 쥬고야",
        "episodes_found": 22,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 22,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_26545",
          "title": "푸른 피부 거유와 개찐따년 - 쥬고야",
          "list_url": "https://newtoki1.org/manhwa/26545",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/26545"
          },
          "tags": [
            "쥬고야",
            "푸른 피부 거유와 개찐따년"
          ],
          "description": "푸른 피부 거유와 개찐따년 이 이야기는 천재 천계인 찐따 년과 빡통 미녀 마인과의 천계 학원 이야기 입니다",
          "metadata_path": "/downloads/manhwa_26545/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 22,
        "total": 22,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "4d9a5e58b7",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:46:43",
      "started_at": "2026-06-04T10:29:36",
      "finished_at": "2026-06-04T10:36:30",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/2921",
        "target_id": "manhwa_2921",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "아들이 귀여워서 어쩔 수 없는 마족엄마 - 쥬고야"
      },
      "logs": [
        {
          "time": "20:00:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:00:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 49화 아들이 귀여워서 어… 마족엄마 49화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:00:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #248"
        },
        {
          "time": "20:00:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:01:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 62화 아들이 귀여워서 어… 마족엄마 62화 | 뉴토끼, img_tags=35, image_urls=35"
        },
        {
          "time": "20:01:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #249"
        },
        {
          "time": "20:01:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:01:49",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 75화 아들이 귀여워서 어… 마족엄마 75화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "20:01:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #250"
        },
        {
          "time": "20:01:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:01:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 76화 아들이 귀여워서 어… 마족엄마 76화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "20:02:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #251"
        },
        {
          "time": "20:02:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:02:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 98화 아들이 귀여워서 어… 마족엄마 98화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "20:03:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #252"
        },
        {
          "time": "20:03:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:04:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 99화 아들이 귀여워서 어… 마족엄마 99화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "20:04:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #253"
        },
        {
          "time": "20:04:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:04:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 100화 아들이 귀여워서 어…마족엄마 100화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "20:04:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #254"
        },
        {
          "time": "20:04:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:04:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 101화 아들이 귀여워서 어…마족엄마 101화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "20:04:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #255"
        },
        {
          "time": "20:04:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:05:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 118.5화 아들이 귀여워서 어…족엄마118.5화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:05:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #256"
        },
        {
          "time": "20:05:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:05:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 121화 아들이 귀여워서 어… 마족엄마121화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "20:06:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #257"
        },
        {
          "time": "20:06:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:07:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 122화 아들이 귀여워서 어… 마족엄마122화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "20:08:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #258"
        },
        {
          "time": "20:08:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:09:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #259"
        },
        {
          "time": "20:09:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:09:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 123화 아들이 귀여워서 어… 마족엄마123화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "20:10:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #260"
        },
        {
          "time": "20:10:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:10:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #261"
        },
        {
          "time": "20:10:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:11:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 125화 아들이 귀여워서 어… 마족엄마125화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:11:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #262"
        },
        {
          "time": "20:11:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:11:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 129화 아들이 귀여워서 어… 마족엄마129화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "20:12:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #263"
        },
        {
          "time": "20:12:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:12:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 133화 아들이 귀여워서 어… 마족엄마133화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:13:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #264"
        },
        {
          "time": "20:13:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:13:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 140화 아들이 귀여워서 어… 마족엄마140화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "20:15:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #265"
        },
        {
          "time": "20:15:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:15:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 148화 아들이 귀여워서 어… 마족엄마148화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "20:16:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #266"
        },
        {
          "time": "20:16:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:16:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 152화 아들이 귀여워서 어… 마족엄마152화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "20:16:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #267"
        },
        {
          "time": "20:16:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:17:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 161화 아들이 귀여워서 어… 마족엄마161화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "20:17:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #268"
        },
        {
          "time": "20:17:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:18:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #269"
        },
        {
          "time": "20:18:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:18:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 163화 아들이 귀여워서 어… 마족엄마163화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "20:19:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #270"
        },
        {
          "time": "20:19:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:19:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 166화 아들이 귀여워서 어… 마족엄마166화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "20:20:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #271"
        },
        {
          "time": "20:20:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:21:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #272"
        },
        {
          "time": "20:21:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:21:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 183화 아들이 귀여워서 어… 마족엄마183화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "20:21:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #273"
        },
        {
          "time": "20:21:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:21:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 193화 아들이 귀여워서 어… 마족엄마193화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "20:22:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #274"
        },
        {
          "time": "20:22:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:22:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 200.5화 아들이 귀여워서 어…족엄마200.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 34)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:58:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #416"
        },
        {
          "time": "10:59:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:59:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 - 쥬고야 | 뉴토끼, links=225"
        },
        {
          "time": "10:59:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #417"
        },
        {
          "time": "10:59:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:59:38",
          "message": "작품 제목: 아들이 귀여워서 어쩔 수 없는 마족엄마 - 쥬고야"
        },
        {
          "time": "10:59:39",
          "message": "메타데이터 태그 저장: 아들이 귀여워서 어쩔 수 없는 마족엄마, 쥬고야"
        },
        {
          "time": "10:59:40",
          "message": "순회 계획을 저장했습니다: 11개 회차"
        },
        {
          "time": "10:59:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 75화 아들이 귀여워서 어… 마족엄마 75화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "11:00:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #418"
        },
        {
          "time": "11:00:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:00:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 76화 아들이 귀여워서 어… 마족엄마 76화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "11:00:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #419"
        },
        {
          "time": "11:00:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:00:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 98화 아들이 귀여워서 어… 마족엄마 98화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "11:00:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #420"
        },
        {
          "time": "11:00:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:00:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 99화 아들이 귀여워서 어… 마족엄마 99화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "11:01:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #421"
        },
        {
          "time": "11:01:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:01:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 100화 아들이 귀여워서 어…마족엄마 100화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "11:01:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #422"
        },
        {
          "time": "11:01:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:01:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 101화 아들이 귀여워서 어…마족엄마 101화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "11:02:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #423"
        },
        {
          "time": "11:02:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:02:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 121화 아들이 귀여워서 어… 마족엄마121화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "11:02:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #424"
        },
        {
          "time": "11:02:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:02:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 122화 아들이 귀여워서 어… 마족엄마122화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "11:02:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #425"
        },
        {
          "time": "11:02:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:02:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 123화 아들이 귀여워서 어… 마족엄마123화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "11:02:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #426"
        },
        {
          "time": "11:02:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:02:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 152화 아들이 귀여워서 어… 마족엄마152화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "11:03:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #427"
        },
        {
          "time": "11:03:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:03:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 200.5화 아들이 귀여워서 어…족엄마200.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:29:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "10:29:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:29:58",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:29:58",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:29:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "10:29:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:30:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 - 쥬고야 | 뉴토끼, links=225"
        },
        {
          "time": "10:30:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "10:30:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:30:47",
          "message": "작품 제목: 아들이 귀여워서 어쩔 수 없는 마족엄마 - 쥬고야"
        },
        {
          "time": "10:30:48",
          "message": "메타데이터 태그 저장: 아들이 귀여워서 어쩔 수 없는 마족엄마, 쥬고야"
        },
        {
          "time": "10:30:49",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "10:30:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 75화 아들이 귀여워서 어… 마족엄마 75화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:31:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "10:31:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:32:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 76화 아들이 귀여워서 어… 마족엄마 76화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:32:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "10:32:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:32:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 98화 아들이 귀여워서 어… 마족엄마 98화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:33:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "10:33:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:33:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 99화 아들이 귀여워서 어… 마족엄마 99화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:34:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "10:34:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:34:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 100화 아들이 귀여워서 어…마족엄마 100화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:35:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "10:35:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:35:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 101화 아들이 귀여워서 어…마족엄마 101화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:35:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "10:35:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:35:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 152화 아들이 귀여워서 어… 마족엄마152화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:36:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "10:36:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:36:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아들이 귀여워서 어쩔 수 없는 마족엄마 200.5화 아들이 귀여워서 어…족엄마200.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 8)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_2921",
        "target_id": "manhwa_2921",
        "title": "아들이 귀여워서 어쩔 수 없는 마족엄마 - 쥬고야",
        "episodes_found": 223,
        "episodes_processed": 8,
        "episodes_failed": 0,
        "episodes_skipped": 215,
        "images_found": 16,
        "images_downloaded": 0,
        "images_skipped": 16,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_2921",
          "title": "아들이 귀여워서 어쩔 수 없는 마족엄마 - 쥬고야",
          "list_url": "https://newtoki1.org/manhwa/2921",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/2921"
          },
          "tags": [
            "아들이 귀여워서 어쩔 수 없는 마족엄마",
            "쥬고야"
          ],
          "description": "일찍이 마족이라는 인간에서 변이해 특별한 능력을 가지게 된 존재와 인간이 종족 전쟁을 벌였고 소수인 마족이 패배하며 그 숫자가 줄어 멸종위기에 직면하게 되었다. 그 중 하나인 여성 마족인 로렘이 인간 사회를 약탈하고 파괴해오다 아이가 생기면서 인간에 대한 공격을 멈추고 소수인종인 마족",
          "metadata_path": "/downloads/manhwa_2921/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 8,
        "total": 8,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 81,
          "url": "https://newtoki1.org/manhwa/2921/41317",
          "title": "아들이 귀여워서 어쩔 수 없는 마족엄마 75화 아들이 귀여워서 어… 마족엄마 75화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 82,
          "url": "https://newtoki1.org/manhwa/2921/41391",
          "title": "아들이 귀여워서 어쩔 수 없는 마족엄마 76화 아들이 귀여워서 어… 마족엄마 76화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 105,
          "url": "https://newtoki1.org/manhwa/2921/132248",
          "title": "아들이 귀여워서 어쩔 수 없는 마족엄마 98화 아들이 귀여워서 어… 마족엄마 98화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 106,
          "url": "https://newtoki1.org/manhwa/2921/132330",
          "title": "아들이 귀여워서 어쩔 수 없는 마족엄마 99화 아들이 귀여워서 어… 마족엄마 99화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 107,
          "url": "https://newtoki1.org/manhwa/2921/132921",
          "title": "아들이 귀여워서 어쩔 수 없는 마족엄마 100화 아들이 귀여워서 어…마족엄마 100화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 108,
          "url": "https://newtoki1.org/manhwa/2921/133429",
          "title": "아들이 귀여워서 어쩔 수 없는 마족엄마 101화 아들이 귀여워서 어…마족엄마 101화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 164,
          "url": "https://newtoki1.org/manhwa/2921/218909",
          "title": "아들이 귀여워서 어쩔 수 없는 마족엄마 152화 아들이 귀여워서 어… 마족엄마152화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 220,
          "url": "https://newtoki1.org/manhwa/2921/246706",
          "title": "아들이 귀여워서 어쩔 수 없는 마족엄마 200.5화 아들이 귀여워서 어…족엄마200.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "3bd2b81d71",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:46:35",
      "started_at": "2026-06-04T10:28:59",
      "finished_at": "2026-06-04T10:29:36",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/32632",
        "target_id": "manhwa_32632",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "울보 이혼녀 옆집 아줌마 카이 - 쥬고야"
      },
      "logs": [
        {
          "time": "00:52:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:53:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #582"
        },
        {
          "time": "00:53:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:53:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 16화 울보 이혼녀 옆집 …줌마 카이 16화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "00:54:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #583"
        },
        {
          "time": "00:54:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:54:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 16화 울보 이혼녀 옆집 아줌마 16화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "00:54:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #584"
        },
        {
          "time": "00:54:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:54:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 17화 울보 이혼녀 옆집 …줌마 카이 17화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:55:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #585"
        },
        {
          "time": "00:55:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:55:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #586"
        },
        {
          "time": "00:55:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:55:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 17화 울보 이혼녀 옆집 아줌마 17화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "00:56:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #587"
        },
        {
          "time": "00:56:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:56:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 18화 울보 이혼녀 옆집 …줌마 카이 18화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:57:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #588"
        },
        {
          "time": "00:57:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:57:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #589"
        },
        {
          "time": "00:57:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:58:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 18화 울보 이혼녀 옆집 아줌마 18화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:59:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #590"
        },
        {
          "time": "00:59:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:00:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #591"
        },
        {
          "time": "01:00:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:00:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 19화 울보 이혼녀 옆집 …줌마 카이 19화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:00:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #592"
        },
        {
          "time": "01:00:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:00:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 19화 울보 이혼녀 옆집 아줌마 19화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:01:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #593"
        },
        {
          "time": "01:01:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:02:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #594"
        },
        {
          "time": "01:02:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:02:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 20화 울보 이혼녀 옆집 …줌마 카이 20화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:03:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #595"
        },
        {
          "time": "01:03:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:03:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 20화 울보 이혼녀 옆집 아줌마 20화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "01:04:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #596"
        },
        {
          "time": "01:04:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:04:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #597"
        },
        {
          "time": "01:04:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:04:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 21화 울보 이혼녀 옆집 …줌마 카이 21화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:06:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #598"
        },
        {
          "time": "01:06:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:06:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #599"
        },
        {
          "time": "01:06:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:07:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 21화 울보 이혼녀 옆집 아줌마 21화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:08:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #600"
        },
        {
          "time": "01:08:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:08:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 22화 울보 이혼녀 옆집 …줌마 카이 22화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:10:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #601"
        },
        {
          "time": "01:10:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:10:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #602"
        },
        {
          "time": "01:10:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:10:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 22화 울보 이혼녀 옆집 아줌마 22화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:11:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #603"
        },
        {
          "time": "01:11:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:11:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 23화 울보 이혼녀 옆집 …줌마 카이 23화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:12:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #604"
        },
        {
          "time": "01:12:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:12:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #605"
        },
        {
          "time": "01:12:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:13:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 23화 울보 이혼녀 옆집 아줌마 23화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "01:13:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #606"
        },
        {
          "time": "01:13:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:13:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 24화 울보 이혼녀 옆집 …줌마 카이 24화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:13:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #607"
        },
        {
          "time": "01:13:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:14:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 24화 울보 이혼녀 옆집 아줌마 24화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "01:14:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #608"
        },
        {
          "time": "01:14:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:15:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #609"
        },
        {
          "time": "01:15:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:16:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #610"
        },
        {
          "time": "01:16:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:16:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 25화 울보 이혼녀 옆집 아줌마 25화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "01:16:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #611"
        },
        {
          "time": "01:16:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:16:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 26화 울보 이혼녀 옆집 …줌마 카이 26화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:16:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #612"
        },
        {
          "time": "01:16:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:16:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 26화 울보 이혼녀 옆집 아줌마 26화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "01:17:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #613"
        },
        {
          "time": "01:17:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:17:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 26.5화 울보 이혼녀 옆집 …아줌마 26.5화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "01:18:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #614"
        },
        {
          "time": "01:18:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:19:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #615"
        },
        {
          "time": "01:19:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:19:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 27화 울보 이혼녀 옆집 …줌마 카이 27화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:20:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #616"
        },
        {
          "time": "01:20:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:20:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #617"
        },
        {
          "time": "01:20:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:21:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #618"
        },
        {
          "time": "01:21:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:21:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 29화 울보 이혼녀 옆집 …줌마 카이 29화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:21:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #619"
        },
        {
          "time": "01:21:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:21:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 25화 울보 이혼녀 옆집 …줌마 카이 25화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "01:22:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #620"
        },
        {
          "time": "01:22:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:23:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #621"
        },
        {
          "time": "01:23:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:23:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 28화 울보 이혼녀 옆집 …줌마 카이 28화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "20:22:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #275"
        },
        {
          "time": "20:22:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:22:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 - 쥬고야 | 뉴토끼, links=59"
        },
        {
          "time": "20:23:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #276"
        },
        {
          "time": "20:23:22",
          "message": "작품 제목: 울보 이혼녀 옆집 아줌마 카이 - 쥬고야"
        },
        {
          "time": "20:23:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:23:23",
          "message": "메타데이터 태그 저장: 울보 이혼녀 옆집 아줌마 카이, 쥬고야"
        },
        {
          "time": "20:23:23",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "20:23:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 1화 울보 이혼녀 옆집 아줌마 1화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "20:24:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #277"
        },
        {
          "time": "20:24:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:24:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 2화 울보 이혼녀 옆집 아줌마 2화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:26:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #278"
        },
        {
          "time": "20:26:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:26:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 3화 울보 이혼녀 옆집 아줌마 3화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "20:27:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #279"
        },
        {
          "time": "20:27:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:27:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 7화 울보 이혼녀 옆집 아줌마 7화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:27:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #280"
        },
        {
          "time": "20:27:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:27:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 10화 울보 이혼녀 옆집 아줌마 10화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:28:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #281"
        },
        {
          "time": "20:28:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:28:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 15화 울보 이혼녀 옆집 …줌마 카이 15화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:28:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #282"
        },
        {
          "time": "20:28:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:28:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 16화 울보 이혼녀 옆집 아줌마 16화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "20:29:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #283"
        },
        {
          "time": "20:29:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:29:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 22화 울보 이혼녀 옆집 아줌마 22화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:57:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #415"
        },
        {
          "time": "10:57:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:57:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 - 쥬고야 | 뉴토끼, links=59"
        },
        {
          "time": "10:57:59",
          "message": "작품 제목: 울보 이혼녀 옆집 아줌마 카이 - 쥬고야"
        },
        {
          "time": "10:57:59",
          "message": "메타데이터 태그 저장: 울보 이혼녀 옆집 아줌마 카이, 쥬고야"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:29:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "10:29:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:29:21",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:29:21",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:29:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "10:29:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:29:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=울보 이혼녀 옆집 아줌마 카이 - 쥬고야 | 뉴토끼, links=59"
        },
        {
          "time": "10:29:35",
          "message": "작품 제목: 울보 이혼녀 옆집 아줌마 카이 - 쥬고야"
        },
        {
          "time": "10:29:35",
          "message": "메타데이터 태그 저장: 울보 이혼녀 옆집 아줌마 카이, 쥬고야"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_32632",
        "target_id": "manhwa_32632",
        "title": "울보 이혼녀 옆집 아줌마 카이 - 쥬고야",
        "episodes_found": 57,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 57,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_32632",
          "title": "울보 이혼녀 옆집 아줌마 카이 - 쥬고야",
          "list_url": "https://newtoki1.org/manhwa/32632",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/32632"
          },
          "tags": [
            "울보 이혼녀 옆집 아줌마 카이",
            "쥬고야"
          ],
          "description": "흑백만화와 컬러만화를 섞은듯 어떤 컷은 채색이 돼있고 어떤 컷은 채색이 안돼있다",
          "metadata_path": "/downloads/manhwa_32632/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 57,
        "total": 57,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "0dc49a69de",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:46:09",
      "started_at": "2026-06-04T10:27:39",
      "finished_at": "2026-06-04T10:28:59",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/34463",
        "target_id": "manhwa_34463",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "고향에 돌아왔더니 소꿉친구가 망가져있었다 - 쥬고야"
      },
      "logs": [
        {
          "time": "23:53:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 27화 고향에 돌아왔더니 …가져있었다 27화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "23:55:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #514"
        },
        {
          "time": "23:55:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:55:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #515"
        },
        {
          "time": "23:55:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:56:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 28화 고향에 돌아왔더니 …가져있었다 28화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "23:56:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #516"
        },
        {
          "time": "23:56:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:56:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 29화 고향에 돌아왔더니 …가져있었다 29화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "23:57:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #517"
        },
        {
          "time": "23:57:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:57:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 30화 고향에 돌아왔더니 …가져있었다 30화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "23:57:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #518"
        },
        {
          "time": "23:57:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:57:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 31화 고향에 돌아왔더니 …가져있었다 31화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "23:59:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #519"
        },
        {
          "time": "23:59:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:59:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #520"
        },
        {
          "time": "23:59:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:59:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 32화 고향에 돌아왔더니 …가져있었다 32화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:00:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #521"
        },
        {
          "time": "00:00:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:01:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #522"
        },
        {
          "time": "00:01:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:01:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 33화 고향에 돌아왔더니 …가져있었다 33화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "00:02:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #523"
        },
        {
          "time": "00:02:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:02:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 33.1화 고향에 돌아왔더니 …있었다 33.1화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "00:02:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #524"
        },
        {
          "time": "00:02:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:02:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 34화 고향에 돌아왔더니 …가져있었다 34화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:04:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #525"
        },
        {
          "time": "00:04:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:04:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #526"
        },
        {
          "time": "00:04:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:05:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 35화 고향에 돌아왔더니 …가져있었다 35화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "00:05:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #527"
        },
        {
          "time": "00:05:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:05:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 36화 고향에 돌아왔더니 …가져있었다 36화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:06:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #528"
        },
        {
          "time": "00:06:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:07:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #529"
        },
        {
          "time": "00:07:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:07:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 37화 고향에 돌아왔더니 …가져있었다 37화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:09:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #530"
        },
        {
          "time": "00:09:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:09:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #531"
        },
        {
          "time": "00:09:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:10:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 38화 고향에 돌아왔더니 …가져있었다 38화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:10:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #532"
        },
        {
          "time": "00:10:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:10:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 39화 고향에 돌아왔더니 …가져있었다 39화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:11:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #533"
        },
        {
          "time": "00:11:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:12:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #534"
        },
        {
          "time": "00:12:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:12:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 40화 고향에 돌아왔더니 …가져있었다 40화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "00:14:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #535"
        },
        {
          "time": "00:14:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:15:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #536"
        },
        {
          "time": "00:15:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:15:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 41화 고향에 돌아왔더니 …가져있었다 41화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "00:16:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #537"
        },
        {
          "time": "00:16:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:17:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #538"
        },
        {
          "time": "00:17:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:17:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 42화 고향에 돌아왔더니 …가져있었다 42화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "00:19:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #539"
        },
        {
          "time": "00:19:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:20:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #540"
        },
        {
          "time": "00:20:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:20:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 43화 고향에 돌아왔더니 …가져있었다 43화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:20:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #541"
        },
        {
          "time": "00:20:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:20:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 44화 고향에 돌아왔더니 …가져있었다 44화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:21:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #542"
        },
        {
          "time": "00:21:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:22:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #543"
        },
        {
          "time": "00:22:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:22:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 45화 고향에 돌아왔더니 …가져있었다 45화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:23:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #544"
        },
        {
          "time": "00:23:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:23:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #545"
        },
        {
          "time": "00:23:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:23:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 46화 고향에 돌아왔더니 …가져있었다 46화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:24:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #546"
        },
        {
          "time": "00:24:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:24:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 47화 고향에 돌아왔더니 …가져있었다 47화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:25:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #547"
        },
        {
          "time": "00:25:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:25:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #548"
        },
        {
          "time": "00:25:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:26:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 48화 고향에 돌아왔더니 …가져있었다 48화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:26:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #549"
        },
        {
          "time": "00:26:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:26:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 49화 고향에 돌아왔더니 …가져있었다 49화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "00:26:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #550"
        },
        {
          "time": "00:26:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:27:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 50화 고향에 돌아왔더니 …가져있었다 50화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "20:31:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #284"
        },
        {
          "time": "20:31:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:31:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 - 쥬고야 | 뉴토끼, links=39"
        },
        {
          "time": "20:31:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #285"
        },
        {
          "time": "20:31:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:31:34",
          "message": "작품 제목: 고향에 돌아왔더니 소꿉친구가 망가져있었다 - 쥬고야"
        },
        {
          "time": "20:31:34",
          "message": "메타데이터 태그 저장: 고향에 돌아왔더니 소꿉친구가 망가져있었다, 쥬고야"
        },
        {
          "time": "20:31:34",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "20:31:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 7화 고향에 돌아왔더니 …져있었다 1~7화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "20:31:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #286"
        },
        {
          "time": "20:31:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:32:04",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 14화 고향에 돌아왔더니 …있었다 8~14화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "20:32:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #287"
        },
        {
          "time": "20:32:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:32:48",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 33화 고향에 돌아왔더니 …가져있었다 33화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:33:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #288"
        },
        {
          "time": "20:33:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:33:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 33.1화 고향에 돌아왔더니 …있었다 33.1화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "20:34:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #289"
        },
        {
          "time": "20:34:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:35:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 35화 고향에 돌아왔더니 …가져있었다 35화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:35:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #290"
        },
        {
          "time": "20:35:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:35:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 40화 고향에 돌아왔더니 …가져있었다 40화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:35:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #291"
        },
        {
          "time": "20:35:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:35:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 41화 고향에 돌아왔더니 …가져있었다 41화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:35:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #292"
        },
        {
          "time": "20:35:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:35:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 42화 고향에 돌아왔더니 …가져있었다 42화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:54:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #413"
        },
        {
          "time": "10:54:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:55:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 - 쥬고야 | 뉴토끼, links=39"
        },
        {
          "time": "10:55:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #414"
        },
        {
          "time": "10:55:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:55:57",
          "message": "작품 제목: 고향에 돌아왔더니 소꿉친구가 망가져있었다 - 쥬고야"
        },
        {
          "time": "10:55:58",
          "message": "메타데이터 태그 저장: 고향에 돌아왔더니 소꿉친구가 망가져있었다, 쥬고야"
        },
        {
          "time": "10:55:58",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "10:56:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 33.1화 고향에 돌아왔더니 …있었다 33.1화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:27:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "10:27:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:28:00",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:28:01",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:28:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "10:28:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:28:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 - 쥬고야 | 뉴토끼, links=39"
        },
        {
          "time": "10:28:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "10:28:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:28:49",
          "message": "작품 제목: 고향에 돌아왔더니 소꿉친구가 망가져있었다 - 쥬고야"
        },
        {
          "time": "10:28:49",
          "message": "메타데이터 태그 저장: 고향에 돌아왔더니 소꿉친구가 망가져있었다, 쥬고야"
        },
        {
          "time": "10:28:50",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "10:28:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향에 돌아왔더니 소꿉친구가 망가져있었다 33.1화 고향에 돌아왔더니 …있었다 33.1화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34463",
        "target_id": "manhwa_34463",
        "title": "고향에 돌아왔더니 소꿉친구가 망가져있었다 - 쥬고야",
        "episodes_found": 37,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 36,
        "images_found": 1,
        "images_downloaded": 0,
        "images_skipped": 1,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34463",
          "title": "고향에 돌아왔더니 소꿉친구가 망가져있었다 - 쥬고야",
          "list_url": "https://newtoki1.org/manhwa/34463",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34463"
          },
          "tags": [
            "고향에 돌아왔더니 소꿉친구가 망가져있었다",
            "쥬고야"
          ],
          "description": "쿄코의 소꿉친구이다. 크게 변해있어서 놀라지만, 여전히 변함없이 그녀를 이해하고 같이 어울려준다. 얼마 안 가 서로 정사를 치루고 정식으로 사귀는 연인 사이가 된다. 쿄코의 과거사를 어르신께 듣고는 크게 놀라지만 쿄코가 예전처럼 활기를 되찾을 수 있을 거라고 믿고 있다",
          "metadata_path": "/downloads/manhwa_34463/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 20,
          "url": "https://newtoki1.org/manhwa/34463/1731537",
          "title": "고향에 돌아왔더니 소꿉친구가 망가져있었다 33.1화 고향에 돌아왔더니 …있었다 33.1화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "8ed6c5709d",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:43:24",
      "started_at": "2026-06-04T10:26:24",
      "finished_at": "2026-06-04T10:27:39",
      "config": {
        "browser_ad_blocking": false,
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "NEW GAME! 뉴 게임! - 츠쿠노 쇼타로",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/2686",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_2686",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "03:50:55",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:51:29",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:02:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:02:03"
        },
        {
          "time": "04:02:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:02:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:13:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #90"
        },
        {
          "time": "04:13:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:14:01",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:14:01",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:24:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:24:37"
        },
        {
          "time": "04:24:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:24:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:34:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #119"
        },
        {
          "time": "04:34:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:35:07",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:35:41",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:46:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:46:09"
        },
        {
          "time": "04:46:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:46:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:58:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "04:58:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:59:19",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:59:19",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:09:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:09:35"
        },
        {
          "time": "05:09:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:09:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:18:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "05:18:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:18:53",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:18:54",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:18:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "05:18:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:19:14",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:19:14",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:19:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "05:19:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:19:36",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:31:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:31:41"
        },
        {
          "time": "05:31:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:31:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:59:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "05:59:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:00:19",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/2686, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043c19, reason=series_links_missing"
        },
        {
          "time": "06:00:19",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:00:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #25"
        },
        {
          "time": "06:00:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:01:12",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/2686, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043c2b, reason=series_links_missing"
        },
        {
          "time": "06:01:12",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "06:01:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #26"
        },
        {
          "time": "06:01:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:01:59",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/2686, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043c36, reason=series_links_missing"
        },
        {
          "time": "06:14:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T06:14:04"
        },
        {
          "time": "06:14:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:14:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:36:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "06:36:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:36:55",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/2686, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043f73"
        },
        {
          "time": "06:37:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "06:37:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:37:27",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:37:47",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/2686, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043f85"
        },
        {
          "time": "06:37:47",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:37:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "06:37:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:38:08",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/2686, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043f8d"
        },
        {
          "time": "06:38:08",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:42:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "16:42:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:42:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! - 츠쿠노 쇼타로 | 뉴토끼, links=119"
        },
        {
          "time": "16:42:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "16:42:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:43:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! - 츠쿠노 쇼타로 | 뉴토끼, links=119"
        },
        {
          "time": "16:43:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "16:43:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:43:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! - 츠쿠노 쇼타로 | 뉴토끼, links=119"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "23:14:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #572"
        },
        {
          "time": "23:14:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:14:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! - 츠쿠노 쇼타로 | 뉴토끼, links=119"
        },
        {
          "time": "23:15:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #573"
        },
        {
          "time": "23:15:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:15:30",
          "message": "작품 제목: NEW GAME! 뉴 게임! - 츠쿠노 쇼타로"
        },
        {
          "time": "23:15:30",
          "message": "메타데이터 태그 저장: NEW GAME! 뉴 게임!, 츠쿠노 쇼타로"
        },
        {
          "time": "23:15:30",
          "message": "순회 계획을 저장했습니다: 14개 회차"
        },
        {
          "time": "23:15:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 1화 NEW GAME! …임! 11권 1화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "23:15:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #574"
        },
        {
          "time": "23:15:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:16:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 1화 NEW GAME! …게임! 8권 1화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "23:16:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #575"
        },
        {
          "time": "23:16:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:16:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 3화 NEW GAME! …임! 10권 3화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "23:17:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #576"
        },
        {
          "time": "23:17:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:18:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #577"
        },
        {
          "time": "23:18:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:18:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 3화 NEW GAME! …게임! 9권 3화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "23:19:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #578"
        },
        {
          "time": "23:19:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:19:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 3화 NEW GAME! …게임! 6권 3화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "23:20:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #579"
        },
        {
          "time": "23:20:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:20:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #580"
        },
        {
          "time": "23:20:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:21:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 4화 NEW GAME! …게임! 7권 4화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "23:21:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #581"
        },
        {
          "time": "23:21:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:21:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 7화 NEW GAME! …게임! 7권 7화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "23:22:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #582"
        },
        {
          "time": "23:22:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:22:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 8화 NEW GAME! …게임!12권 8화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "23:22:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #583"
        },
        {
          "time": "23:22:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:22:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 10화 NEW GAME! …임! 6권 10화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "23:23:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #584"
        },
        {
          "time": "23:23:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:23:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 12화 NEW GAME! …! 10권 12화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "23:23:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #585"
        },
        {
          "time": "23:23:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:23:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 12화 NEW GAME! …임! 8권 12화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "23:25:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #586"
        },
        {
          "time": "23:25:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:25:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 14화 NEW GAME! …임! 7권 14화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "23:25:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #587"
        },
        {
          "time": "23:25:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:25:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 9화 NEW GAME! … 게임! 5-1권 | 뉴토끼, img_tags=59, image_urls=59"
        },
        {
          "time": "23:25:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #588"
        },
        {
          "time": "23:25:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:25:58",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! 4화 NEW GAME! …임! 2권 - 후 | 뉴토끼, img_tags=70, image_urls=70"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 14)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:13:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #67"
        },
        {
          "time": "03:13:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:14:27",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:14:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #68"
        },
        {
          "time": "03:14:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:14:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! - 츠쿠노 쇼타로 | 뉴토끼, links=119"
        },
        {
          "time": "03:15:40",
          "message": "작품 제목: NEW GAME! 뉴 게임! - 츠쿠노 쇼타로"
        },
        {
          "time": "03:15:40",
          "message": "메타데이터 태그 저장: NEW GAME! 뉴 게임!, 츠쿠노 쇼타로"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:37:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #223"
        },
        {
          "time": "16:37:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:37:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! - 츠쿠노 쇼타로 | 뉴토끼, links=119"
        },
        {
          "time": "16:37:53",
          "message": "작품 제목: NEW GAME! 뉴 게임! - 츠쿠노 쇼타로"
        },
        {
          "time": "16:37:54",
          "message": "메타데이터 태그 저장: NEW GAME! 뉴 게임!, 츠쿠노 쇼타로"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:26:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "10:26:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:26:46",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:26:47",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:26:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "10:26:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:27:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=NEW GAME! 뉴 게임! - 츠쿠노 쇼타로 | 뉴토끼, links=119"
        },
        {
          "time": "10:27:38",
          "message": "작품 제목: NEW GAME! 뉴 게임! - 츠쿠노 쇼타로"
        },
        {
          "time": "10:27:38",
          "message": "메타데이터 태그 저장: NEW GAME! 뉴 게임!, 츠쿠노 쇼타로"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_2686",
        "target_id": "manhwa_2686",
        "title": "NEW GAME! 뉴 게임! - 츠쿠노 쇼타로",
        "episodes_found": 117,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 117,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_2686",
          "title": "NEW GAME! 뉴 게임! - 츠쿠노 쇼타로",
          "list_url": "https://newtoki1.org/manhwa/2686",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/2686"
          },
          "tags": [
            "NEW GAME! 뉴 게임!",
            "츠쿠노 쇼타로"
          ],
          "description": "「스즈카제 아오바, 오늘부터 열심히 일하겠습니다!」 고교 졸업 후 사회인으로 첫발을 뗀 스즈카제 아오바. 그녀의 첫 직장은, 어렸을 적 정말 좋아했던 게임을 만든 선배가 근무하는 게임회사 「이글점프」. 하나같이 귀엽고 매력만점인 선배들에게 둘러쌓인 아오바는 하루하루가 두근댐의 연속! 아",
          "metadata_path": "/downloads/manhwa_2686/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 117,
        "total": 117,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "f49bb9f174",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:43:20",
      "started_at": "2026-06-04T10:25:46",
      "finished_at": "2026-06-04T10:26:24",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/10541",
        "target_id": "manhwa_10541",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "어른의 방과후 - 이치히",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "20:42:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #292"
        },
        {
          "time": "20:42:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:42:58",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 100화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:44:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #293"
        },
        {
          "time": "20:44:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:44:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 101화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "20:44:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #294"
        },
        {
          "time": "20:44:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:45:08",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 102화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:46:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #295"
        },
        {
          "time": "20:46:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:46:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #296"
        },
        {
          "time": "20:46:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:47:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 103화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:47:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #297"
        },
        {
          "time": "20:47:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:47:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 104화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "20:48:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #298"
        },
        {
          "time": "20:48:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:49:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #299"
        },
        {
          "time": "20:49:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:49:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 105화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "20:50:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #300"
        },
        {
          "time": "20:50:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:50:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 106화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:51:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #301"
        },
        {
          "time": "20:51:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:51:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 107화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:51:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #302"
        },
        {
          "time": "20:51:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:52:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #303"
        },
        {
          "time": "20:52:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:52:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 108화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "20:53:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #304"
        },
        {
          "time": "20:53:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:54:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #305"
        },
        {
          "time": "20:54:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:54:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 109화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:55:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #306"
        },
        {
          "time": "20:55:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:55:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 110화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:55:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #307"
        },
        {
          "time": "20:55:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:56:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #308"
        },
        {
          "time": "20:56:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:56:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 111화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:57:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #309"
        },
        {
          "time": "20:57:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:57:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 112화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "20:57:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #310"
        },
        {
          "time": "20:57:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:58:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #311"
        },
        {
          "time": "20:58:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:58:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 113화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "21:00:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #312"
        },
        {
          "time": "21:00:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:00:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #313"
        },
        {
          "time": "21:00:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:01:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 114화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "21:01:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #314"
        },
        {
          "time": "21:01:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:01:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 115화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "21:02:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #315"
        },
        {
          "time": "21:02:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:03:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #316"
        },
        {
          "time": "21:03:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:03:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 116화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "21:03:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #317"
        },
        {
          "time": "21:03:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:03:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 117화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "21:03:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #318"
        },
        {
          "time": "21:03:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:03:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 118화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "21:05:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #319"
        },
        {
          "time": "21:05:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:05:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #320"
        },
        {
          "time": "21:05:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:06:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 14화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "21:06:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #321"
        },
        {
          "time": "21:06:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:06:58",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 48화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "20:37:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #293"
        },
        {
          "time": "20:37:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:37:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 - 이치히 | 뉴토끼, links=120"
        },
        {
          "time": "20:37:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #294"
        },
        {
          "time": "20:37:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:37:21",
          "message": "작품 제목: 어른의 방과후 - 이치히"
        },
        {
          "time": "20:37:21",
          "message": "메타데이터 태그 저장: 어른의 방과후, 이치히"
        },
        {
          "time": "20:37:22",
          "message": "순회 계획을 저장했습니다: 14개 회차"
        },
        {
          "time": "20:37:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 12화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:38:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #295"
        },
        {
          "time": "20:38:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:38:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #296"
        },
        {
          "time": "20:38:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:39:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 27화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "20:39:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #297"
        },
        {
          "time": "20:39:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:39:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 30화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:40:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #298"
        },
        {
          "time": "20:40:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:41:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #299"
        },
        {
          "time": "20:41:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:41:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 59화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:42:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #300"
        },
        {
          "time": "20:42:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:42:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 64화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:43:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #301"
        },
        {
          "time": "20:43:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:43:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 71화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:43:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #302"
        },
        {
          "time": "20:43:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:43:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 79화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:44:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #303"
        },
        {
          "time": "20:44:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:44:48",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 82화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:45:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #304"
        },
        {
          "time": "20:45:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:46:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 83화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:46:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #305"
        },
        {
          "time": "20:46:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:46:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 86화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:47:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #306"
        },
        {
          "time": "20:47:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:47:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 93화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:48:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #307"
        },
        {
          "time": "20:48:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:48:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 97화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "20:50:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #308"
        },
        {
          "time": "20:50:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:50:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 101화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "20:50:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #309"
        },
        {
          "time": "20:50:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:50:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 105화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 14)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:52:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #411"
        },
        {
          "time": "10:52:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:53:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 - 이치히 | 뉴토끼, links=120"
        },
        {
          "time": "10:53:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #412"
        },
        {
          "time": "10:53:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:53:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 27화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "10:53:43",
          "message": "작품 제목: 어른의 방과후 - 이치히"
        },
        {
          "time": "10:53:43",
          "message": "메타데이터 태그 저장: 어른의 방과후, 이치히"
        },
        {
          "time": "10:53:44",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:25:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "10:25:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:26:08",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:26:08",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:26:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "10:26:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:26:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어른의 방과후 - 이치히 | 뉴토끼, links=120"
        },
        {
          "time": "10:26:22",
          "message": "작품 제목: 어른의 방과후 - 이치히"
        },
        {
          "time": "10:26:23",
          "message": "메타데이터 태그 저장: 어른의 방과후, 이치히"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_10541",
        "target_id": "manhwa_10541",
        "title": "어른의 방과후 - 이치히",
        "episodes_found": 118,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 118,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_10541",
          "title": "어른의 방과후 - 이치히",
          "list_url": "https://newtoki1.org/manhwa/10541",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/10541"
          },
          "tags": [
            "어른의 방과후",
            "이치히"
          ],
          "description": "역에서 도보 1분 거리의 선술집?.흑심을 품고 다니는 선술집에서 아마노 씨와 마시는 맥주는 이상하게 맛있다.왠지 친근한 어른들(일부 아이들)이 그려내는 조금 특이한 쇼트 코미디.일에 지친 어른들의 일상에 힐링을 선사해줄 만화.",
          "metadata_path": "/downloads/manhwa_10541/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 118,
        "total": 118,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "009296263a",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:40:58",
      "started_at": "2026-06-04T10:23:34",
      "finished_at": "2026-06-04T10:25:46",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/32653",
        "target_id": "manhwa_32653",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "히이라기 씨네 흡혈 사정 - 요시카와 미키",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "11:40:58",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "12:37:45",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "14:22:28",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-27T14:22:11"
        },
        {
          "time": "14:22:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:19:22",
          "message": "작품 제목: 히이라기 씨네 흡혈 사정 - 요시카와 미키"
        },
        {
          "time": "16:19:22",
          "message": "메타데이터 태그 저장: 요시카와 미키, 히이라기 씨네 흡혈 사정"
        },
        {
          "time": "16:19:22",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "17:14:49",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-27T17:13:58"
        },
        {
          "time": "17:14:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:25:34",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "17:32:24",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-27T17:32:22"
        },
        {
          "time": "17:32:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:41:32",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:14:33",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "05:22:59",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T05:22:59"
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:06:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "10:06:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:06:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=히이라기 씨네 흡혈 사정 - 요시카와 미키 | 뉴토끼, links=33"
        },
        {
          "time": "10:06:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "10:06:52",
          "message": "작품 제목: 히이라기 씨네 흡혈 사정 - 요시카와 미키"
        },
        {
          "time": "10:06:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:06:52",
          "message": "메타데이터 태그 저장: 요시카와 미키, 히이라기 씨네 흡혈 사정"
        },
        {
          "time": "10:06:52",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "10:07:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=히이라기 씨네 흡혈 사정 26화 | 뉴토끼, img_tags=49, image_urls=49"
        },
        {
          "time": "10:08:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "10:08:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:08:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "10:08:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:08:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=히이라기 씨네 흡혈 사정 27화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "10:10:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "10:10:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:10:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "10:10:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:10:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=히이라기 씨네 흡혈 사정 28화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "10:12:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "10:12:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:12:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "10:12:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:12:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=히이라기 씨네 흡혈 사정 29화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:25:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #361"
        },
        {
          "time": "21:25:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:25:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=히이라기 씨네 흡혈 사정 - 요시카와 미키 | 뉴토끼, links=33"
        },
        {
          "time": "21:25:35",
          "message": "작품 제목: 히이라기 씨네 흡혈 사정 - 요시카와 미키"
        },
        {
          "time": "21:25:35",
          "message": "메타데이터 태그 저장: 요시카와 미키, 히이라기 씨네 흡혈 사정"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:38:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #394"
        },
        {
          "time": "10:38:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:38:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=히이라기 씨네 흡혈 사정 - 요시카와 미키 | 뉴토끼, links=33"
        },
        {
          "time": "10:38:41",
          "message": "작품 제목: 히이라기 씨네 흡혈 사정 - 요시카와 미키"
        },
        {
          "time": "10:38:41",
          "message": "메타데이터 태그 저장: 요시카와 미키, 히이라기 씨네 흡혈 사정"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:24:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "10:24:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:24:29",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:24:29",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:24:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "10:24:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:24:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=히이라기 씨네 흡혈 사정 - 요시카와 미키 | 뉴토끼, links=33"
        },
        {
          "time": "10:25:45",
          "message": "작품 제목: 히이라기 씨네 흡혈 사정 - 요시카와 미키"
        },
        {
          "time": "10:25:45",
          "message": "메타데이터 태그 저장: 요시카와 미키, 히이라기 씨네 흡혈 사정"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_32653",
        "target_id": "manhwa_32653",
        "title": "히이라기 씨네 흡혈 사정 - 요시카와 미키",
        "episodes_found": 31,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 31,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_32653",
          "title": "히이라기 씨네 흡혈 사정 - 요시카와 미키",
          "list_url": "https://newtoki1.org/manhwa/32653",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/32653"
          },
          "tags": [
            "요시카와 미키",
            "히이라기 씨네 흡혈 사정"
          ],
          "description": "이 가족에게는 피비린내 나는 `비밀`이 있다―― 아동 양호 시설에서 사는 중학생 미나모토 쇼타. 어느날 쇼타의 수용처로 결정된 것은 호화로운 일본식 가옥에 사는, 행복해 보이는 가족. 밤에 쇼타는 누군가에게 습격당해 피를 빨렸다! 설마 이 가족, 전원 `흡혈귀`!? 쇼타가 불린 것은",
          "metadata_path": "/downloads/manhwa_32653/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 31,
        "total": 31,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "eafc25ce2b",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:40:24",
      "started_at": "2026-06-04T10:22:23",
      "finished_at": "2026-06-04T10:23:33",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/19131",
        "target_id": "webtoon_19131",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "몸과 돈 - 프라테",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "11:40:24",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "12:37:45",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "14:22:28",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-27T14:22:11"
        },
        {
          "time": "14:22:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:16:58",
          "message": "작품 제목: 몸과 돈 - 프라테"
        },
        {
          "time": "16:16:58",
          "message": "메타데이터 태그 저장: 몸과 돈, 성인, 프라테"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:36:21",
          "message": "작품 제목: 19131"
        },
        {
          "time": "05:47:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:47:20"
        },
        {
          "time": "05:47:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:47:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:05:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "10:05:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:06:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=몸과 돈 - 프라테 | 뉴토끼, links=33"
        },
        {
          "time": "10:06:02",
          "message": "작품 제목: 몸과 돈 - 프라테"
        },
        {
          "time": "10:06:36",
          "message": "메타데이터 태그 저장: 몸과 돈, 성인, 프라테"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:25:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #362"
        },
        {
          "time": "21:25:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:25:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=몸과 돈 - 프라테 | 뉴토끼, links=33"
        },
        {
          "time": "21:25:51",
          "message": "작품 제목: 몸과 돈 - 프라테"
        },
        {
          "time": "21:25:51",
          "message": "메타데이터 태그 저장: 몸과 돈, 성인, 프라테"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:36:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #392"
        },
        {
          "time": "10:36:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:37:40",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:37:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #393"
        },
        {
          "time": "10:37:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:37:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=몸과 돈 - 프라테 | 뉴토끼, links=33"
        },
        {
          "time": "10:37:50",
          "message": "작품 제목: 몸과 돈 - 프라테"
        },
        {
          "time": "10:37:51",
          "message": "메타데이터 태그 저장: 몸과 돈, 성인, 프라테"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:22:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "10:22:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:22:45",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:22:45",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:22:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "10:22:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:22:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=몸과 돈 - 프라테 | 뉴토끼, links=33"
        },
        {
          "time": "10:23:32",
          "message": "작품 제목: 몸과 돈 - 프라테"
        },
        {
          "time": "10:23:32",
          "message": "메타데이터 태그 저장: 몸과 돈, 성인, 프라테"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_19131",
        "target_id": "webtoon_19131",
        "title": "몸과 돈 - 프라테",
        "episodes_found": 31,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 31,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_19131",
          "title": "몸과 돈 - 프라테",
          "list_url": "https://newtoki1.org/webtoon/19131",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/19131"
          },
          "tags": [
            "몸과 돈",
            "성인",
            "프라테"
          ],
          "description": "몸과 돈 (프라테) [투믹스] #성인",
          "metadata_path": "/downloads/webtoon_19131/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 31,
        "total": 31,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "cd72997ffa",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:40:14",
      "started_at": "2026-06-04T10:21:30",
      "finished_at": "2026-06-04T10:22:23",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/17629",
        "target_id": "webtoon_17629",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "이리 - 지은수,재히몬,피숙혜",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "14:22:28",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-27T14:22:11"
        },
        {
          "time": "14:22:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:50:36",
          "message": "작품 제목: 이리 - 지은수,재히몬,피숙혜"
        },
        {
          "time": "15:50:36",
          "message": "메타데이터 태그 저장: 로맨스, 성인, 이리, 재히몬, 지은수, 피숙혜"
        },
        {
          "time": "15:52:08",
          "message": "순회 계획을 저장했습니다: 27개 회차"
        },
        {
          "time": "17:56:21",
          "message": "완전 새로받기 요청으로 대기열에 추가되었습니다: 2026-05-27T17:56:20"
        },
        {
          "time": "17:56:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:56:21",
          "message": "완전 새로받기: 완료 이력 1개 target 정리, 저장 디렉터리 1개 삭제."
        },
        {
          "time": "17:59:42",
          "message": "작품 제목: 이리 - 지은수,재히몬,피숙혜"
        },
        {
          "time": "17:59:42",
          "message": "메타데이터 태그 저장: 로맨스, 성인, 이리, 재히몬, 지은수, 피숙혜"
        },
        {
          "time": "17:59:55",
          "message": "순회 계획을 저장했습니다: 27개 회차"
        },
        {
          "time": "18:29:07",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:43:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "04:57:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T04:57:08"
        },
        {
          "time": "04:57:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:57:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:56:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "09:56:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:57:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이리 - 지은수,재히몬,피숙혜 | 뉴토끼, links=29"
        },
        {
          "time": "09:57:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "09:57:05",
          "message": "작품 제목: 이리 - 지은수,재히몬,피숙혜"
        },
        {
          "time": "09:57:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:57:05",
          "message": "메타데이터 태그 저장: 로맨스, 성인, 이리, 재히몬, 지은수, 피숙혜"
        },
        {
          "time": "09:57:07",
          "message": "순회 계획을 저장했습니다: 20개 회차"
        },
        {
          "time": "09:57:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 19화 09화 | 뉴토끼, img_tags=136, image_urls=136"
        },
        {
          "time": "09:58:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "09:58:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:59:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "09:59:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:59:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 18화 10화 | 뉴토끼, img_tags=83, image_urls=83"
        },
        {
          "time": "09:59:29",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "10:00:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "10:01:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:01:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 16화 12화 | 뉴토끼, img_tags=96, image_urls=96"
        },
        {
          "time": "10:01:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "10:01:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:01:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "10:01:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:02:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "10:02:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:03:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 14화 | 뉴토끼, img_tags=64, image_urls=64"
        },
        {
          "time": "10:04:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "10:04:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:04:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "10:04:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:04:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "10:04:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:05:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 12화 16화 | 뉴토끼, img_tags=109, image_urls=109"
        },
        {
          "time": "14:27:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T14:27:47"
        },
        {
          "time": "17:39:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #110"
        },
        {
          "time": "17:39:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:39:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 17화 11화 | 뉴토끼, img_tags=61, image_urls=61"
        },
        {
          "time": "17:41:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #111"
        },
        {
          "time": "17:41:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:41:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #112"
        },
        {
          "time": "17:41:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:41:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 15화 13화 | 뉴토끼, img_tags=115, image_urls=115"
        },
        {
          "time": "17:46:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #113"
        },
        {
          "time": "17:46:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:46:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #114"
        },
        {
          "time": "17:46:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:46:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 13화 15화 | 뉴토끼, img_tags=124, image_urls=124"
        },
        {
          "time": "17:56:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #115"
        },
        {
          "time": "17:56:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:56:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #116"
        },
        {
          "time": "17:56:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:56:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #117"
        },
        {
          "time": "17:56:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:57:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 10화 18화 | 뉴토끼, img_tags=90, image_urls=90"
        },
        {
          "time": "17:59:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #118"
        },
        {
          "time": "17:59:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:59:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #119"
        },
        {
          "time": "17:59:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:00:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 9화 19화 | 뉴토끼, img_tags=106, image_urls=106"
        },
        {
          "time": "18:03:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #120"
        },
        {
          "time": "18:03:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:03:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #121"
        },
        {
          "time": "18:03:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:04:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #122"
        },
        {
          "time": "18:04:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:04:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 7화 21화 | 뉴토끼, img_tags=126, image_urls=126"
        },
        {
          "time": "18:10:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #123"
        },
        {
          "time": "18:10:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:11:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #124"
        },
        {
          "time": "18:11:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:11:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 6화 22화 | 뉴토끼, img_tags=93, image_urls=93"
        },
        {
          "time": "18:14:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #125"
        },
        {
          "time": "18:14:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:15:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #126"
        },
        {
          "time": "18:15:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:16:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #127"
        },
        {
          "time": "18:16:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:16:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #128"
        },
        {
          "time": "18:16:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:17:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 4화 24화 | 뉴토끼, img_tags=99, image_urls=99"
        },
        {
          "time": "18:20:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #129"
        },
        {
          "time": "18:20:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:21:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #130"
        },
        {
          "time": "18:21:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:21:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 3화 외전 2화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "18:22:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #131"
        },
        {
          "time": "18:22:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:22:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 2화 외전 3화 | 뉴토끼, img_tags=144, image_urls=144"
        },
        {
          "time": "18:30:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #132"
        },
        {
          "time": "18:30:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:31:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #133"
        },
        {
          "time": "18:31:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:31:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 1화 외전 4화 (완결) | 뉴토끼, img_tags=77, image_urls=77"
        },
        {
          "time": "18:34:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #134"
        },
        {
          "time": "18:34:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:34:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #135"
        },
        {
          "time": "18:34:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:34:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 27화 프롤로그 | 뉴토끼, img_tags=57, image_urls=57"
        },
        {
          "time": "18:36:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #136"
        },
        {
          "time": "18:36:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:36:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 11화 17화 | 뉴토끼, img_tags=121, image_urls=121"
        },
        {
          "time": "18:39:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #137"
        },
        {
          "time": "18:39:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:40:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #138"
        },
        {
          "time": "18:40:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:40:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 8화 20화 | 뉴토끼, img_tags=131, image_urls=131"
        },
        {
          "time": "18:44:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #139"
        },
        {
          "time": "18:44:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:44:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #140"
        },
        {
          "time": "18:44:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:45:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 5화 23화 | 뉴토끼, img_tags=79, image_urls=79"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "20:51:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #310"
        },
        {
          "time": "20:51:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:52:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이리 - 지은수,재히몬,피숙혜 | 뉴토끼, links=29"
        },
        {
          "time": "20:52:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #311"
        },
        {
          "time": "20:52:05",
          "message": "작품 제목: 이리 - 지은수,재히몬,피숙혜"
        },
        {
          "time": "20:52:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:52:06",
          "message": "메타데이터 태그 저장: 로맨스, 성인, 이리, 재히몬, 지은수, 피숙혜"
        },
        {
          "time": "20:52:06",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "20:52:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이리 3화 외전 2화 | 뉴토끼, img_tags=90, image_urls=90"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:51:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #410"
        },
        {
          "time": "10:51:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:51:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이리 - 지은수,재히몬,피숙혜 | 뉴토끼, links=29"
        },
        {
          "time": "10:52:11",
          "message": "작품 제목: 이리 - 지은수,재히몬,피숙혜"
        },
        {
          "time": "10:52:11",
          "message": "메타데이터 태그 저장: 로맨스, 성인, 이리, 재히몬, 지은수, 피숙혜"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:22:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "10:22:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:22:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이리 - 지은수,재히몬,피숙혜 | 뉴토끼, links=29"
        },
        {
          "time": "10:22:21",
          "message": "작품 제목: 이리 - 지은수,재히몬,피숙혜"
        },
        {
          "time": "10:22:22",
          "message": "메타데이터 태그 저장: 로맨스, 성인, 이리, 재히몬, 지은수, 피숙혜"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_17629",
        "target_id": "webtoon_17629",
        "title": "이리 - 지은수,재히몬,피숙혜",
        "episodes_found": 27,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 27,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_17629",
          "title": "이리 - 지은수,재히몬,피숙혜",
          "list_url": "https://newtoki1.org/webtoon/17629",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/17629"
          },
          "tags": [
            "로맨스",
            "성인",
            "이리",
            "재히몬",
            "지은수",
            "피숙혜"
          ],
          "description": "이리 (지은수,재히몬,피숙혜) [카카오] #로맨스 #성인",
          "metadata_path": "/downloads/webtoon_17629/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 27,
        "total": 27,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "d5291418cb",
      "status": "interrupted",
      "display_status": "interrupted",
      "created_at": "2026-05-27T11:37:34",
      "started_at": "2026-06-04T10:20:06",
      "finished_at": "2026-06-04T10:21:30",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/18737",
        "target_id": "webtoon_18737",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "손만 잡아 - 민설아,띠로"
      },
      "logs": [
        {
          "time": "16:50:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:50:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #90"
        },
        {
          "time": "16:50:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:51:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 11화 24화(1부 최종화) | 뉴토끼, img_tags=114, image_urls=114"
        },
        {
          "time": "16:52:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #91"
        },
        {
          "time": "16:52:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:53:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #92"
        },
        {
          "time": "16:53:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:53:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 10화 25화 | 뉴토끼, img_tags=122, image_urls=122"
        },
        {
          "time": "16:59:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #93"
        },
        {
          "time": "16:59:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:59:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #94"
        },
        {
          "time": "16:59:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:00:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 9화 26화 | 뉴토끼, img_tags=176, image_urls=176"
        },
        {
          "time": "17:06:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #95"
        },
        {
          "time": "17:06:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:07:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #96"
        },
        {
          "time": "17:07:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:07:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 8화 27화 | 뉴토끼, img_tags=103, image_urls=103"
        },
        {
          "time": "17:10:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #97"
        },
        {
          "time": "17:10:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:10:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #98"
        },
        {
          "time": "17:10:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:11:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 7화 28화 | 뉴토끼, img_tags=102, image_urls=102"
        },
        {
          "time": "17:15:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #99"
        },
        {
          "time": "17:15:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:15:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #100"
        },
        {
          "time": "17:15:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:15:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 6화 29화 | 뉴토끼, img_tags=114, image_urls=114"
        },
        {
          "time": "17:20:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #101"
        },
        {
          "time": "17:20:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:20:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #102"
        },
        {
          "time": "17:20:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:21:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 5화 30화 | 뉴토끼, img_tags=90, image_urls=90"
        },
        {
          "time": "17:25:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #103"
        },
        {
          "time": "17:25:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:25:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #104"
        },
        {
          "time": "17:25:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:26:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 4화 31화(최종화) | 뉴토끼, img_tags=85, image_urls=85"
        },
        {
          "time": "17:27:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #105"
        },
        {
          "time": "17:27:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:27:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #106"
        },
        {
          "time": "17:27:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:28:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #107"
        },
        {
          "time": "17:28:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:28:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 2화 33화 - 외전 2화 | 뉴토끼, img_tags=89, image_urls=89"
        },
        {
          "time": "17:33:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #108"
        },
        {
          "time": "17:33:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:33:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 14화 21화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "17:34:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #109"
        },
        {
          "time": "17:34:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:34:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 3화 32화 - 외전 1화 | 뉴토끼, img_tags=110, image_urls=110"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "20:53:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #312"
        },
        {
          "time": "20:53:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:53:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 - 민설아,띠로 | 뉴토끼, links=36"
        },
        {
          "time": "20:53:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #313"
        },
        {
          "time": "20:53:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:53:40",
          "message": "작품 제목: 손만 잡아 - 민설아,띠로"
        },
        {
          "time": "20:53:40",
          "message": "메타데이터 태그 저장: 남성인기19, 드라마, 띠로, 민설아, 성인, 손만 잡아, 여성인기19, 첫사랑"
        },
        {
          "time": "20:53:40",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "20:54:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #314"
        },
        {
          "time": "20:54:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:54:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #315"
        },
        {
          "time": "20:54:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:54:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 14화 21화 | 뉴토끼, img_tags=81, image_urls=81"
        },
        {
          "time": "20:55:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #316"
        },
        {
          "time": "20:55:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:56:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #317"
        },
        {
          "time": "20:56:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:47:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-01T00:47:21"
        },
        {
          "time": "00:47:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:51:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "00:51:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:52:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 - 민설아,띠로 | 뉴토끼, links=36"
        },
        {
          "time": "00:52:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "00:52:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:52:40",
          "message": "작품 제목: 손만 잡아 - 민설아,띠로"
        },
        {
          "time": "00:52:40",
          "message": "메타데이터 태그 저장: 남성인기19, 드라마, 띠로, 민설아, 성인, 손만 잡아, 여성인기19, 첫사랑"
        },
        {
          "time": "00:52:40",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:53:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "00:53:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:53:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "00:53:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:54:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "00:54:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:27:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-01T01:27:34"
        },
        {
          "time": "01:27:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:37:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #38"
        },
        {
          "time": "02:37:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:38:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 - 민설아,띠로 | 뉴토끼, links=36"
        },
        {
          "time": "02:38:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #39"
        },
        {
          "time": "02:38:00",
          "message": "작품 제목: 손만 잡아 - 민설아,띠로"
        },
        {
          "time": "02:38:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:38:00",
          "message": "메타데이터 태그 저장: 남성인기19, 드라마, 띠로, 민설아, 성인, 손만 잡아, 여성인기19, 첫사랑"
        },
        {
          "time": "02:38:00",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "02:38:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #40"
        },
        {
          "time": "02:38:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:39:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #41"
        },
        {
          "time": "02:39:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:39:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #42"
        },
        {
          "time": "02:39:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:06:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #56"
        },
        {
          "time": "03:06:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:07:05",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:07:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #57"
        },
        {
          "time": "03:07:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:07:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 - 민설아,띠로 | 뉴토끼, links=36"
        },
        {
          "time": "03:07:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #58"
        },
        {
          "time": "03:07:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:07:42",
          "message": "작품 제목: 손만 잡아 - 민설아,띠로"
        },
        {
          "time": "03:07:43",
          "message": "메타데이터 태그 저장: 남성인기19, 드라마, 띠로, 민설아, 성인, 손만 잡아, 여성인기19, 첫사랑"
        },
        {
          "time": "03:07:43",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "03:08:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #59"
        },
        {
          "time": "03:08:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:08:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #60"
        },
        {
          "time": "03:08:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:09:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #61"
        },
        {
          "time": "03:09:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:14:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #191"
        },
        {
          "time": "16:14:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:15:46",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:15:46",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:15:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #192"
        },
        {
          "time": "16:15:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:15:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=손만 잡아 - 민설아,띠로 | 뉴토끼, links=36"
        },
        {
          "time": "16:16:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #193"
        },
        {
          "time": "16:16:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:16:59",
          "message": "작품 제목: 손만 잡아 - 민설아,띠로"
        },
        {
          "time": "16:16:59",
          "message": "메타데이터 태그 저장: 남성인기19, 드라마, 띠로, 민설아, 성인, 손만 잡아, 여성인기19, 첫사랑"
        },
        {
          "time": "16:17:00",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "16:17:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #194"
        },
        {
          "time": "16:17:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:17:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #195"
        },
        {
          "time": "16:17:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:18:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #196"
        },
        {
          "time": "16:18:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:30:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-03T16:30:23"
        },
        {
          "time": "16:30:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:30:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "17:54:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #340"
        },
        {
          "time": "17:54:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:54:55",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/18737, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060908"
        },
        {
          "time": "17:54:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #341"
        },
        {
          "time": "17:54:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:55:17",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/18737, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06090e"
        },
        {
          "time": "17:55:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #342"
        },
        {
          "time": "17:55:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:55:38",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/18737, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060916"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:20:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "10:21:30",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 0)"
        }
      ],
      "summary": null,
      "error": "서버 재시작으로 작업이 중단되었습니다.",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 0,
        "total": 0,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "ff4f1f1004",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:36:20",
      "started_at": "2026-06-06T14:53:21",
      "finished_at": "2026-06-06T14:54:15",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/18036",
        "target_id": "webtoon_18036",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "애첩 [레진] - 팔각"
      },
      "logs": [
        {
          "time": "12:17:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:21:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #717"
        },
        {
          "time": "12:21:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:21:26",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:21:26",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:21:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #718"
        },
        {
          "time": "12:21:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:21:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=애첩 [레진] - 팔각 | 뉴토끼, links=33"
        },
        {
          "time": "12:21:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #719"
        },
        {
          "time": "12:21:47",
          "message": "작품 제목: 애첩 [레진] - 팔각"
        },
        {
          "time": "12:21:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:21:47",
          "message": "메타데이터 태그 저장: 고수위, 로맨스, 상처녀, 성인, 애첩 [레진, 여성인기19, 팔각"
        },
        {
          "time": "12:21:48",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "12:22:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #720"
        },
        {
          "time": "12:22:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:22:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #721"
        },
        {
          "time": "12:22:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:22:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #722"
        },
        {
          "time": "12:22:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:34:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T12:34:12"
        },
        {
          "time": "12:34:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:34:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:37:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #761"
        },
        {
          "time": "12:37:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:38:11",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:38:11",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:38:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #762"
        },
        {
          "time": "12:38:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:38:31",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a077792bfcc88f01 • 2026-06-06 12:38:18 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "12:38:32",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a077792bfcc88f01 • 2026-06-06 12:38:18 UTC Edge IP Restricted What happened? Y. 최근…"
        },
        {
          "time": "12:38:32",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "12:38:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #763"
        },
        {
          "time": "12:38:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:38:54",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:38:54",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "12:38:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #764"
        },
        {
          "time": "12:38:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:39:16",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=complete, text=Please enable cookies. Error 1034 Ray ID: a0777a3f98bf8f01 • 2026-06-06 12:39:02 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "12:39:16",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=complete, text=Please enable cookies. Error 1034 Ray ID: a0777a3f98bf8f01 • 2026-06-06 12:39:02 UTC Edge IP Restricted What happened? Y. 최근 로그에…"
        },
        {
          "time": "12:50:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T12:50:17"
        },
        {
          "time": "12:50:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:50:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:51:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #797"
        },
        {
          "time": "12:51:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:52:08",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=complete, text=Please enable cookies. Error 1034 Ray ID: a0778d1c8eb18446 • 2026-06-06 12:51:54 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "12:52:09",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=complete, text=Please enable cookies. Error 1034 Ray ID: a0778d1c8eb18446 • 2026-06-06 12:51:54 UTC Edge IP Restricted What happened? Y. 최근 로그에…"
        },
        {
          "time": "12:52:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:52:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #798"
        },
        {
          "time": "12:52:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:52:29",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a0778d76da5b8446 • 2026-06-06 12:52:09 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "12:52:30",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a0778d76da5b8446 • 2026-06-06 12:52:09 UTC Edge IP Restricted What happened? Y. 최근…"
        },
        {
          "time": "12:52:30",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "12:52:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #799"
        },
        {
          "time": "12:52:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:52:51",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:52:52",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "12:52:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #800"
        },
        {
          "time": "12:52:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:53:13",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a0778eb2bb794a61 • 2026-06-06 12:52:59 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "12:53:14",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a0778eb2bb794a61 • 2026-06-06 12:52:59 UTC Edge IP Restricted What happened? Y. 최근…"
        },
        {
          "time": "13:04:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T13:04:01"
        },
        {
          "time": "13:04:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:04:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:05:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #833"
        },
        {
          "time": "13:05:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:05:58",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=complete, text=Please enable cookies. Error 1034 Ray ID: a077a14ffbf86a8a • 2026-06-06 13:05:42 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "13:05:58",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=complete, text=Please enable cookies. Error 1034 Ray ID: a077a14ffbf86a8a • 2026-06-06 13:05:42 UTC Edge IP Restricted What happened? Y. 최근 로그에…"
        },
        {
          "time": "13:05:58",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:05:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #834"
        },
        {
          "time": "13:05:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:06:19",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:06:19",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "13:06:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #835"
        },
        {
          "time": "13:06:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:06:41",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:06:41",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "13:06:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #836"
        },
        {
          "time": "13:06:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:07:03",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:17:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T13:17:48"
        },
        {
          "time": "13:17:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:17:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:19:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #869"
        },
        {
          "time": "13:19:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:19:47",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a077b5753a3777f1 • 2026-06-06 13:19:27 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "13:19:48",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a077b5753a3777f1 • 2026-06-06 13:19:27 UTC Edge IP Restricted What happened? Y. 최근…"
        },
        {
          "time": "13:19:48",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:19:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #870"
        },
        {
          "time": "13:19:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:20:08",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=complete, text=Please enable cookies. Error 1034 Ray ID: a077b5f7db3a77f1 • 2026-06-06 13:19:48 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "13:20:08",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18036, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=complete, text=Please enable cookies. Error 1034 Ray ID: a077b5f7db3a77f1 • 2026-06-06 13:19:48 UTC Edge IP Restricted What happened? Y. 최근 로그에…"
        },
        {
          "time": "13:20:09",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "13:20:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #871"
        },
        {
          "time": "13:20:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:20:30",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:20:30",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "13:20:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #872"
        },
        {
          "time": "13:20:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:20:52",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:31:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T13:31:32"
        },
        {
          "time": "13:31:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:31:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #911"
        },
        {
          "time": "13:34:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:35:19",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:35:20",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:35:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #912"
        },
        {
          "time": "13:35:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:35:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=애첩 [레진] - 팔각 | 뉴토끼, links=33"
        },
        {
          "time": "13:35:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #913"
        },
        {
          "time": "13:35:33",
          "message": "작품 제목: 애첩 [레진] - 팔각"
        },
        {
          "time": "13:35:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:35:34",
          "message": "메타데이터 태그 저장: 고수위, 로맨스, 상처녀, 성인, 애첩 [레진, 여성인기19, 팔각"
        },
        {
          "time": "13:35:35",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "13:35:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #914"
        },
        {
          "time": "13:35:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:36:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #915"
        },
        {
          "time": "13:36:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:36:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #916"
        },
        {
          "time": "13:36:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:34:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T14:34:58"
        },
        {
          "time": "14:34:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:34:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:39:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "14:39:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:39:23",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:39:23",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:39:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "14:39:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:39:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=애첩 [레진] - 팔각 | 뉴토끼, links=33"
        },
        {
          "time": "14:39:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "14:39:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:39:34",
          "message": "작품 제목: 애첩 [레진] - 팔각"
        },
        {
          "time": "14:39:35",
          "message": "메타데이터 태그 저장: 고수위, 로맨스, 상처녀, 성인, 애첩 [레진, 여성인기19, 팔각"
        },
        {
          "time": "14:39:35",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "14:39:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "14:39:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:40:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "14:40:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:40:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "14:40:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:51:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T14:51:35"
        },
        {
          "time": "14:51:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:53:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #50"
        },
        {
          "time": "14:53:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:53:43",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:53:43",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:53:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #51"
        },
        {
          "time": "14:53:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:53:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=애첩 [레진] - 팔각 | 뉴토끼, links=33"
        },
        {
          "time": "14:53:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #52"
        },
        {
          "time": "14:54:00",
          "message": "작품 제목: 애첩 [레진] - 팔각"
        },
        {
          "time": "14:54:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:54:00",
          "message": "메타데이터 태그 저장: 고수위, 로맨스, 상처녀, 성인, 애첩 [레진, 여성인기19, 팔각"
        },
        {
          "time": "14:54:01",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "14:54:04",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=애첩 [레진] 31화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_18036",
        "target_id": "webtoon_18036",
        "title": "애첩 [레진] - 팔각",
        "episodes_found": 31,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 30,
        "images_found": 2,
        "images_downloaded": 2,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_18036",
          "title": "애첩 [레진] - 팔각",
          "list_url": "https://newtoki1.org/webtoon/18036",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/18036"
          },
          "tags": [
            "고수위",
            "로맨스",
            "상처녀",
            "성인",
            "애첩 [레진",
            "여성인기19",
            "팔각"
          ],
          "description": "애첩 [레진] (팔각) [레진] #로맨스 #성인 #고수위 #여성인기19 #상처녀",
          "metadata_path": "/downloads/webtoon_18036/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 31,
          "url": "https://newtoki1.org/webtoon/18036/lz-mistress-7021778473160403",
          "title": "애첩 [레진] 31화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "7b3432a9a3",
      "status": "interrupted",
      "display_status": "interrupted",
      "created_at": "2026-05-27T11:36:13",
      "started_at": "2026-06-06T07:31:31",
      "finished_at": "2026-06-06T07:43:38",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/u-mpifd7g2-os7z",
        "target_id": "webtoon_u-mpifd7g2-os7z",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "유부녀 전용 사우나 - 하루"
      },
      "logs": [
        {
          "time": "03:42:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1547"
        },
        {
          "time": "03:42:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:42:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1548"
        },
        {
          "time": "03:42:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:43:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1549"
        },
        {
          "time": "03:43:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:43:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1550"
        },
        {
          "time": "03:43:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:43:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1551"
        },
        {
          "time": "03:43:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:44:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1552"
        },
        {
          "time": "03:44:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:44:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1553"
        },
        {
          "time": "03:44:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:45:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1554"
        },
        {
          "time": "03:45:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:45:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1555"
        },
        {
          "time": "03:45:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:45:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1556"
        },
        {
          "time": "03:45:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:46:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1557"
        },
        {
          "time": "03:46:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:46:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1558"
        },
        {
          "time": "03:46:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:46:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1559"
        },
        {
          "time": "03:46:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:47:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1560"
        },
        {
          "time": "03:47:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:58:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T03:58:41"
        },
        {
          "time": "03:58:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:58:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:40:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1695"
        },
        {
          "time": "04:40:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:40:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유부녀 전용 사우나 - 하루 | 뉴토끼, links=7"
        },
        {
          "time": "04:40:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1696"
        },
        {
          "time": "04:40:34",
          "message": "작품 제목: 유부녀 전용 사우나 - 하루"
        },
        {
          "time": "04:40:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:40:34",
          "message": "메타데이터 태그 저장: 고수위, 드라마, 성인, 유부녀 전용 사우나, 하렘, 하루, 현대물"
        },
        {
          "time": "04:40:35",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "04:40:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1697"
        },
        {
          "time": "04:40:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:41:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1698"
        },
        {
          "time": "04:41:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:41:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1699"
        },
        {
          "time": "04:41:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:41:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1700"
        },
        {
          "time": "04:41:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:42:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1701"
        },
        {
          "time": "04:42:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:42:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1702"
        },
        {
          "time": "04:42:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:43:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1703"
        },
        {
          "time": "04:43:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:43:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1704"
        },
        {
          "time": "04:43:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:43:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1705"
        },
        {
          "time": "04:43:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:44:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1706"
        },
        {
          "time": "04:44:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:44:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1707"
        },
        {
          "time": "04:44:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:44:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1708"
        },
        {
          "time": "04:44:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:45:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1709"
        },
        {
          "time": "04:45:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:45:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1710"
        },
        {
          "time": "04:45:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:46:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1711"
        },
        {
          "time": "04:46:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:57:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T04:57:30"
        },
        {
          "time": "04:57:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:57:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:40:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1855"
        },
        {
          "time": "05:40:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:40:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유부녀 전용 사우나 - 하루 | 뉴토끼, links=7"
        },
        {
          "time": "05:40:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1856"
        },
        {
          "time": "05:40:33",
          "message": "작품 제목: 유부녀 전용 사우나 - 하루"
        },
        {
          "time": "05:40:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:40:34",
          "message": "메타데이터 태그 저장: 고수위, 드라마, 성인, 유부녀 전용 사우나, 하렘, 하루, 현대물"
        },
        {
          "time": "05:40:34",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "05:40:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1857"
        },
        {
          "time": "05:40:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:41:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1858"
        },
        {
          "time": "05:41:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:41:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1859"
        },
        {
          "time": "05:41:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:41:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1860"
        },
        {
          "time": "05:41:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:42:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1861"
        },
        {
          "time": "05:42:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:42:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1862"
        },
        {
          "time": "05:42:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:43:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1863"
        },
        {
          "time": "05:43:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:43:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1864"
        },
        {
          "time": "05:43:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:43:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1865"
        },
        {
          "time": "05:43:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:44:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1866"
        },
        {
          "time": "05:44:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:44:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1867"
        },
        {
          "time": "05:44:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:44:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1868"
        },
        {
          "time": "05:44:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:45:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1869"
        },
        {
          "time": "05:45:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:45:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1870"
        },
        {
          "time": "05:45:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:46:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1871"
        },
        {
          "time": "05:46:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:57:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T05:57:28"
        },
        {
          "time": "05:57:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:57:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:39:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2015"
        },
        {
          "time": "06:39:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:39:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유부녀 전용 사우나 - 하루 | 뉴토끼, links=7"
        },
        {
          "time": "06:39:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2016"
        },
        {
          "time": "06:39:55",
          "message": "작품 제목: 유부녀 전용 사우나 - 하루"
        },
        {
          "time": "06:39:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:39:56",
          "message": "메타데이터 태그 저장: 고수위, 드라마, 성인, 유부녀 전용 사우나, 하렘, 하루, 현대물"
        },
        {
          "time": "06:39:56",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "06:40:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2017"
        },
        {
          "time": "06:40:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:40:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2018"
        },
        {
          "time": "06:40:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:41:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2019"
        },
        {
          "time": "06:41:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:41:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2020"
        },
        {
          "time": "06:41:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:41:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2021"
        },
        {
          "time": "06:41:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:42:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2022"
        },
        {
          "time": "06:42:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:42:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2023"
        },
        {
          "time": "06:42:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:42:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2024"
        },
        {
          "time": "06:42:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:43:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2025"
        },
        {
          "time": "06:43:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:43:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2026"
        },
        {
          "time": "06:43:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:44:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2027"
        },
        {
          "time": "06:44:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:44:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2028"
        },
        {
          "time": "06:44:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:44:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2029"
        },
        {
          "time": "06:44:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:45:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2030"
        },
        {
          "time": "06:45:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:45:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2031"
        },
        {
          "time": "06:45:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:57:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T06:57:04"
        },
        {
          "time": "06:57:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:57:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:31:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "07:31:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:43:38",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 0)"
        }
      ],
      "summary": null,
      "error": "서버 재시작으로 작업이 중단되었습니다.",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 0,
        "total": 0,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "9513315350",
      "status": "interrupted",
      "display_status": "interrupted",
      "created_at": "2026-05-27T11:36:08",
      "started_at": "2026-06-04T09:56:05",
      "finished_at": "2026-06-04T10:05:22",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/16832",
        "target_id": "webtoon_16832",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "마니또 - 말초코칩"
      },
      "logs": [
        {
          "time": "02:52:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #30"
        },
        {
          "time": "02:52:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:52:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #31"
        },
        {
          "time": "02:52:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:52:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 64화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "02:52:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #32"
        },
        {
          "time": "02:52:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:53:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #33"
        },
        {
          "time": "02:53:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:43:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #141"
        },
        {
          "time": "15:43:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:44:14",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "15:44:15",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "15:44:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #142"
        },
        {
          "time": "15:44:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:44:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마니또 - 말초코칩 | 뉴토끼, links=87"
        },
        {
          "time": "15:44:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #143"
        },
        {
          "time": "15:44:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:44:31",
          "message": "작품 제목: 마니또 - 말초코칩"
        },
        {
          "time": "15:44:32",
          "message": "메타데이터 태그 저장: 드라마, 로맨스, 마니또, 말초코칩, 성인, 일상"
        },
        {
          "time": "15:44:33",
          "message": "순회 계획을 저장했습니다: 21개 회차"
        },
        {
          "time": "15:44:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 53화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:44:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #144"
        },
        {
          "time": "15:44:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:44:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 59화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "15:45:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #145"
        },
        {
          "time": "15:45:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:45:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 60화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "15:46:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #146"
        },
        {
          "time": "15:46:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:46:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 61화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "15:46:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #147"
        },
        {
          "time": "15:46:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:47:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 62화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:48:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #148"
        },
        {
          "time": "15:48:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:48:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 64화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:48:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #149"
        },
        {
          "time": "15:48:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:48:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 65화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:48:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #150"
        },
        {
          "time": "15:48:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:49:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 66화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:49:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #151"
        },
        {
          "time": "15:49:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:49:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 67화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:50:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #152"
        },
        {
          "time": "15:50:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:50:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 68화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:51:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #153"
        },
        {
          "time": "15:51:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:51:58",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 69화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "15:52:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #154"
        },
        {
          "time": "15:52:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:53:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 70화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "15:54:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #155"
        },
        {
          "time": "15:54:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:54:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 71화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:54:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #156"
        },
        {
          "time": "15:54:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:54:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 73화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:54:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #157"
        },
        {
          "time": "15:54:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:55:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 74화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:55:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #158"
        },
        {
          "time": "15:55:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:56:04",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 75화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:56:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #159"
        },
        {
          "time": "15:56:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:56:49",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 78화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "15:56:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #160"
        },
        {
          "time": "15:56:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:56:58",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 79화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "15:57:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #161"
        },
        {
          "time": "15:57:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:57:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 80화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "15:57:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #162"
        },
        {
          "time": "15:57:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:57:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 81화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "15:58:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #163"
        },
        {
          "time": "15:58:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:58:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #164"
        },
        {
          "time": "15:58:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:59:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #165"
        },
        {
          "time": "15:59:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:00:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #166"
        },
        {
          "time": "16:00:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:14:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-03T16:14:50"
        },
        {
          "time": "16:14:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:14:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "17:46:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #330"
        },
        {
          "time": "17:46:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:47:20",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "17:47:20",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "17:47:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #331"
        },
        {
          "time": "17:47:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:47:40",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16832, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06085c"
        },
        {
          "time": "17:47:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #332"
        },
        {
          "time": "17:47:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:48:01",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16832, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060863"
        },
        {
          "time": "17:48:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #333"
        },
        {
          "time": "17:48:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:48:31",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16832, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06086f"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:56:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1411"
        },
        {
          "time": "09:56:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:56:27",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "09:56:27",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "09:56:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1412"
        },
        {
          "time": "09:56:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:56:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마니또 - 말초코칩 | 뉴토끼, links=87"
        },
        {
          "time": "09:57:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1413"
        },
        {
          "time": "09:57:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:57:47",
          "message": "작품 제목: 마니또 - 말초코칩"
        },
        {
          "time": "09:57:48",
          "message": "메타데이터 태그 저장: 드라마, 로맨스, 마니또, 말초코칩, 성인, 일상"
        },
        {
          "time": "09:57:50",
          "message": "순회 계획을 저장했습니다: 21개 회차"
        },
        {
          "time": "09:57:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 53화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "09:58:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1414"
        },
        {
          "time": "09:58:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:58:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 59화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "09:58:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1415"
        },
        {
          "time": "09:58:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:58:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 60화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "09:58:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1416"
        },
        {
          "time": "09:58:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:58:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 61화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "09:59:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1417"
        },
        {
          "time": "09:59:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:59:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 62화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "09:59:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1418"
        },
        {
          "time": "09:59:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:00:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 64화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "10:00:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1419"
        },
        {
          "time": "10:00:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:00:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 65화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "10:01:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1420"
        },
        {
          "time": "10:01:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:01:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 66화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "10:01:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1421"
        },
        {
          "time": "10:01:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:02:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 67화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "10:02:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1422"
        },
        {
          "time": "10:02:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:02:58",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 68화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "10:03:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1423"
        },
        {
          "time": "10:03:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:03:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 69화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "10:04:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1424"
        },
        {
          "time": "10:04:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:04:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 70화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "10:04:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1425"
        },
        {
          "time": "10:04:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:04:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마니또 71화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "10:05:22",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 21)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 21)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 21)"
        }
      ],
      "summary": null,
      "error": "서버 재시작으로 작업이 중단되었습니다.",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 13,
        "total": 21,
        "percent": 62,
        "failed": 0,
        "running": 0,
        "queued": 8
      },
      "episodes": [
        {
          "position": 53,
          "url": "https://newtoki1.org/webtoon/16832/1547164",
          "title": "마니또 53화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 59,
          "url": "https://newtoki1.org/webtoon/16832/1556029",
          "title": "마니또 59화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 60,
          "url": "https://newtoki1.org/webtoon/16832/1559272",
          "title": "마니또 60화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 61,
          "url": "https://newtoki1.org/webtoon/16832/1559364",
          "title": "마니또 61화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 62,
          "url": "https://newtoki1.org/webtoon/16832/1561953",
          "title": "마니또 62화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 64,
          "url": "https://newtoki1.org/webtoon/16832/1564860",
          "title": "마니또 64화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 65,
          "url": "https://newtoki1.org/webtoon/16832/1566426",
          "title": "마니또 65화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 66,
          "url": "https://newtoki1.org/webtoon/16832/1569060",
          "title": "마니또 66화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 67,
          "url": "https://newtoki1.org/webtoon/16832/1570846",
          "title": "마니또 67화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 68,
          "url": "https://newtoki1.org/webtoon/16832/1572173",
          "title": "마니또 68화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 69,
          "url": "https://newtoki1.org/webtoon/16832/1574384",
          "title": "마니또 69화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 70,
          "url": "https://newtoki1.org/webtoon/16832/1575696",
          "title": "마니또 70화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 71,
          "url": "https://newtoki1.org/webtoon/16832/1577133",
          "title": "마니또 71화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 73,
          "url": "https://newtoki1.org/webtoon/16832/1579659",
          "title": "73화",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 74,
          "url": "https://newtoki1.org/webtoon/16832/1581141",
          "title": "74화",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 75,
          "url": "https://newtoki1.org/webtoon/16832/1582429",
          "title": "75화",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 78,
          "url": "https://newtoki1.org/webtoon/16832/1587123",
          "title": "78화",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 79,
          "url": "https://newtoki1.org/webtoon/16832/1592066",
          "title": "79화",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 80,
          "url": "https://newtoki1.org/webtoon/16832/1592067",
          "title": "80화",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 81,
          "url": "https://newtoki1.org/webtoon/16832/1593600",
          "title": "81화",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 85,
          "url": "https://newtoki1.org/webtoon/16832/tt-manito-85",
          "title": "85화",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "dc9cc31aa4",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:36:02",
      "started_at": "2026-06-07T00:31:31",
      "finished_at": "2026-06-07T00:33:13",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/18144",
        "target_id": "webtoon_18144",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "금남톡방 - 메멜두,반 마오",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "22:52:40",
          "message": "작품 제목: 금남톡방 - 메멜두,반 마오"
        },
        {
          "time": "22:52:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:52:41",
          "message": "메타데이터 태그 저장: 금남톡방, 로맨스, 메멜두, 반 마오, 성인"
        },
        {
          "time": "22:52:42",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "22:53:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1328"
        },
        {
          "time": "22:53:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:53:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1329"
        },
        {
          "time": "22:53:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:53:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1330"
        },
        {
          "time": "22:53:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:04:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:04:40"
        },
        {
          "time": "23:04:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:04:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:04:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1358"
        },
        {
          "time": "23:04:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:05:10",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "23:05:10",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "23:05:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1359"
        },
        {
          "time": "23:05:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:05:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=금남톡방 - 메멜두,반 마오 | 뉴토끼, links=67"
        },
        {
          "time": "23:05:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1360"
        },
        {
          "time": "23:05:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:05:20",
          "message": "작품 제목: 금남톡방 - 메멜두,반 마오"
        },
        {
          "time": "23:05:21",
          "message": "메타데이터 태그 저장: 금남톡방, 로맨스, 메멜두, 반 마오, 성인"
        },
        {
          "time": "23:05:21",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:05:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1361"
        },
        {
          "time": "23:05:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:06:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1362"
        },
        {
          "time": "23:06:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:06:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1363"
        },
        {
          "time": "23:06:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:17:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:17:34"
        },
        {
          "time": "23:17:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:17:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:17:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1392"
        },
        {
          "time": "23:17:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:17:58",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "23:17:58",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "23:17:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1393"
        },
        {
          "time": "23:17:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:18:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=금남톡방 - 메멜두,반 마오 | 뉴토끼, links=67"
        },
        {
          "time": "23:18:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1394"
        },
        {
          "time": "23:18:10",
          "message": "작품 제목: 금남톡방 - 메멜두,반 마오"
        },
        {
          "time": "23:18:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:18:20",
          "message": "메타데이터 태그 저장: 금남톡방, 로맨스, 메멜두, 반 마오, 성인"
        },
        {
          "time": "23:18:21",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:18:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1395"
        },
        {
          "time": "23:18:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:18:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1396"
        },
        {
          "time": "23:18:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:19:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1397"
        },
        {
          "time": "23:19:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:30:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:30:03"
        },
        {
          "time": "23:30:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:30:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:30:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1426"
        },
        {
          "time": "23:30:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:30:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=금남톡방 - 메멜두,반 마오 | 뉴토끼, links=67"
        },
        {
          "time": "23:30:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1427"
        },
        {
          "time": "23:30:20",
          "message": "작품 제목: 금남톡방 - 메멜두,반 마오"
        },
        {
          "time": "23:30:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:30:21",
          "message": "메타데이터 태그 저장: 금남톡방, 로맨스, 메멜두, 반 마오, 성인"
        },
        {
          "time": "23:30:22",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:30:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1428"
        },
        {
          "time": "23:30:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:31:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1429"
        },
        {
          "time": "23:31:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:31:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1430"
        },
        {
          "time": "23:31:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:42:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:42:31"
        },
        {
          "time": "23:42:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:42:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:42:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1459"
        },
        {
          "time": "23:42:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:42:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=금남톡방 - 메멜두,반 마오 | 뉴토끼, links=67"
        },
        {
          "time": "23:42:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1460"
        },
        {
          "time": "23:42:44",
          "message": "작품 제목: 금남톡방 - 메멜두,반 마오"
        },
        {
          "time": "23:42:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:42:51",
          "message": "메타데이터 태그 저장: 금남톡방, 로맨스, 메멜두, 반 마오, 성인"
        },
        {
          "time": "23:42:51",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:43:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1461"
        },
        {
          "time": "23:43:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:43:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1462"
        },
        {
          "time": "23:43:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:43:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1463"
        },
        {
          "time": "23:43:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:54:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:54:22"
        },
        {
          "time": "23:54:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:54:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:54:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1491"
        },
        {
          "time": "23:54:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:54:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=금남톡방 - 메멜두,반 마오 | 뉴토끼, links=67"
        },
        {
          "time": "23:54:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1492"
        },
        {
          "time": "23:54:40",
          "message": "작품 제목: 금남톡방 - 메멜두,반 마오"
        },
        {
          "time": "23:54:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:54:41",
          "message": "메타데이터 태그 저장: 금남톡방, 로맨스, 메멜두, 반 마오, 성인"
        },
        {
          "time": "23:54:42",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:55:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1493"
        },
        {
          "time": "23:55:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:55:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1494"
        },
        {
          "time": "23:55:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:55:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1495"
        },
        {
          "time": "23:55:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:06:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T00:06:40"
        },
        {
          "time": "00:06:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:06:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:06:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1523"
        },
        {
          "time": "00:06:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:07:10",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "00:07:10",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "00:07:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1524"
        },
        {
          "time": "00:07:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:07:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=금남톡방 - 메멜두,반 마오 | 뉴토끼, links=67"
        },
        {
          "time": "00:07:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1525"
        },
        {
          "time": "00:07:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:07:20",
          "message": "작품 제목: 금남톡방 - 메멜두,반 마오"
        },
        {
          "time": "00:07:21",
          "message": "메타데이터 태그 저장: 금남톡방, 로맨스, 메멜두, 반 마오, 성인"
        },
        {
          "time": "00:07:21",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:07:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1526"
        },
        {
          "time": "00:07:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:08:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1527"
        },
        {
          "time": "00:08:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:08:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1528"
        },
        {
          "time": "00:08:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:18:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T00:18:56"
        },
        {
          "time": "00:18:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:18:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:18:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1556"
        },
        {
          "time": "00:18:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:19:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=금남톡방 - 메멜두,반 마오 | 뉴토끼, links=67"
        },
        {
          "time": "00:19:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1557"
        },
        {
          "time": "00:19:10",
          "message": "작품 제목: 금남톡방 - 메멜두,반 마오"
        },
        {
          "time": "00:19:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:19:11",
          "message": "메타데이터 태그 저장: 금남톡방, 로맨스, 메멜두, 반 마오, 성인"
        },
        {
          "time": "00:19:12",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:19:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1558"
        },
        {
          "time": "00:19:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:20:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1559"
        },
        {
          "time": "00:20:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:20:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1560"
        },
        {
          "time": "00:20:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:31:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T00:31:30"
        },
        {
          "time": "00:31:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:31:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:31:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1588"
        },
        {
          "time": "00:31:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:31:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=금남톡방 - 메멜두,반 마오 | 뉴토끼, links=67"
        },
        {
          "time": "00:31:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1589"
        },
        {
          "time": "00:31:50",
          "message": "작품 제목: 금남톡방 - 메멜두,반 마오"
        },
        {
          "time": "00:31:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:31:52",
          "message": "메타데이터 태그 저장: 금남톡방, 로맨스, 메멜두, 반 마오, 성인"
        },
        {
          "time": "00:31:53",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:32:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1590"
        },
        {
          "time": "00:32:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:32:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1591"
        },
        {
          "time": "00:32:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:32:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=금남톡방 65화 | 뉴토끼, img_tags=120, image_urls=120"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_18144",
        "target_id": "webtoon_18144",
        "title": "금남톡방 - 메멜두,반 마오",
        "episodes_found": 65,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 64,
        "images_found": 93,
        "images_downloaded": 93,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_18144",
          "title": "금남톡방 - 메멜두,반 마오",
          "list_url": "https://newtoki1.org/webtoon/18144",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/18144"
          },
          "tags": [
            "금남톡방",
            "로맨스",
            "메멜두",
            "반 마오",
            "성인"
          ],
          "description": "금남톡방 (메멜두,반 마오) [투믹스] #로맨스 #성인",
          "metadata_path": "/downloads/webtoon_18144/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 65,
          "url": "https://newtoki1.org/webtoon/18144/u-mptvg45u-wn0k",
          "title": "금남톡방 65화",
          "status": "completed",
          "image_count": 93,
          "images_done": 93,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "461a364dcf",
      "status": "interrupted",
      "display_status": "interrupted",
      "created_at": "2026-05-27T11:35:58",
      "started_at": "2026-06-06T07:00:51",
      "finished_at": "2026-06-06T07:29:17",
      "config": {
        "browser_ad_blocking": false,
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "불륜상사 - 타키,구르는바위",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/18993",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_18993",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "06:25:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:25:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1976"
        },
        {
          "time": "06:25:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:25:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1977"
        },
        {
          "time": "06:25:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:26:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1978"
        },
        {
          "time": "06:26:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:26:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1979"
        },
        {
          "time": "06:26:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:26:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1980"
        },
        {
          "time": "06:26:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:27:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1981"
        },
        {
          "time": "06:27:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:27:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1982"
        },
        {
          "time": "06:27:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:27:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1983"
        },
        {
          "time": "06:27:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:28:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1984"
        },
        {
          "time": "06:28:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:28:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1985"
        },
        {
          "time": "06:28:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:29:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1986"
        },
        {
          "time": "06:29:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:29:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1987"
        },
        {
          "time": "06:29:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:29:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1988"
        },
        {
          "time": "06:29:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:30:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1989"
        },
        {
          "time": "06:30:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:30:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1990"
        },
        {
          "time": "06:30:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:30:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1991"
        },
        {
          "time": "06:30:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:31:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1992"
        },
        {
          "time": "06:31:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:31:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1993"
        },
        {
          "time": "06:31:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:31:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1994"
        },
        {
          "time": "06:31:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:32:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1995"
        },
        {
          "time": "06:32:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:32:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1996"
        },
        {
          "time": "06:32:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:33:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1997"
        },
        {
          "time": "06:33:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:33:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1998"
        },
        {
          "time": "06:33:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:33:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1999"
        },
        {
          "time": "06:33:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:34:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2000"
        },
        {
          "time": "06:34:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:34:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2001"
        },
        {
          "time": "06:34:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:34:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2002"
        },
        {
          "time": "06:34:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:35:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2003"
        },
        {
          "time": "06:35:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:35:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2004"
        },
        {
          "time": "06:35:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:35:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2005"
        },
        {
          "time": "06:35:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:36:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2006"
        },
        {
          "time": "06:36:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:36:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2007"
        },
        {
          "time": "06:36:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:37:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2008"
        },
        {
          "time": "06:37:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:48:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T06:48:10"
        },
        {
          "time": "06:48:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:48:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:00:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2071"
        },
        {
          "time": "07:00:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:01:17",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:01:17",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:01:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2072"
        },
        {
          "time": "07:01:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:01:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=불륜상사 - 타키,구르는바위 | 뉴토끼, links=28"
        },
        {
          "time": "07:01:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2073"
        },
        {
          "time": "07:01:33",
          "message": "작품 제목: 불륜상사 - 타키,구르는바위"
        },
        {
          "time": "07:01:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:01:34",
          "message": "메타데이터 태그 저장: 구르는바위, 드라마, 불륜상사, 성인, 타키"
        },
        {
          "time": "07:01:35",
          "message": "순회 계획을 저장했습니다: 24개 회차"
        },
        {
          "time": "07:01:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2074"
        },
        {
          "time": "07:01:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:02:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2075"
        },
        {
          "time": "07:02:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:02:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2076"
        },
        {
          "time": "07:02:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:03:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2077"
        },
        {
          "time": "07:03:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:03:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2078"
        },
        {
          "time": "07:03:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:03:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2079"
        },
        {
          "time": "07:03:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:04:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2080"
        },
        {
          "time": "07:04:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:04:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2081"
        },
        {
          "time": "07:04:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:04:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2082"
        },
        {
          "time": "07:04:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:05:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2083"
        },
        {
          "time": "07:05:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:05:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2084"
        },
        {
          "time": "07:05:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:06:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2085"
        },
        {
          "time": "07:06:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:06:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2086"
        },
        {
          "time": "07:06:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:06:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2087"
        },
        {
          "time": "07:06:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:07:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2088"
        },
        {
          "time": "07:07:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:07:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2089"
        },
        {
          "time": "07:07:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:07:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2090"
        },
        {
          "time": "07:07:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:08:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2091"
        },
        {
          "time": "07:08:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:08:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2092"
        },
        {
          "time": "07:08:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:09:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2093"
        },
        {
          "time": "07:09:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:09:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2094"
        },
        {
          "time": "07:09:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:09:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2095"
        },
        {
          "time": "07:09:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:10:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2096"
        },
        {
          "time": "07:10:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:10:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2097"
        },
        {
          "time": "07:10:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:14:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2098"
        },
        {
          "time": "07:14:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:14:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2099"
        },
        {
          "time": "07:14:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:14:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2100"
        },
        {
          "time": "07:14:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:15:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2101"
        },
        {
          "time": "07:15:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:15:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2102"
        },
        {
          "time": "07:15:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:16:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2103"
        },
        {
          "time": "07:16:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:16:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2104"
        },
        {
          "time": "07:17:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:18:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2105"
        },
        {
          "time": "07:18:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:19:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2106"
        },
        {
          "time": "07:19:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:19:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2107"
        },
        {
          "time": "07:19:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:19:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2108"
        },
        {
          "time": "07:19:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:20:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2109"
        },
        {
          "time": "07:20:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:20:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2110"
        },
        {
          "time": "07:20:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:29:17",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 24)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 24)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 24)"
        }
      ],
      "summary": null,
      "error": "서버 재시작으로 작업이 중단되었습니다.",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 0,
        "total": 24,
        "percent": 0,
        "failed": 1,
        "running": 0,
        "queued": 22
      },
      "episodes": [
        {
          "position": 3,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021766118686646",
          "title": "2화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 4,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021766919706430",
          "title": "3화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 5,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021766919816092",
          "title": "4화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 6,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021766919888507",
          "title": "5화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 7,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021767507443597",
          "title": "6화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 8,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021767943539735",
          "title": "7화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 9,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021768782164956",
          "title": "8화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 10,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021769240358254",
          "title": "9화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 11,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021769922710099",
          "title": "10화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 12,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021770463658684",
          "title": "11화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 13,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021771123540307",
          "title": "12화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 14,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021771752785907",
          "title": "13화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 15,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021772344850107",
          "title": "14화 🔒 50 P",
          "status": "failed",
          "image_count": 0,
          "images_done": 0,
          "error": "브라우저 응답 시간이 초과되었습니다.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 16,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021772960509482",
          "title": "15화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 17,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021773562808314",
          "title": "16화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 18,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021774069318906",
          "title": "17화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 19,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021774606561378",
          "title": "18화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 20,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021775355389547",
          "title": "19화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 21,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021775804315240",
          "title": "20화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": "Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요.",
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 22,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021776489853134",
          "title": "21화 🔒 50 P",
          "status": "interrupted",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 23,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021777024294486",
          "title": "22화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 24,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021777702200240",
          "title": "23화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 25,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021778235247902",
          "title": "24화 🔒 50 P",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 26,
          "url": "https://newtoki1.org/webtoon/18993/lz-infidelity_boss-7021778743105853",
          "title": "49화",
          "status": "queued",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "4eebc3d03f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:34:21",
      "started_at": "2026-06-04T09:00:59",
      "finished_at": "2026-06-04T09:02:15",
      "config": {
        "browser_ad_blocking": false,
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "절대 꺾이지 않을거야! - 유월,G유,NTK",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/18756",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_18756",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "01:31:44",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:44:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:44:47"
        },
        {
          "time": "01:44:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:44:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:00:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2531"
        },
        {
          "time": "02:00:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:00:36",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:00:44",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:10:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:10:49"
        },
        {
          "time": "02:10:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:10:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:22:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2565"
        },
        {
          "time": "02:22:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:22:55",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:22:55",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:34:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:34:28"
        },
        {
          "time": "02:34:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:34:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:48:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2599"
        },
        {
          "time": "02:48:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:49:12",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:49:12",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:59:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:59:25"
        },
        {
          "time": "02:59:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:59:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:18:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "03:18:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:19:08",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:19:39",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:31:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:30:54"
        },
        {
          "time": "03:31:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:31:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:39:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #39"
        },
        {
          "time": "03:39:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:39:24",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:39:25",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:49:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:49:58"
        },
        {
          "time": "03:49:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:49:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:59:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #68"
        },
        {
          "time": "03:59:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:59:52",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:59:52",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:13:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:13:09"
        },
        {
          "time": "04:13:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:13:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:18:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #98"
        },
        {
          "time": "04:18:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:19:07",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:19:07",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:29:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:29:08"
        },
        {
          "time": "04:29:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:29:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:40:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #127"
        },
        {
          "time": "04:40:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:41:20",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:41:54",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:54:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:54:58"
        },
        {
          "time": "04:54:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:54:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:04:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "05:04:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:04:38",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "05:04:39",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:15:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:15:56"
        },
        {
          "time": "05:15:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:15:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:38:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #28"
        },
        {
          "time": "05:38:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:38:35",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:38:35",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:38:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #29"
        },
        {
          "time": "05:38:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:38:55",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:38:56",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:38:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #30"
        },
        {
          "time": "05:38:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:39:16",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:52:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:52:42"
        },
        {
          "time": "05:52:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:52:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:18:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "06:18:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:19:06",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18756, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043dd1"
        },
        {
          "time": "06:19:06",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:19:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "06:19:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:19:27",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18756, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043dd7"
        },
        {
          "time": "06:19:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "06:19:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:19:57",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:20:17",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18756, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043deb"
        },
        {
          "time": "06:20:17",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:32:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T06:32:00"
        },
        {
          "time": "06:32:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:32:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:49:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "06:49:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:49:25",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18756, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a04409b"
        },
        {
          "time": "06:49:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "06:49:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:49:46",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18756, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a04409e"
        },
        {
          "time": "06:49:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "06:49:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:50:07",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18756, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0440a6"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:42:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "16:42:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:42:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=절대 꺾이지 않을거야! - 유월,G유,NTK | 뉴토끼, links=40"
        },
        {
          "time": "16:42:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "16:42:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:42:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=절대 꺾이지 않을거야! - 유월,G유,NTK | 뉴토끼, links=40"
        },
        {
          "time": "16:42:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "16:42:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:42:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=절대 꺾이지 않을거야! - 유월,G유,NTK | 뉴토끼, links=40"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:26:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #469"
        },
        {
          "time": "22:26:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:26:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=절대 꺾이지 않을거야! - 유월,G유,NTK | 뉴토끼, links=40"
        },
        {
          "time": "22:27:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #470"
        },
        {
          "time": "22:27:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:27:22",
          "message": "작품 제목: 절대 꺾이지 않을거야! - 유월,G유,NTK"
        },
        {
          "time": "22:27:22",
          "message": "메타데이터 태그 저장: G유, NTK, 고수위, 노벨피아원작, 능욕, 드라마, 성인, 유월, 절대 꺾이지 않을거야!"
        },
        {
          "time": "22:27:22",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "22:27:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절대 꺾이지 않을거야! 1화 38화 - 공중 화장실 집단 강ㄱ 영상 유출 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:15:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #69"
        },
        {
          "time": "03:15:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:16:02",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:16:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #70"
        },
        {
          "time": "03:16:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:16:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=절대 꺾이지 않을거야! - 유월,G유,NTK | 뉴토끼, links=41"
        },
        {
          "time": "03:16:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #71"
        },
        {
          "time": "03:16:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:16:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=절대 꺾이지 않을거야! 39화 39화 - 변기처럼 굴려주니까 좋냐?ㅋㅋ | 뉴토끼, img_tags=70, image_urls=70"
        },
        {
          "time": "03:16:51",
          "message": "작품 제목: 절대 꺾이지 않을거야! - 유월,G유,NTK"
        },
        {
          "time": "03:16:52",
          "message": "메타데이터 태그 저장: G유, NTK, 고수위, 노벨피아원작, 능욕, 드라마, 성인, 유월, 절대 꺾이지 않을거야!"
        },
        {
          "time": "03:16:52",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:35:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #221"
        },
        {
          "time": "16:35:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:35:27",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:35:28",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:35:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #222"
        },
        {
          "time": "16:35:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:35:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=절대 꺾이지 않을거야! - 유월,G유,NTK | 뉴토끼, links=41"
        },
        {
          "time": "16:36:15",
          "message": "작품 제목: 절대 꺾이지 않을거야! - 유월,G유,NTK"
        },
        {
          "time": "16:36:16",
          "message": "메타데이터 태그 저장: G유, NTK, 고수위, 노벨피아원작, 능욕, 드라마, 성인, 유월, 절대 꺾이지 않을거야!"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:01:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1306"
        },
        {
          "time": "09:01:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:01:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=절대 꺾이지 않을거야! - 유월,G유,NTK | 뉴토끼, links=41"
        },
        {
          "time": "09:02:14",
          "message": "작품 제목: 절대 꺾이지 않을거야! - 유월,G유,NTK"
        },
        {
          "time": "09:02:14",
          "message": "메타데이터 태그 저장: G유, NTK, 고수위, 노벨피아원작, 능욕, 드라마, 성인, 유월, 절대 꺾이지 않을거야!"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_18756",
        "target_id": "webtoon_18756",
        "title": "절대 꺾이지 않을거야! - 유월,G유,NTK",
        "episodes_found": 39,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 39,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_18756",
          "title": "절대 꺾이지 않을거야! - 유월,G유,NTK",
          "list_url": "https://newtoki1.org/webtoon/18756",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/18756"
          },
          "tags": [
            "G유",
            "NTK",
            "고수위",
            "노벨피아원작",
            "능욕",
            "드라마",
            "성인",
            "유월",
            "절대 꺾이지 않을거야!"
          ],
          "description": "절대 꺾이지 않을거야! (유월,G유,NTK) [탑툰] #드라마 #성인 #노벨피아원작 #고수위 #능욕",
          "metadata_path": "/downloads/webtoon_18756/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 39,
        "total": 39,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "e244b4e6d2",
      "status": "failed",
      "display_status": "failed",
      "created_at": "2026-05-27T11:32:48",
      "started_at": "2026-06-05T16:29:21",
      "finished_at": "2026-06-05T16:31:56",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/16996",
        "target_id": "webtoon_16996",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "비비새 - 나리"
      },
      "logs": [
        {
          "time": "02:13:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1608"
        },
        {
          "time": "02:13:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:13:47",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16996, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06ba87"
        },
        {
          "time": "02:14:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1609"
        },
        {
          "time": "02:14:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:14:43",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16996, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06ba9d"
        },
        {
          "time": "04:36:43",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-05T04:36:12"
        },
        {
          "time": "05:04:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1823"
        },
        {
          "time": "05:04:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:05:15",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:05:15",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:05:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1824"
        },
        {
          "time": "05:05:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:05:36",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:05:36",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:05:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1825"
        },
        {
          "time": "05:05:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:05:59",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:05:59",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:05:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1826"
        },
        {
          "time": "05:06:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:06:21",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:57:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T05:57:10"
        },
        {
          "time": "05:57:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:57:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:55:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2018"
        },
        {
          "time": "06:55:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:56:23",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:56:23",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:56:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2019"
        },
        {
          "time": "06:56:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:56:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=비비새 - 나리 | 뉴토끼, links=58"
        },
        {
          "time": "06:56:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2020"
        },
        {
          "time": "06:56:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:56:31",
          "message": "작품 제목: 비비새 - 나리"
        },
        {
          "time": "06:56:31",
          "message": "메타데이터 태그 저장: 나리, 비비새"
        },
        {
          "time": "06:56:32",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "06:56:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2021"
        },
        {
          "time": "06:56:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:57:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2022"
        },
        {
          "time": "06:57:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:57:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비비새 58화 휴재 공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "06:57:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2023"
        },
        {
          "time": "06:57:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:58:08",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비비새 32화 1부 후기 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "06:58:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2024"
        },
        {
          "time": "06:58:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:59:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2025"
        },
        {
          "time": "06:59:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:51:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T07:51:26"
        },
        {
          "time": "07:51:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:51:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:44:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2216"
        },
        {
          "time": "08:44:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:44:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=비비새 - 나리 | 뉴토끼, links=58"
        },
        {
          "time": "08:44:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2217"
        },
        {
          "time": "08:45:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:45:17",
          "message": "작품 제목: 비비새 - 나리"
        },
        {
          "time": "08:45:17",
          "message": "메타데이터 태그 저장: 나리, 비비새"
        },
        {
          "time": "08:45:18",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "08:45:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2218"
        },
        {
          "time": "08:45:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:45:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2219"
        },
        {
          "time": "08:45:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:46:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비비새 58화 휴재 공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "08:46:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2220"
        },
        {
          "time": "08:46:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:46:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비비새 32화 1부 후기 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:47:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2221"
        },
        {
          "time": "08:47:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:47:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2222"
        },
        {
          "time": "08:47:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:40:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T09:40:10"
        },
        {
          "time": "09:40:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:40:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:38:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2409"
        },
        {
          "time": "10:38:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:38:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=비비새 - 나리 | 뉴토끼, links=58"
        },
        {
          "time": "10:38:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2410"
        },
        {
          "time": "10:38:50",
          "message": "작품 제목: 비비새 - 나리"
        },
        {
          "time": "10:38:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:38:53",
          "message": "메타데이터 태그 저장: 나리, 비비새"
        },
        {
          "time": "10:38:54",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "10:39:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2411"
        },
        {
          "time": "10:39:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:40:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2412"
        },
        {
          "time": "10:40:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:40:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비비새 58화 휴재 공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "10:40:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2413"
        },
        {
          "time": "10:40:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:40:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비비새 32화 1부 후기 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "10:41:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2414"
        },
        {
          "time": "10:41:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:42:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2415"
        },
        {
          "time": "10:42:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:36:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T11:36:49"
        },
        {
          "time": "11:36:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:36:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:33:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2603"
        },
        {
          "time": "12:33:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:33:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=비비새 - 나리 | 뉴토끼, links=58"
        },
        {
          "time": "12:33:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2604"
        },
        {
          "time": "12:34:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:34:41",
          "message": "작품 제목: 비비새 - 나리"
        },
        {
          "time": "12:34:42",
          "message": "메타데이터 태그 저장: 나리, 비비새"
        },
        {
          "time": "12:34:44",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "12:35:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2605"
        },
        {
          "time": "12:35:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:35:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2606"
        },
        {
          "time": "12:35:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:36:08",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비비새 58화 휴재 공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "12:36:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2607"
        },
        {
          "time": "12:36:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:36:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비비새 32화 1부 후기 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "12:36:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2608"
        },
        {
          "time": "12:36:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:37:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2609"
        },
        {
          "time": "12:37:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:25:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T13:25:37"
        },
        {
          "time": "13:25:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:23:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2799"
        },
        {
          "time": "14:23:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:23:50",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:23:51",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:23:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2800"
        },
        {
          "time": "14:23:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:24:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=비비새 - 나리 | 뉴토끼, links=58"
        },
        {
          "time": "14:24:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2801"
        },
        {
          "time": "14:24:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:24:40",
          "message": "작품 제목: 비비새 - 나리"
        },
        {
          "time": "14:24:40",
          "message": "메타데이터 태그 저장: 나리, 비비새"
        },
        {
          "time": "14:24:41",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "14:25:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2802"
        },
        {
          "time": "14:25:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:25:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2803"
        },
        {
          "time": "14:25:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:25:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비비새 58화 휴재 공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "14:25:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2804"
        },
        {
          "time": "14:25:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:26:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비비새 32화 1부 후기 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "14:26:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2805"
        },
        {
          "time": "14:26:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:27:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2806"
        },
        {
          "time": "14:27:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:16:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T15:16:18"
        },
        {
          "time": "15:16:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:16:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "16:29:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "16:29:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:31:13",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16996, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a070904"
        },
        {
          "time": "16:31:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "16:31:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:31:34",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16996, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a070910"
        },
        {
          "time": "16:31:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "16:31:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:31:56",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16996, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a070918"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_16996",
        "target_id": "webtoon_16996",
        "title": "",
        "episodes_found": 0,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 0,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": "목록 페이지 검증 실패: 대기 또는 브라우저 검증 페이지가 로드됨",
        "metadata": {}
      },
      "error": "목록 페이지 검증 실패: 대기 또는 브라우저 검증 페이지가 로드됨",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": true,
        "type": "browser_verification",
        "severity": "warning",
        "time": "16:31:56",
        "message": "브라우저 검증 페이지가 남아 있습니다."
      },
      "progress": {
        "done": 0,
        "total": 0,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "c42163dda8",
      "status": "failed",
      "display_status": "failed",
      "created_at": "2026-05-27T11:31:43",
      "started_at": "2026-06-05T16:27:35",
      "finished_at": "2026-06-05T16:29:21",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/19115",
        "target_id": "webtoon_19115",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "나는 조용히 일하고 싶다 - 얼끼"
      },
      "logs": [
        {
          "time": "22:31:26",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "22:31:27",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "22:31:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1220"
        },
        {
          "time": "22:31:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:31:48",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "23:28:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-04T23:28:02"
        },
        {
          "time": "23:28:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:28:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:18:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1409"
        },
        {
          "time": "00:18:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:19:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=나는 조용히 일하고 싶다 - 얼끼 | 뉴토끼, links=25"
        },
        {
          "time": "00:19:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1410"
        },
        {
          "time": "00:19:05",
          "message": "작품 제목: 나는 조용히 일하고 싶다 - 얼끼"
        },
        {
          "time": "00:19:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:19:05",
          "message": "메타데이터 태그 저장: 나는 조용히 일하고 싶다, 노벨피아원작, 드라마, 비밀, 성인, 얼끼, 유부녀"
        },
        {
          "time": "00:19:06",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:19:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1411"
        },
        {
          "time": "00:19:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:19:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1412"
        },
        {
          "time": "00:19:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:20:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1413"
        },
        {
          "time": "00:20:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:17:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T01:17:28"
        },
        {
          "time": "01:17:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:17:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:07:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1604"
        },
        {
          "time": "02:07:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:08:30",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "02:08:30",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "02:08:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1605"
        },
        {
          "time": "02:08:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:08:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=나는 조용히 일하고 싶다 - 얼끼 | 뉴토끼, links=25"
        },
        {
          "time": "02:09:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1606"
        },
        {
          "time": "02:09:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:09:48",
          "message": "작품 제목: 나는 조용히 일하고 싶다 - 얼끼"
        },
        {
          "time": "02:09:48",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잠시만 기다리십시오…, img_tags=1, image_urls=1"
        },
        {
          "time": "02:11:24",
          "message": "메타데이터 태그 저장: 나는 조용히 일하고 싶다, 노벨피아원작, 드라마, 비밀, 성인, 얼끼, 유부녀"
        },
        {
          "time": "02:11:24",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "04:36:43",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-05T04:36:12"
        },
        {
          "time": "05:01:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1819"
        },
        {
          "time": "05:01:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:02:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1820"
        },
        {
          "time": "05:02:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:03:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1821"
        },
        {
          "time": "05:03:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:04:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1822"
        },
        {
          "time": "05:04:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:57:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T05:57:10"
        },
        {
          "time": "05:57:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:57:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:52:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2013"
        },
        {
          "time": "06:52:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:53:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=나는 조용히 일하고 싶다 - 얼끼 | 뉴토끼, links=25"
        },
        {
          "time": "06:53:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2014"
        },
        {
          "time": "06:53:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:53:30",
          "message": "작품 제목: 나는 조용히 일하고 싶다 - 얼끼"
        },
        {
          "time": "06:53:30",
          "message": "메타데이터 태그 저장: 나는 조용히 일하고 싶다, 노벨피아원작, 드라마, 비밀, 성인, 얼끼, 유부녀"
        },
        {
          "time": "06:53:31",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "06:53:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2015"
        },
        {
          "time": "06:53:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:54:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2016"
        },
        {
          "time": "06:54:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:55:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2017"
        },
        {
          "time": "06:55:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:51:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T07:51:26"
        },
        {
          "time": "07:51:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:51:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:41:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2210"
        },
        {
          "time": "08:41:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:41:47",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:41:48",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:41:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2211"
        },
        {
          "time": "08:41:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:42:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=나는 조용히 일하고 싶다 - 얼끼 | 뉴토끼, links=25"
        },
        {
          "time": "08:42:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2212"
        },
        {
          "time": "08:42:05",
          "message": "작품 제목: 나는 조용히 일하고 싶다 - 얼끼"
        },
        {
          "time": "08:42:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:42:07",
          "message": "메타데이터 태그 저장: 나는 조용히 일하고 싶다, 노벨피아원작, 드라마, 비밀, 성인, 얼끼, 유부녀"
        },
        {
          "time": "08:42:09",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "08:42:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2213"
        },
        {
          "time": "08:42:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:43:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2214"
        },
        {
          "time": "08:43:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:43:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2215"
        },
        {
          "time": "08:43:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:40:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T09:40:10"
        },
        {
          "time": "09:40:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:40:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:34:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2403"
        },
        {
          "time": "10:34:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:35:19",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:35:19",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:35:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2404"
        },
        {
          "time": "10:35:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:35:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=나는 조용히 일하고 싶다 - 얼끼 | 뉴토끼, links=25"
        },
        {
          "time": "10:35:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2405"
        },
        {
          "time": "10:35:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:35:25",
          "message": "작품 제목: 나는 조용히 일하고 싶다 - 얼끼"
        },
        {
          "time": "10:35:26",
          "message": "메타데이터 태그 저장: 나는 조용히 일하고 싶다, 노벨피아원작, 드라마, 비밀, 성인, 얼끼, 유부녀"
        },
        {
          "time": "10:35:26",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "10:35:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2406"
        },
        {
          "time": "10:35:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:36:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2407"
        },
        {
          "time": "10:36:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:36:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2408"
        },
        {
          "time": "10:36:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:36:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T11:36:49"
        },
        {
          "time": "11:36:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:36:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:31:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2599"
        },
        {
          "time": "12:31:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:32:04",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:32:04",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:32:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2600"
        },
        {
          "time": "12:32:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:32:24",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:32:24",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "12:32:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2601"
        },
        {
          "time": "12:32:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:32:46",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:32:46",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "12:32:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2602"
        },
        {
          "time": "12:32:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:33:08",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:25:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T13:25:37"
        },
        {
          "time": "13:25:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:20:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2793"
        },
        {
          "time": "14:20:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:20:41",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:20:42",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:20:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2794"
        },
        {
          "time": "14:20:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:20:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=나는 조용히 일하고 싶다 - 얼끼 | 뉴토끼, links=25"
        },
        {
          "time": "14:20:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2795"
        },
        {
          "time": "14:21:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:21:30",
          "message": "작품 제목: 나는 조용히 일하고 싶다 - 얼끼"
        },
        {
          "time": "14:21:31",
          "message": "메타데이터 태그 저장: 나는 조용히 일하고 싶다, 노벨피아원작, 드라마, 비밀, 성인, 얼끼, 유부녀"
        },
        {
          "time": "14:21:31",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "14:21:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2796"
        },
        {
          "time": "14:21:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:22:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2797"
        },
        {
          "time": "14:22:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:22:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2798"
        },
        {
          "time": "14:22:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:16:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T15:16:18"
        },
        {
          "time": "15:16:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:16:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "16:28:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "16:28:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:28:30",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/19115, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0708ca"
        },
        {
          "time": "16:28:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "16:28:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:28:51",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/19115, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0708d0"
        },
        {
          "time": "16:28:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "16:28:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:29:12",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/19115, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0708d8"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_19115",
        "target_id": "webtoon_19115",
        "title": "",
        "episodes_found": 0,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 0,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": "목록 페이지 검증 실패: 대기 또는 브라우저 검증 페이지가 로드됨",
        "metadata": {}
      },
      "error": "목록 페이지 검증 실패: 대기 또는 브라우저 검증 페이지가 로드됨",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": true,
        "type": "browser_verification",
        "severity": "warning",
        "time": "16:29:12",
        "message": "브라우저 검증 페이지가 남아 있습니다."
      },
      "progress": {
        "done": 0,
        "total": 0,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "b70a2d61cd",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-27T11:30:15",
      "started_at": "2026-06-04T08:52:18",
      "finished_at": "2026-06-04T08:53:24",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/16986",
        "target_id": "webtoon_16986",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "recheck_completed_max_images": 2,
        "display_title": "뷰티풀데이즈 - 유월,눈냐"
      },
      "logs": [
        {
          "time": "11:31:34",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "11:38:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-27T11:38:57"
        },
        {
          "time": "11:38:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:37:45",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "14:22:28",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-27T14:22:11"
        },
        {
          "time": "14:22:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:06:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-27T15:06:53"
        },
        {
          "time": "15:06:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:06:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "17:25:34",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "17:32:23",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-27T17:32:22"
        },
        {
          "time": "17:32:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:41:32",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:51:06",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "05:06:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:06:11"
        },
        {
          "time": "05:06:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:06:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:55:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #560"
        },
        {
          "time": "23:55:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:56:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=뷰티풀데이즈 - 유월,눈냐 | 뉴토끼, links=82"
        },
        {
          "time": "23:56:13",
          "message": "작품 제목: 뷰티풀데이즈 - 유월,눈냐"
        },
        {
          "time": "23:56:13",
          "message": "메타데이터 태그 저장: 관음, 눈냐, 능욕, 드라마, 뷰티풀데이즈, 성인, 숨겨진 욕망, 유월"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:18:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #71"
        },
        {
          "time": "13:18:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:19:00",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:19:00",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:29:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:29:57"
        },
        {
          "time": "13:29:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:29:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:24:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1444"
        },
        {
          "time": "13:24:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:25:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=뷰티풀데이즈 - 유월,눈냐 | 뉴토끼, links=82"
        },
        {
          "time": "13:25:17",
          "message": "작품 제목: 뷰티풀데이즈 - 유월,눈냐"
        },
        {
          "time": "13:25:17",
          "message": "메타데이터 태그 저장: 관음, 눈냐, 능욕, 드라마, 뷰티풀데이즈, 성인, 숨겨진 욕망, 유월"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:30:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "17:30:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:30:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=뷰티풀데이즈 - 유월,눈냐 | 뉴토끼, links=82"
        },
        {
          "time": "17:31:53",
          "message": "작품 제목: 뷰티풀데이즈 - 유월,눈냐"
        },
        {
          "time": "17:31:53",
          "message": "메타데이터 태그 저장: 관음, 눈냐, 능욕, 드라마, 뷰티풀데이즈, 성인, 숨겨진 욕망, 유월"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:06:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "14:06:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:07:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=뷰티풀데이즈 - 유월,눈냐 | 뉴토끼, links=82"
        },
        {
          "time": "14:07:03",
          "message": "작품 제목: 뷰티풀데이즈 - 유월,눈냐"
        },
        {
          "time": "14:07:03",
          "message": "메타데이터 태그 저장: 관음, 눈냐, 능욕, 드라마, 뷰티풀데이즈, 성인, 숨겨진 욕망, 유월"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:52:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1291"
        },
        {
          "time": "08:52:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:53:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=뷰티풀데이즈 - 유월,눈냐 | 뉴토끼, links=82"
        },
        {
          "time": "08:53:23",
          "message": "작품 제목: 뷰티풀데이즈 - 유월,눈냐"
        },
        {
          "time": "08:53:24",
          "message": "메타데이터 태그 저장: 관음, 눈냐, 능욕, 드라마, 뷰티풀데이즈, 성인, 숨겨진 욕망, 유월"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_16986",
        "target_id": "webtoon_16986",
        "title": "뷰티풀데이즈 - 유월,눈냐",
        "episodes_found": 80,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 80,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_16986",
          "title": "뷰티풀데이즈 - 유월,눈냐",
          "list_url": "https://newtoki1.org/webtoon/16986",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/16986"
          },
          "tags": [
            "관음",
            "눈냐",
            "능욕",
            "드라마",
            "뷰티풀데이즈",
            "성인",
            "숨겨진 욕망",
            "유월"
          ],
          "description": "뷰티풀데이즈 (유월,눈냐) [탑툰] #드라마 #성인 #능욕 #숨겨진 욕망 #관음",
          "metadata_path": "/downloads/webtoon_16986/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 80,
        "total": 80,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "1e5279994d",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-26T02:35:51",
      "started_at": "2026-06-04T08:51:36",
      "finished_at": "2026-06-04T08:52:18",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/u-lz-workshop-19e3e758ae4-smal",
        "target_id": "webtoon_u-lz-workshop-19e3e758ae4-smal",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "상사들과 워크숍에 가요 - 야하",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:39:23",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "02:39:23",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "02:39:23",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal"
        },
        {
          "time": "02:39:23",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal"
        },
        {
          "time": "02:39:48",
          "message": "작품 제목: 상사들과 워크숍에 가요 - 야하"
        },
        {
          "time": "02:39:48",
          "message": "메타데이터 저장: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/metadata.yaml"
        },
        {
          "time": "02:39:48",
          "message": "메타데이터 태그 저장: 상사들과 워크숍에 가요, 성인, 야하"
        },
        {
          "time": "02:39:49",
          "message": "순회 계획을 저장했습니다: 30개 회차"
        },
        {
          "time": "02:39:49",
          "message": "총 30개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "02:39:49",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021759212579179"
        },
        {
          "time": "02:39:49",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021759212579179"
        },
        {
          "time": "02:40:08",
          "message": "  [i] 회차 제목: 상사들과 워크숍에 가요 30화 1화 - 1화"
        },
        {
          "time": "02:40:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/001.jpg"
        },
        {
          "time": "02:40:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/002.jpg"
        },
        {
          "time": "02:40:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/003.jpg"
        },
        {
          "time": "02:40:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/004.jpg"
        },
        {
          "time": "02:40:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/005.jpg"
        },
        {
          "time": "02:40:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/006.jpg"
        },
        {
          "time": "02:40:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/007.jpg"
        },
        {
          "time": "02:40:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/008.jpg"
        },
        {
          "time": "02:40:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/009.jpg"
        },
        {
          "time": "02:40:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/010.jpg"
        },
        {
          "time": "02:40:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/011.jpg"
        },
        {
          "time": "02:40:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/012.jpg"
        },
        {
          "time": "02:40:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/013.jpg"
        },
        {
          "time": "02:40:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/014.jpg"
        },
        {
          "time": "02:40:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/015.jpg"
        },
        {
          "time": "02:40:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/016.jpg"
        },
        {
          "time": "02:40:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/017.jpg"
        },
        {
          "time": "02:40:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/018.jpg"
        },
        {
          "time": "02:40:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/019.jpg"
        },
        {
          "time": "02:40:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/020.jpg"
        },
        {
          "time": "02:40:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/021.jpg"
        },
        {
          "time": "02:40:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/022.jpg"
        },
        {
          "time": "02:40:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/023.jpg"
        },
        {
          "time": "02:40:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/024.jpg"
        },
        {
          "time": "02:40:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/025.jpg"
        },
        {
          "time": "02:40:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/026.jpg"
        },
        {
          "time": "02:40:40",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/027.jpg"
        },
        {
          "time": "02:40:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/028.jpg"
        },
        {
          "time": "02:40:42",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/029.jpg"
        },
        {
          "time": "02:40:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/030.jpg"
        },
        {
          "time": "02:40:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/031.jpg"
        },
        {
          "time": "02:40:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/032.jpg"
        },
        {
          "time": "02:40:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/033.jpg"
        },
        {
          "time": "02:40:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/034.jpg"
        },
        {
          "time": "02:40:47",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/035.jpg"
        },
        {
          "time": "02:40:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/036.jpg"
        },
        {
          "time": "02:40:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/037.jpg"
        },
        {
          "time": "02:40:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/038.jpg"
        },
        {
          "time": "02:40:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/039.jpg"
        },
        {
          "time": "02:40:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/040.jpg"
        },
        {
          "time": "02:40:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/041.jpg"
        },
        {
          "time": "02:40:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/042.jpg"
        },
        {
          "time": "02:40:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/043.jpg"
        },
        {
          "time": "02:40:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/044.jpg"
        },
        {
          "time": "02:40:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/045.jpg"
        },
        {
          "time": "02:40:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/046.jpg"
        },
        {
          "time": "02:40:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/ep_001/047.jpg"
        },
        {
          "time": "02:40:59",
          "message": "  [>] 이미지 47/47개 처리 완료.\n"
        },
        {
          "time": "02:41:00",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021760317354926"
        },
        {
          "time": "02:41:00",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021760317354926"
        },
        {
          "time": "02:49:36",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "02:52:44",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-26T02:52:44"
        },
        {
          "time": "02:52:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:16:46",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "03:18:01",
          "message": "기존 완료 기록을 적용합니다: 5개 회차"
        },
        {
          "time": "03:18:02",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "03:18:18",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "03:18:18",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "03:18:18",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "03:18:19",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal"
        },
        {
          "time": "03:18:19",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal"
        },
        {
          "time": "03:19:42",
          "message": "작품 제목: 상사들과 워크숍에 가요 - 야하"
        },
        {
          "time": "03:19:42",
          "message": "메타데이터 저장: /downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/metadata.yaml"
        },
        {
          "time": "03:19:42",
          "message": "메타데이터 태그 저장: 상사들과 워크숍에 가요, 성인, 야하"
        },
        {
          "time": "03:19:42",
          "message": "기존 완료 회차 5개 제외"
        },
        {
          "time": "03:19:43",
          "message": "순회 계획을 저장했습니다: 25개 회차"
        },
        {
          "time": "03:19:43",
          "message": "총 30개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "03:19:43",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021760318146637"
        },
        {
          "time": "03:19:43",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021760318146637"
        },
        {
          "time": "03:20:07",
          "message": "  [i] 회차 제목: 상사들과 워크숍에 가요 25화 6화"
        },
        {
          "time": "03:21:25",
          "message": "  [>] 이미지 45/45개 처리 완료.\n"
        },
        {
          "time": "03:21:26",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021760494554658"
        },
        {
          "time": "03:21:26",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021760494554658"
        },
        {
          "time": "03:21:52",
          "message": "  [i] 회차 제목: 상사들과 워크숍에 가요 24화 7화"
        },
        {
          "time": "03:23:08",
          "message": "  [>] 이미지 42/42개 처리 완료.\n"
        },
        {
          "time": "03:23:09",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021761012975882"
        },
        {
          "time": "03:23:09",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021761012975882"
        },
        {
          "time": "03:23:34",
          "message": "  [i] 회차 제목: 상사들과 워크숍에 가요 23화 8화"
        },
        {
          "time": "03:25:42",
          "message": "  [>] 이미지 39/39개 처리 완료.\n"
        },
        {
          "time": "03:25:43",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021761712019277"
        },
        {
          "time": "03:26:08",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/u-lz-workshop-19e3e758ae4-smal/lz-workshop-7021761712019277"
        },
        {
          "time": "03:26:29",
          "message": "  [i] 회차 제목: 상사들과 워크숍에 가요 22화 9화"
        },
        {
          "time": "03:27:38",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "03:40:23",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-26T03:40:23"
        },
        {
          "time": "03:40:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:06:09",
          "message": "작품 제목: 상사들과 워크숍에 가요 - 야하"
        },
        {
          "time": "06:06:10",
          "message": "메타데이터 태그 저장: 상사들과 워크숍에 가요, 성인, 야하"
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:37:02",
          "message": "작품 제목: u-lz-workshop-19e3e758ae4-smal"
        },
        {
          "time": "05:47:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:47:20"
        },
        {
          "time": "05:47:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:47:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:55:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #559"
        },
        {
          "time": "23:55:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:55:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=상사들과 워크숍에 가요 - 야하 | 뉴토끼, links=32"
        },
        {
          "time": "23:55:53",
          "message": "작품 제목: 상사들과 워크숍에 가요 - 야하"
        },
        {
          "time": "23:55:53",
          "message": "메타데이터 태그 저장: 상사들과 워크숍에 가요, 성인, 야하"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:19:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #72"
        },
        {
          "time": "13:19:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:19:22",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:19:22",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:29:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:29:57"
        },
        {
          "time": "13:29:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:29:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:25:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1445"
        },
        {
          "time": "13:25:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:25:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=상사들과 워크숍에 가요 - 야하 | 뉴토끼, links=32"
        },
        {
          "time": "13:25:32",
          "message": "작품 제목: 상사들과 워크숍에 가요 - 야하"
        },
        {
          "time": "13:25:32",
          "message": "메타데이터 태그 저장: 상사들과 워크숍에 가요, 성인, 야하"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:30:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "17:30:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:30:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=상사들과 워크숍에 가요 - 야하 | 뉴토끼, links=32"
        },
        {
          "time": "17:30:32",
          "message": "작품 제목: 상사들과 워크숍에 가요 - 야하"
        },
        {
          "time": "17:30:32",
          "message": "메타데이터 태그 저장: 상사들과 워크숍에 가요, 성인, 야하"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:07:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "14:07:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:07:56",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:07:56",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:07:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "14:07:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:08:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=상사들과 워크숍에 가요 - 야하 | 뉴토끼, links=32"
        },
        {
          "time": "14:08:11",
          "message": "작품 제목: 상사들과 워크숍에 가요 - 야하"
        },
        {
          "time": "14:08:11",
          "message": "메타데이터 태그 저장: 상사들과 워크숍에 가요, 성인, 야하"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:51:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1289"
        },
        {
          "time": "08:51:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:51:59",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:51:59",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:51:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1290"
        },
        {
          "time": "08:51:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:52:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=상사들과 워크숍에 가요 - 야하 | 뉴토끼, links=32"
        },
        {
          "time": "08:52:17",
          "message": "작품 제목: 상사들과 워크숍에 가요 - 야하"
        },
        {
          "time": "08:52:17",
          "message": "메타데이터 태그 저장: 상사들과 워크숍에 가요, 성인, 야하"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_u-lz-workshop-19e3e758ae4-smal",
        "target_id": "webtoon_u-lz-workshop-19e3e758ae4-smal",
        "title": "상사들과 워크숍에 가요 - 야하",
        "episodes_found": 30,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 30,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_u-lz-workshop-19e3e758ae4-smal",
          "title": "상사들과 워크숍에 가요 - 야하",
          "list_url": "https://newtoki1.org/webtoon/u-lz-workshop-19e3e758ae4-smal",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/u-lz-workshop-19e3e758ae4-smal"
          },
          "tags": [
            "상사들과 워크숍에 가요",
            "성인",
            "야하"
          ],
          "description": "상사들과 워크숍에 가요 (야하) [레진] #성인",
          "metadata_path": "/downloads/webtoon_u-lz-workshop-19e3e758ae4-smal/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 30,
        "total": 30,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3f84ac3e42",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-26T02:20:00",
      "started_at": "2026-06-04T08:48:37",
      "finished_at": "2026-06-04T08:51:36",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/35402",
        "target_id": "manhwa_35402",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "03:03:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_003/029.jpg"
        },
        {
          "time": "03:03:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_003/030.jpg"
        },
        {
          "time": "03:03:02",
          "message": "  [>] 이미지 30/30개 처리 완료.\n"
        },
        {
          "time": "03:03:03",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/35402/1769832"
        },
        {
          "time": "03:03:03",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35402/1769832"
        },
        {
          "time": "03:03:22",
          "message": "  [i] 회차 제목: 모모세 아키라의 첫사랑 파탄 중 4화 모모세 아키라의 첫…랑 파탄 중 4화"
        },
        {
          "time": "03:03:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/001.jpg"
        },
        {
          "time": "03:03:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/002.jpg"
        },
        {
          "time": "03:03:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/003.jpg"
        },
        {
          "time": "03:03:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/004.jpg"
        },
        {
          "time": "03:03:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/005.jpg"
        },
        {
          "time": "03:03:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/006.jpg"
        },
        {
          "time": "03:03:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/007.jpg"
        },
        {
          "time": "03:03:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/008.jpg"
        },
        {
          "time": "03:03:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/009.jpg"
        },
        {
          "time": "03:03:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/010.jpg"
        },
        {
          "time": "03:03:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/011.jpg"
        },
        {
          "time": "03:03:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/012.jpg"
        },
        {
          "time": "03:03:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/013.jpg"
        },
        {
          "time": "03:03:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/014.jpg"
        },
        {
          "time": "03:03:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/015.jpg"
        },
        {
          "time": "03:03:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/016.jpg"
        },
        {
          "time": "03:03:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/017.jpg"
        },
        {
          "time": "03:03:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/018.jpg"
        },
        {
          "time": "03:03:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/019.jpg"
        },
        {
          "time": "03:03:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/020.jpg"
        },
        {
          "time": "03:03:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/021.jpg"
        },
        {
          "time": "03:03:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/022.jpg"
        },
        {
          "time": "03:03:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_004/023.jpg"
        },
        {
          "time": "03:03:55",
          "message": "  [>] 이미지 23/23개 처리 완료.\n"
        },
        {
          "time": "03:03:56",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/35402/1770407"
        },
        {
          "time": "03:03:56",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35402/1770407"
        },
        {
          "time": "03:04:15",
          "message": "  [i] 회차 제목: 모모세 아키라의 첫사랑 파탄 중 5화 모모세 아키라의 첫…랑 파탄 중 5화"
        },
        {
          "time": "03:04:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/001.jpg"
        },
        {
          "time": "03:04:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/002.jpg"
        },
        {
          "time": "03:04:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/003.jpg"
        },
        {
          "time": "03:04:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/004.jpg"
        },
        {
          "time": "03:04:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/005.jpg"
        },
        {
          "time": "03:04:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/006.jpg"
        },
        {
          "time": "03:04:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/007.jpg"
        },
        {
          "time": "03:04:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/008.jpg"
        },
        {
          "time": "03:04:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/009.jpg"
        },
        {
          "time": "03:04:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/010.jpg"
        },
        {
          "time": "03:04:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/011.jpg"
        },
        {
          "time": "03:04:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/012.jpg"
        },
        {
          "time": "03:04:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/013.jpg"
        },
        {
          "time": "03:04:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/014.jpg"
        },
        {
          "time": "03:04:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/015.jpg"
        },
        {
          "time": "03:04:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/016.jpg"
        },
        {
          "time": "03:04:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/017.jpg"
        },
        {
          "time": "03:04:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/018.jpg"
        },
        {
          "time": "03:04:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/019.jpg"
        },
        {
          "time": "03:04:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/020.jpg"
        },
        {
          "time": "03:04:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_005/021.jpg"
        },
        {
          "time": "03:04:49",
          "message": "  [>] 이미지 21/21개 처리 완료.\n"
        },
        {
          "time": "03:04:50",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/35402/1770933"
        },
        {
          "time": "03:04:50",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35402/1770933"
        },
        {
          "time": "03:05:10",
          "message": "  [i] 회차 제목: 모모세 아키라의 첫사랑 파탄 중 6화 모모세 아키라의 첫…랑 파탄 중 6화"
        },
        {
          "time": "03:05:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/001.jpg"
        },
        {
          "time": "03:05:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/002.jpg"
        },
        {
          "time": "03:05:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/003.jpg"
        },
        {
          "time": "03:05:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/004.jpg"
        },
        {
          "time": "03:05:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/005.jpg"
        },
        {
          "time": "03:05:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/006.jpg"
        },
        {
          "time": "03:05:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/007.jpg"
        },
        {
          "time": "03:05:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/008.jpg"
        },
        {
          "time": "03:05:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/009.jpg"
        },
        {
          "time": "03:05:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/010.jpg"
        },
        {
          "time": "03:05:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/011.jpg"
        },
        {
          "time": "03:05:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/012.jpg"
        },
        {
          "time": "03:05:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/013.jpg"
        },
        {
          "time": "03:05:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/014.jpg"
        },
        {
          "time": "03:05:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/015.jpg"
        },
        {
          "time": "03:05:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_35402/ep_006/016.jpg"
        },
        {
          "time": "03:05:48",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "03:40:23",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-26T03:40:23"
        },
        {
          "time": "03:40:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:40:45",
          "message": "대기열 순서를 변경했습니다: 3 -> 1"
        },
        {
          "time": "03:44:12",
          "message": "작품 제목: 모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타"
        },
        {
          "time": "03:44:12",
          "message": "메타데이터 태그 저장: 모모세 아키라의 첫사랑 파탄 중, 하레카와 신타"
        },
        {
          "time": "03:44:15",
          "message": "순회 계획을 저장했습니다: 78개 회차"
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 78)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:37:43",
          "message": "작품 제목: 35402"
        },
        {
          "time": "05:48:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:48:06"
        },
        {
          "time": "05:48:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:48:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:54:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #556"
        },
        {
          "time": "23:54:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:54:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타 | 뉴토끼, links=86"
        },
        {
          "time": "23:54:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #557"
        },
        {
          "time": "23:54:22",
          "message": "작품 제목: 모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타"
        },
        {
          "time": "23:54:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:54:22",
          "message": "메타데이터 태그 저장: 모모세 아키라의 첫사랑 파탄 중, 하레카와 신타"
        },
        {
          "time": "23:54:23",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:54:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #558"
        },
        {
          "time": "23:54:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:33:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T01:33:44"
        },
        {
          "time": "01:33:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:33:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:13:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #63"
        },
        {
          "time": "13:13:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:14:14",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:14:14",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:25:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:25:05"
        },
        {
          "time": "13:25:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:46:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1272"
        },
        {
          "time": "10:46:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:46:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타 | 뉴토끼, links=86"
        },
        {
          "time": "10:46:20",
          "message": "작품 제목: 모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타"
        },
        {
          "time": "10:46:20",
          "message": "메타데이터 태그 저장: 모모세 아키라의 첫사랑 파탄 중, 하레카와 신타"
        },
        {
          "time": "10:46:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1273"
        },
        {
          "time": "10:46:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:47:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=모모세 아키라의 첫사랑 파탄 중 84화 | 뉴토끼, img_tags=49, image_urls=49"
        },
        {
          "time": "10:47:55",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:53:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #39"
        },
        {
          "time": "17:53:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:53:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타 | 뉴토끼, links=86"
        },
        {
          "time": "17:53:49",
          "message": "작품 제목: 모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타"
        },
        {
          "time": "17:53:49",
          "message": "메타데이터 태그 저장: 모모세 아키라의 첫사랑 파탄 중, 하레카와 신타"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:55:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #666"
        },
        {
          "time": "13:55:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:55:47",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:55:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #667"
        },
        {
          "time": "13:55:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:56:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타 | 뉴토끼, links=86"
        },
        {
          "time": "13:56:03",
          "message": "작품 제목: 모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타"
        },
        {
          "time": "13:56:05",
          "message": "메타데이터 태그 저장: 모모세 아키라의 첫사랑 파탄 중, 하레카와 신타"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:48:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1284"
        },
        {
          "time": "08:48:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:48:59",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:48:59",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:49:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1285"
        },
        {
          "time": "08:49:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:49:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타 | 뉴토끼, links=87"
        },
        {
          "time": "08:49:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1286"
        },
        {
          "time": "08:49:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:49:16",
          "message": "작품 제목: 모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타"
        },
        {
          "time": "08:49:17",
          "message": "메타데이터 태그 저장: 모모세 아키라의 첫사랑 파탄 중, 하레카와 신타"
        },
        {
          "time": "08:49:17",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "08:49:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1287"
        },
        {
          "time": "08:49:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:49:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1288"
        },
        {
          "time": "08:49:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:50:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=모모세 아키라의 첫사랑 파탄 중 85화 | 뉴토끼, img_tags=55, image_urls=55"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35402",
        "target_id": "manhwa_35402",
        "title": "모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타",
        "episodes_found": 85,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 84,
        "images_found": 25,
        "images_downloaded": 25,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35402",
          "title": "모모세 아키라의 첫사랑 파탄 중 - 하레카와 신타",
          "list_url": "https://newtoki1.org/manhwa/35402",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35402"
          },
          "tags": [
            "모모세 아키라의 첫사랑 파탄 중",
            "하레카와 신타"
          ],
          "description": "시골에 사는 소년, 쿠가야마 하지메의 곁으로 돌아온 동경하는 동급생, 모모세 아키라. 그녀를 멀리서 바라보며 달콤씁쓸한 청춘을 구가… 하려던 참에 아키라에게서 뜻밖의 접근이.",
          "metadata_path": "/downloads/manhwa_35402/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 85,
          "url": "https://newtoki1.org/manhwa/35402/u-mpx27abm-agrc",
          "title": "모모세 아키라의 첫사랑 파탄 중 85화",
          "status": "completed",
          "image_count": 25,
          "images_done": 25,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "03fc7cc227",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-24T16:00:56",
      "started_at": "2026-06-04T08:47:12",
      "finished_at": "2026-06-04T08:48:37",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/9364",
        "target_id": "webtoon_9364",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "민감한 문제 - 개호주,돌연사빅파이",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "16:00:57",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "16:01:07",
          "message": "대기열 순서를 변경했습니다: 22 -> 1"
        },
        {
          "time": "16:19:03",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:21:44",
          "message": "기존 완료 기록을 적용합니다: 41개 회차"
        },
        {
          "time": "16:21:44",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:21:44",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "16:21:44",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:21:44",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:21:44",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/9364"
        },
        {
          "time": "16:21:44",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/9364"
        },
        {
          "time": "16:22:10",
          "message": "작품 제목: 민감한 문제 - 개호주,돌연사빅파이"
        },
        {
          "time": "16:22:10",
          "message": "메타데이터 저장: /downloads/webtoon_9364/metadata.yaml"
        },
        {
          "time": "16:22:10",
          "message": "메타데이터 태그 저장: 개호주, 돌연사빅파이, 민감한 문제, 성인"
        },
        {
          "time": "16:22:10",
          "message": "기존 완료 회차 41개 제외"
        },
        {
          "time": "16:22:10",
          "message": "총 41개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:22:10",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:56:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:56:30"
        },
        {
          "time": "05:56:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:56:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:52:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #553"
        },
        {
          "time": "23:52:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:52:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=민감한 문제 - 개호주,돌연사빅파이 | 뉴토끼, links=43"
        },
        {
          "time": "23:53:25",
          "message": "작품 제목: 민감한 문제 - 개호주,돌연사빅파이"
        },
        {
          "time": "23:53:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #554"
        },
        {
          "time": "23:53:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:53:25",
          "message": "메타데이터 태그 저장: 개호주, 돌연사빅파이, 민감한 문제, 성인"
        },
        {
          "time": "23:53:25",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:53:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #555"
        },
        {
          "time": "23:53:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:33:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T01:33:44"
        },
        {
          "time": "01:33:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:33:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:12:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #62"
        },
        {
          "time": "13:12:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:13:19",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:13:19",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:24:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:24:09"
        },
        {
          "time": "13:24:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:24:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:45:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1270"
        },
        {
          "time": "10:45:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:45:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=민감한 문제 - 개호주,돌연사빅파이 | 뉴토끼, links=43"
        },
        {
          "time": "10:45:52",
          "message": "작품 제목: 민감한 문제 - 개호주,돌연사빅파이"
        },
        {
          "time": "10:45:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1271"
        },
        {
          "time": "10:45:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:45:52",
          "message": "메타데이터 태그 저장: 개호주, 돌연사빅파이, 민감한 문제, 성인"
        },
        {
          "time": "10:45:52",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "10:46:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=민감한 문제 6화 0036 - 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:53:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #40"
        },
        {
          "time": "17:53:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:54:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=민감한 문제 - 개호주,돌연사빅파이 | 뉴토끼, links=43"
        },
        {
          "time": "17:55:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #41"
        },
        {
          "time": "17:55:06",
          "message": "작품 제목: 민감한 문제 - 개호주,돌연사빅파이"
        },
        {
          "time": "17:55:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:55:06",
          "message": "메타데이터 태그 저장: 개호주, 돌연사빅파이, 민감한 문제, 성인"
        },
        {
          "time": "17:55:06",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "17:55:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=민감한 문제 6화 0036 - 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:53:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #663"
        },
        {
          "time": "13:53:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:54:31",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:54:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #664"
        },
        {
          "time": "13:54:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:54:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=민감한 문제 - 개호주,돌연사빅파이 | 뉴토끼, links=43"
        },
        {
          "time": "13:54:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #665"
        },
        {
          "time": "13:54:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:54:42",
          "message": "작품 제목: 민감한 문제 - 개호주,돌연사빅파이"
        },
        {
          "time": "13:54:43",
          "message": "메타데이터 태그 저장: 개호주, 돌연사빅파이, 민감한 문제, 성인"
        },
        {
          "time": "13:54:44",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "13:54:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=민감한 문제 36화 0036 - 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:47:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1282"
        },
        {
          "time": "08:47:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:48:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=민감한 문제 - 개호주,돌연사빅파이 | 뉴토끼, links=43"
        },
        {
          "time": "08:48:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1283"
        },
        {
          "time": "08:48:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:48:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=민감한 문제 36화 0036 - 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "08:48:35",
          "message": "작품 제목: 민감한 문제 - 개호주,돌연사빅파이"
        },
        {
          "time": "08:48:35",
          "message": "메타데이터 태그 저장: 개호주, 돌연사빅파이, 민감한 문제, 성인"
        },
        {
          "time": "08:48:36",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_9364",
        "target_id": "webtoon_9364",
        "title": "민감한 문제 - 개호주,돌연사빅파이",
        "episodes_found": 41,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 40,
        "images_found": 1,
        "images_downloaded": 0,
        "images_skipped": 1,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_9364",
          "title": "민감한 문제 - 개호주,돌연사빅파이",
          "list_url": "https://newtoki1.org/webtoon/9364",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/9364"
          },
          "tags": [
            "개호주",
            "돌연사빅파이",
            "민감한 문제",
            "성인"
          ],
          "description": "민감한 문제 (개호주,돌연사빅파이) [레진] #성인",
          "metadata_path": "/downloads/webtoon_9364/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 23,
          "url": "https://newtoki1.org/webtoon/9364/972363",
          "title": "민감한 문제 36화 0036 - 휴재공지",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "9e8b40a3d8",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:38:40",
      "started_at": "2026-06-04T08:45:26",
      "finished_at": "2026-06-04T08:47:12",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/16879",
        "target_id": "webtoon_16879",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "16:20:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_013/041.jpg"
        },
        {
          "time": "16:20:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_013/042.jpg"
        },
        {
          "time": "16:20:32",
          "message": "  [>] 이미지 42/42개 처리 완료.\n"
        },
        {
          "time": "16:20:33",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/16879/1421365"
        },
        {
          "time": "16:20:33",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/16879/1421365"
        },
        {
          "time": "16:21:01",
          "message": "  [i] 회차 제목: 조교하고 길들이고 가득 채워줘 2화 14화"
        },
        {
          "time": "16:21:01",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/001.jpg"
        },
        {
          "time": "16:21:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/002.jpg"
        },
        {
          "time": "16:21:03",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/003.jpg"
        },
        {
          "time": "16:21:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/004.jpg"
        },
        {
          "time": "16:21:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/005.jpg"
        },
        {
          "time": "16:21:05",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/006.jpg"
        },
        {
          "time": "16:21:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/007.jpg"
        },
        {
          "time": "16:21:08",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/008.jpg"
        },
        {
          "time": "16:21:09",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/009.jpg"
        },
        {
          "time": "16:21:10",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/010.jpg"
        },
        {
          "time": "16:21:10",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/011.jpg"
        },
        {
          "time": "16:21:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/012.jpg"
        },
        {
          "time": "16:21:12",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/013.jpg"
        },
        {
          "time": "16:21:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/014.jpg"
        },
        {
          "time": "16:21:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/015.jpg"
        },
        {
          "time": "16:21:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/016.jpg"
        },
        {
          "time": "16:21:15",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/017.jpg"
        },
        {
          "time": "16:21:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/018.jpg"
        },
        {
          "time": "16:21:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/019.jpg"
        },
        {
          "time": "16:21:17",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/020.jpg"
        },
        {
          "time": "16:21:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/021.jpg"
        },
        {
          "time": "16:21:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/022.jpg"
        },
        {
          "time": "16:21:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/023.jpg"
        },
        {
          "time": "16:21:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/024.jpg"
        },
        {
          "time": "16:21:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/025.jpg"
        },
        {
          "time": "16:21:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/026.jpg"
        },
        {
          "time": "16:21:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/027.jpg"
        },
        {
          "time": "16:21:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/028.jpg"
        },
        {
          "time": "16:21:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/029.jpg"
        },
        {
          "time": "16:21:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/030.jpg"
        },
        {
          "time": "16:21:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/031.jpg"
        },
        {
          "time": "16:21:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/032.jpg"
        },
        {
          "time": "16:21:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/033.jpg"
        },
        {
          "time": "16:21:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/034.jpg"
        },
        {
          "time": "16:21:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/035.jpg"
        },
        {
          "time": "16:21:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/036.jpg"
        },
        {
          "time": "16:21:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/037.jpg"
        },
        {
          "time": "16:21:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/038.jpg"
        },
        {
          "time": "16:21:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/039.jpg"
        },
        {
          "time": "16:21:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/040.jpg"
        },
        {
          "time": "16:21:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/041.jpg"
        },
        {
          "time": "16:21:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_014/042.jpg"
        },
        {
          "time": "16:21:36",
          "message": "  [>] 이미지 42/42개 처리 완료.\n"
        },
        {
          "time": "16:21:37",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/16879/1421374"
        },
        {
          "time": "16:21:37",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/16879/1421374"
        },
        {
          "time": "16:21:56",
          "message": "  [i] 회차 제목: 조교하고 길들이고 가득 채워줘 1화 15화 [최종화]"
        },
        {
          "time": "16:21:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/001.jpg"
        },
        {
          "time": "16:21:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/002.jpg"
        },
        {
          "time": "16:21:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/003.jpg"
        },
        {
          "time": "16:21:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/004.jpg"
        },
        {
          "time": "16:22:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/005.jpg"
        },
        {
          "time": "16:22:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/006.jpg"
        },
        {
          "time": "16:22:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/007.jpg"
        },
        {
          "time": "16:22:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/008.jpg"
        },
        {
          "time": "16:22:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/009.jpg"
        },
        {
          "time": "16:22:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/010.jpg"
        },
        {
          "time": "16:22:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/011.jpg"
        },
        {
          "time": "16:22:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/012.jpg"
        },
        {
          "time": "16:22:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/013.jpg"
        },
        {
          "time": "16:22:40",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/014.jpg"
        },
        {
          "time": "16:22:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/015.jpg"
        },
        {
          "time": "16:22:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/016.jpg"
        },
        {
          "time": "16:22:42",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/017.jpg"
        },
        {
          "time": "16:22:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/018.jpg"
        },
        {
          "time": "16:22:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/019.jpg"
        },
        {
          "time": "16:22:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/020.jpg"
        },
        {
          "time": "16:22:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/021.jpg"
        },
        {
          "time": "16:22:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/022.jpg"
        },
        {
          "time": "16:22:47",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/023.jpg"
        },
        {
          "time": "16:22:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/024.jpg"
        },
        {
          "time": "16:22:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/025.jpg"
        },
        {
          "time": "16:22:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/026.jpg"
        },
        {
          "time": "16:22:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/027.jpg"
        },
        {
          "time": "16:22:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/028.jpg"
        },
        {
          "time": "16:22:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/029.jpg"
        },
        {
          "time": "16:22:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/030.jpg"
        },
        {
          "time": "16:22:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/031.jpg"
        },
        {
          "time": "16:22:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/032.jpg"
        },
        {
          "time": "16:22:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/033.jpg"
        },
        {
          "time": "16:22:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/034.jpg"
        },
        {
          "time": "16:22:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/035.jpg"
        },
        {
          "time": "16:22:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/036.jpg"
        },
        {
          "time": "16:22:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/037.jpg"
        },
        {
          "time": "16:22:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/038.jpg"
        },
        {
          "time": "16:22:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/039.jpg"
        },
        {
          "time": "16:23:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/040.jpg"
        },
        {
          "time": "16:23:01",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/041.jpg"
        },
        {
          "time": "16:23:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/042.jpg"
        },
        {
          "time": "16:23:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/043.jpg"
        },
        {
          "time": "16:23:03",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/044.jpg"
        },
        {
          "time": "16:23:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/045.jpg"
        },
        {
          "time": "16:23:05",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/046.jpg"
        },
        {
          "time": "16:23:06",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/047.jpg"
        },
        {
          "time": "16:23:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/048.jpg"
        },
        {
          "time": "16:23:08",
          "message": "    [-] 저장 완료: /downloads/webtoon_16879/ep_015/049.jpg"
        },
        {
          "time": "16:23:08",
          "message": "  [>] 이미지 49/49개 처리 완료.\n"
        },
        {
          "time": "16:23:09",
          "message": "완료: 회차 15개 처리, 이미지 580개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 15)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:41:59",
          "message": "작품 제목: 16879"
        },
        {
          "time": "05:51:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:51:59"
        },
        {
          "time": "05:51:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:51:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:52:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #552"
        },
        {
          "time": "23:52:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:52:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메 | 뉴토끼, links=17"
        },
        {
          "time": "23:52:38",
          "message": "작품 제목: 조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메"
        },
        {
          "time": "23:52:38",
          "message": "메타데이터 태그 저장: 로맨스, 모리노 잼, 성인, 우메노우메, 조교하고 길들이고 가득 채워줘"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:20:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #73"
        },
        {
          "time": "13:20:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:21:20",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:21:51",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:32:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:32:07"
        },
        {
          "time": "13:32:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:32:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:25:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1446"
        },
        {
          "time": "13:25:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:26:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메 | 뉴토끼, links=17"
        },
        {
          "time": "13:26:09",
          "message": "작품 제목: 조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메"
        },
        {
          "time": "13:26:10",
          "message": "메타데이터 태그 저장: 로맨스, 모리노 잼, 성인, 우메노우메, 조교하고 길들이고 가득 채워줘"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:29:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "17:29:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:29:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메 | 뉴토끼, links=17"
        },
        {
          "time": "17:30:16",
          "message": "작품 제목: 조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메"
        },
        {
          "time": "17:30:16",
          "message": "메타데이터 태그 저장: 로맨스, 모리노 잼, 성인, 우메노우메, 조교하고 길들이고 가득 채워줘"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:09:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "14:09:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:09:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메 | 뉴토끼, links=17"
        },
        {
          "time": "14:09:40",
          "message": "작품 제목: 조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메"
        },
        {
          "time": "14:09:40",
          "message": "메타데이터 태그 저장: 로맨스, 모리노 잼, 성인, 우메노우메, 조교하고 길들이고 가득 채워줘"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:46:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1280"
        },
        {
          "time": "08:46:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:46:57",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:46:57",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:46:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1281"
        },
        {
          "time": "08:46:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:47:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메 | 뉴토끼, links=17"
        },
        {
          "time": "08:47:10",
          "message": "작품 제목: 조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메"
        },
        {
          "time": "08:47:10",
          "message": "메타데이터 태그 저장: 로맨스, 모리노 잼, 성인, 우메노우메, 조교하고 길들이고 가득 채워줘"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_16879",
        "target_id": "webtoon_16879",
        "title": "조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메",
        "episodes_found": 15,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 15,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_16879",
          "title": "조교하고 길들이고 가득 채워줘 - 모리노 잼,우메노우메",
          "list_url": "https://newtoki1.org/webtoon/16879",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/16879"
          },
          "tags": [
            "로맨스",
            "모리노 잼",
            "성인",
            "우메노우메",
            "조교하고 길들이고 가득 채워줘"
          ],
          "description": "조교하고 길들이고 가득 채워줘 (모리노 잼,우메노우메) [봄툰] #로맨스 #성인",
          "metadata_path": "/downloads/webtoon_16879/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 15,
        "total": 15,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "70e30a886b",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:38:12",
      "started_at": "2026-06-04T08:44:13",
      "finished_at": "2026-06-04T08:45:26",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/19282",
        "target_id": "webtoon_19282",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "우유 한 잔 주세요! - 곤드레",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "15:53:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/035.jpg"
        },
        {
          "time": "15:53:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/036.jpg"
        },
        {
          "time": "15:53:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/037.jpg"
        },
        {
          "time": "15:53:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/038.jpg"
        },
        {
          "time": "15:53:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/039.jpg"
        },
        {
          "time": "15:53:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/040.jpg"
        },
        {
          "time": "15:53:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/041.jpg"
        },
        {
          "time": "15:53:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/042.jpg"
        },
        {
          "time": "15:53:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/043.jpg"
        },
        {
          "time": "15:53:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/044.jpg"
        },
        {
          "time": "15:53:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/045.jpg"
        },
        {
          "time": "15:53:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/046.jpg"
        },
        {
          "time": "15:53:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/047.jpg"
        },
        {
          "time": "15:53:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/048.jpg"
        },
        {
          "time": "15:53:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/049.jpg"
        },
        {
          "time": "15:53:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/050.jpg"
        },
        {
          "time": "15:53:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/051.jpg"
        },
        {
          "time": "15:53:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/052.jpg"
        },
        {
          "time": "15:53:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/053.jpg"
        },
        {
          "time": "15:53:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/054.jpg"
        },
        {
          "time": "15:53:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/055.jpg"
        },
        {
          "time": "15:53:40",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/056.jpg"
        },
        {
          "time": "15:53:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/057.jpg"
        },
        {
          "time": "15:53:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/058.jpg"
        },
        {
          "time": "15:53:47",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/059.jpg"
        },
        {
          "time": "15:53:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/060.jpg"
        },
        {
          "time": "15:53:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/061.jpg"
        },
        {
          "time": "15:53:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_002/062.jpg"
        },
        {
          "time": "15:53:51",
          "message": "  [>] 이미지 62/62개 처리 완료.\n"
        },
        {
          "time": "15:53:52",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/19282/1589687"
        },
        {
          "time": "15:53:52",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/19282/1589687"
        },
        {
          "time": "15:54:18",
          "message": "  [i] 회차 제목: 우유 한 잔 주세요! 1화 3화"
        },
        {
          "time": "15:54:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/001.jpg"
        },
        {
          "time": "15:54:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/002.jpg"
        },
        {
          "time": "15:54:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/003.jpg"
        },
        {
          "time": "15:54:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/004.jpg"
        },
        {
          "time": "15:54:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/005.jpg"
        },
        {
          "time": "15:54:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/006.jpg"
        },
        {
          "time": "15:54:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/007.jpg"
        },
        {
          "time": "15:54:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/008.jpg"
        },
        {
          "time": "15:54:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/009.jpg"
        },
        {
          "time": "15:54:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/010.jpg"
        },
        {
          "time": "15:54:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/011.jpg"
        },
        {
          "time": "15:54:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/012.jpg"
        },
        {
          "time": "15:54:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/013.jpg"
        },
        {
          "time": "15:54:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/014.jpg"
        },
        {
          "time": "15:54:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/015.jpg"
        },
        {
          "time": "15:54:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/016.jpg"
        },
        {
          "time": "15:54:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/017.jpg"
        },
        {
          "time": "15:54:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/018.jpg"
        },
        {
          "time": "15:54:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/019.jpg"
        },
        {
          "time": "15:54:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/020.jpg"
        },
        {
          "time": "15:54:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/021.jpg"
        },
        {
          "time": "15:54:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/022.jpg"
        },
        {
          "time": "15:54:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/023.jpg"
        },
        {
          "time": "15:54:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/024.jpg"
        },
        {
          "time": "15:54:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/025.jpg"
        },
        {
          "time": "15:55:01",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/026.jpg"
        },
        {
          "time": "15:55:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/027.jpg"
        },
        {
          "time": "15:55:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/028.jpg"
        },
        {
          "time": "15:55:09",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/029.jpg"
        },
        {
          "time": "15:55:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/030.jpg"
        },
        {
          "time": "15:55:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/031.jpg"
        },
        {
          "time": "15:55:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/032.jpg"
        },
        {
          "time": "15:55:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/033.jpg"
        },
        {
          "time": "15:55:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/034.jpg"
        },
        {
          "time": "15:55:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/035.jpg"
        },
        {
          "time": "15:55:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/036.jpg"
        },
        {
          "time": "15:55:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/037.jpg"
        },
        {
          "time": "15:55:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/038.jpg"
        },
        {
          "time": "15:55:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/039.jpg"
        },
        {
          "time": "15:55:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/040.jpg"
        },
        {
          "time": "15:55:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/041.jpg"
        },
        {
          "time": "15:55:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/042.jpg"
        },
        {
          "time": "15:55:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/043.jpg"
        },
        {
          "time": "15:55:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/044.jpg"
        },
        {
          "time": "15:55:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/045.jpg"
        },
        {
          "time": "15:55:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/046.jpg"
        },
        {
          "time": "15:55:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/047.jpg"
        },
        {
          "time": "15:55:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/048.jpg"
        },
        {
          "time": "15:55:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/049.jpg"
        },
        {
          "time": "15:55:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/050.jpg"
        },
        {
          "time": "15:56:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/051.jpg"
        },
        {
          "time": "15:56:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/052.jpg"
        },
        {
          "time": "15:56:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/053.jpg"
        },
        {
          "time": "15:56:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/054.jpg"
        },
        {
          "time": "15:56:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/055.jpg"
        },
        {
          "time": "15:56:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/056.jpg"
        },
        {
          "time": "15:56:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/057.jpg"
        },
        {
          "time": "15:57:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/058.jpg"
        },
        {
          "time": "15:57:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/059.jpg"
        },
        {
          "time": "15:57:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/060.jpg"
        },
        {
          "time": "15:57:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/061.jpg"
        },
        {
          "time": "15:57:05",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/062.jpg"
        },
        {
          "time": "15:57:05",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/063.jpg"
        },
        {
          "time": "15:57:06",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/064.jpg"
        },
        {
          "time": "15:57:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/065.jpg"
        },
        {
          "time": "15:57:08",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/066.jpg"
        },
        {
          "time": "15:57:09",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/067.jpg"
        },
        {
          "time": "15:57:10",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/068.jpg"
        },
        {
          "time": "15:57:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_19282/ep_003/069.jpg"
        },
        {
          "time": "15:57:11",
          "message": "  [>] 이미지 69/69개 처리 완료.\n"
        },
        {
          "time": "15:57:12",
          "message": "완료: 회차 3개 처리, 이미지 201개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:42:05",
          "message": "작품 제목: 19282"
        },
        {
          "time": "05:52:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:52:26"
        },
        {
          "time": "05:52:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:52:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:51:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #551"
        },
        {
          "time": "23:51:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:52:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우유 한 잔 주세요! - 곤드레 | 뉴토끼, links=5"
        },
        {
          "time": "23:52:23",
          "message": "작품 제목: 우유 한 잔 주세요! - 곤드레"
        },
        {
          "time": "23:52:23",
          "message": "메타데이터 태그 저장: 곤드레, 성인, 우유 한 잔 주세요!"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:22:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #74"
        },
        {
          "time": "13:22:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:22:52",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:22:52",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:33:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:33:42"
        },
        {
          "time": "13:33:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:33:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:26:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1447"
        },
        {
          "time": "13:26:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:26:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우유 한 잔 주세요! - 곤드레 | 뉴토끼, links=5"
        },
        {
          "time": "13:26:52",
          "message": "작품 제목: 우유 한 잔 주세요! - 곤드레"
        },
        {
          "time": "13:26:52",
          "message": "메타데이터 태그 저장: 곤드레, 성인, 우유 한 잔 주세요!"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:27:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "17:27:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:27:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우유 한 잔 주세요! - 곤드레 | 뉴토끼, links=5"
        },
        {
          "time": "17:27:53",
          "message": "작품 제목: 우유 한 잔 주세요! - 곤드레"
        },
        {
          "time": "17:27:53",
          "message": "메타데이터 태그 저장: 곤드레, 성인, 우유 한 잔 주세요!"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:10:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "14:10:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:10:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우유 한 잔 주세요! - 곤드레 | 뉴토끼, links=5"
        },
        {
          "time": "14:10:46",
          "message": "작품 제목: 우유 한 잔 주세요! - 곤드레"
        },
        {
          "time": "14:10:47",
          "message": "메타데이터 태그 저장: 곤드레, 성인, 우유 한 잔 주세요!"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:44:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1278"
        },
        {
          "time": "08:44:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:45:06",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:45:06",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:45:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1279"
        },
        {
          "time": "08:45:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:45:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우유 한 잔 주세요! - 곤드레 | 뉴토끼, links=5"
        },
        {
          "time": "08:45:23",
          "message": "작품 제목: 우유 한 잔 주세요! - 곤드레"
        },
        {
          "time": "08:45:24",
          "message": "메타데이터 태그 저장: 곤드레, 성인, 우유 한 잔 주세요!"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_19282",
        "target_id": "webtoon_19282",
        "title": "우유 한 잔 주세요! - 곤드레",
        "episodes_found": 3,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 3,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_19282",
          "title": "우유 한 잔 주세요! - 곤드레",
          "list_url": "https://newtoki1.org/webtoon/19282",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/19282"
          },
          "tags": [
            "곤드레",
            "성인",
            "우유 한 잔 주세요!"
          ],
          "description": "우유 한 잔 주세요! (곤드레) [레진] #성인",
          "metadata_path": "/downloads/webtoon_19282/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 3,
        "total": 3,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "01416c58e3",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:37:13",
      "started_at": "2026-06-04T08:43:09",
      "finished_at": "2026-06-04T08:44:13",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/18747",
        "target_id": "webtoon_18747",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "풀파티 - 멀덕,벤프",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "15:01:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_031/005.jpg"
        },
        {
          "time": "15:01:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_031/006.jpg"
        },
        {
          "time": "15:01:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_031/007.jpg"
        },
        {
          "time": "15:01:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_031/008.jpg"
        },
        {
          "time": "15:01:26",
          "message": "  [>] 이미지 8/8개 처리 완료.\n"
        },
        {
          "time": "15:01:27",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/18747/1590661"
        },
        {
          "time": "15:01:27",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/18747/1590661"
        },
        {
          "time": "15:01:47",
          "message": "  [i] 회차 제목: 풀파티 4화 32화"
        },
        {
          "time": "15:01:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_032/001.jpg"
        },
        {
          "time": "15:01:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_032/002.jpg"
        },
        {
          "time": "15:01:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_032/003.jpg"
        },
        {
          "time": "15:01:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_032/004.jpg"
        },
        {
          "time": "15:01:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_032/005.jpg"
        },
        {
          "time": "15:01:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_032/006.jpg"
        },
        {
          "time": "15:01:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_032/007.jpg"
        },
        {
          "time": "15:02:01",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_032/008.jpg"
        },
        {
          "time": "15:02:01",
          "message": "  [>] 이미지 8/8개 처리 완료.\n"
        },
        {
          "time": "15:02:02",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/18747/1592070"
        },
        {
          "time": "15:02:02",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/18747/1592070"
        },
        {
          "time": "15:02:22",
          "message": "  [i] 회차 제목: 풀파티 3화 33화"
        },
        {
          "time": "15:02:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_033/001.jpg"
        },
        {
          "time": "15:02:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_033/002.jpg"
        },
        {
          "time": "15:02:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_033/003.jpg"
        },
        {
          "time": "15:02:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_033/004.jpg"
        },
        {
          "time": "15:02:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_033/005.jpg"
        },
        {
          "time": "15:02:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_033/006.jpg"
        },
        {
          "time": "15:02:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_033/007.jpg"
        },
        {
          "time": "15:02:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_033/008.jpg"
        },
        {
          "time": "15:02:33",
          "message": "  [>] 이미지 8/8개 처리 완료.\n"
        },
        {
          "time": "15:02:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/18747/1593609"
        },
        {
          "time": "15:02:34",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/18747/1593609"
        },
        {
          "time": "15:02:53",
          "message": "  [i] 회차 제목: 풀파티 2화 34화"
        },
        {
          "time": "15:02:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_034/001.jpg"
        },
        {
          "time": "15:02:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_034/002.jpg"
        },
        {
          "time": "15:02:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_034/003.jpg"
        },
        {
          "time": "15:02:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_034/004.jpg"
        },
        {
          "time": "15:03:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_034/005.jpg"
        },
        {
          "time": "15:03:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_034/006.jpg"
        },
        {
          "time": "15:03:03",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_034/007.jpg"
        },
        {
          "time": "15:03:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_034/008.jpg"
        },
        {
          "time": "15:03:04",
          "message": "  [>] 이미지 8/8개 처리 완료.\n"
        },
        {
          "time": "15:03:05",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/18747/tt-pool_party-35"
        },
        {
          "time": "15:03:05",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/18747/tt-pool_party-35"
        },
        {
          "time": "15:03:25",
          "message": "  [i] 회차 제목: 풀파티 1화 제35화 최종화 - 지옥 같던 파티의 끝, 그리고 새로운 시작"
        },
        {
          "time": "15:03:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/001.webp"
        },
        {
          "time": "15:03:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/002.webp"
        },
        {
          "time": "15:03:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/003.webp"
        },
        {
          "time": "15:03:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/004.webp"
        },
        {
          "time": "15:03:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/005.webp"
        },
        {
          "time": "15:03:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/006.webp"
        },
        {
          "time": "15:03:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/007.webp"
        },
        {
          "time": "15:03:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/008.webp"
        },
        {
          "time": "15:03:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/009.webp"
        },
        {
          "time": "15:03:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/010.webp"
        },
        {
          "time": "15:03:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/011.webp"
        },
        {
          "time": "15:03:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/012.webp"
        },
        {
          "time": "15:03:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/013.webp"
        },
        {
          "time": "15:03:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/014.webp"
        },
        {
          "time": "15:03:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/015.webp"
        },
        {
          "time": "15:03:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/016.webp"
        },
        {
          "time": "15:03:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/017.webp"
        },
        {
          "time": "15:03:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/018.webp"
        },
        {
          "time": "15:04:12",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/019.webp"
        },
        {
          "time": "15:04:12",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/020.webp"
        },
        {
          "time": "15:04:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/021.webp"
        },
        {
          "time": "15:04:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/022.webp"
        },
        {
          "time": "15:04:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/023.webp"
        },
        {
          "time": "15:04:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/024.webp"
        },
        {
          "time": "15:04:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/025.webp"
        },
        {
          "time": "15:05:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/026.webp"
        },
        {
          "time": "15:05:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/027.webp"
        },
        {
          "time": "15:05:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/028.webp"
        },
        {
          "time": "15:05:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/029.webp"
        },
        {
          "time": "15:05:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/030.webp"
        },
        {
          "time": "15:05:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/031.webp"
        },
        {
          "time": "15:05:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/032.webp"
        },
        {
          "time": "15:05:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/033.webp"
        },
        {
          "time": "15:05:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/034.webp"
        },
        {
          "time": "15:05:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/035.webp"
        },
        {
          "time": "15:05:40",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/036.webp"
        },
        {
          "time": "15:05:40",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/037.webp"
        },
        {
          "time": "15:05:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/038.webp"
        },
        {
          "time": "15:05:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/039.webp"
        },
        {
          "time": "15:05:42",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/040.webp"
        },
        {
          "time": "15:05:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/041.webp"
        },
        {
          "time": "15:05:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/042.webp"
        },
        {
          "time": "15:05:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/043.webp"
        },
        {
          "time": "15:05:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/044.webp"
        },
        {
          "time": "15:05:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/045.webp"
        },
        {
          "time": "15:05:47",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/046.webp"
        },
        {
          "time": "15:05:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/047.webp"
        },
        {
          "time": "15:05:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/048.webp"
        },
        {
          "time": "15:05:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/049.webp"
        },
        {
          "time": "15:05:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/050.webp"
        },
        {
          "time": "15:05:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/051.webp"
        },
        {
          "time": "15:05:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/052.webp"
        },
        {
          "time": "15:05:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_18747/ep_035/053.webp"
        },
        {
          "time": "15:05:51",
          "message": "  [>] 이미지 53/53개 처리 완료.\n"
        },
        {
          "time": "15:05:52",
          "message": "완료: 회차 35개 처리, 이미지 903개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 35)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:42:44",
          "message": "작품 제목: 18747"
        },
        {
          "time": "05:53:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:53:05"
        },
        {
          "time": "05:53:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:53:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:51:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #550"
        },
        {
          "time": "23:51:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:51:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=풀파티 - 멀덕,벤프 | 뉴토끼, links=37"
        },
        {
          "time": "23:51:54",
          "message": "작품 제목: 풀파티 - 멀덕,벤프"
        },
        {
          "time": "23:51:54",
          "message": "메타데이터 태그 저장: 드라마, 멀덕, 벤프, 성인, 풀파티"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:22:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #75"
        },
        {
          "time": "13:22:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:23:13",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:23:13",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:33:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:33:42"
        },
        {
          "time": "13:33:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:33:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:27:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1448"
        },
        {
          "time": "13:27:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:28:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=풀파티 - 멀덕,벤프 | 뉴토끼, links=37"
        },
        {
          "time": "13:28:12",
          "message": "작품 제목: 풀파티 - 멀덕,벤프"
        },
        {
          "time": "13:28:12",
          "message": "메타데이터 태그 저장: 드라마, 멀덕, 벤프, 성인, 풀파티"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:27:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "17:27:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:27:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=풀파티 - 멀덕,벤프 | 뉴토끼, links=37"
        },
        {
          "time": "17:27:33",
          "message": "작품 제목: 풀파티 - 멀덕,벤프"
        },
        {
          "time": "17:27:33",
          "message": "메타데이터 태그 저장: 드라마, 멀덕, 벤프, 성인, 풀파티"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:11:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "14:11:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:11:43",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:11:43",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:11:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "14:11:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:11:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=풀파티 - 멀덕,벤프 | 뉴토끼, links=37"
        },
        {
          "time": "14:11:58",
          "message": "작품 제목: 풀파티 - 멀덕,벤프"
        },
        {
          "time": "14:11:59",
          "message": "메타데이터 태그 저장: 드라마, 멀덕, 벤프, 성인, 풀파티"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:43:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1276"
        },
        {
          "time": "08:43:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:44:03",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:44:03",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:44:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1277"
        },
        {
          "time": "08:44:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:44:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=풀파티 - 멀덕,벤프 | 뉴토끼, links=37"
        },
        {
          "time": "08:44:11",
          "message": "작품 제목: 풀파티 - 멀덕,벤프"
        },
        {
          "time": "08:44:12",
          "message": "메타데이터 태그 저장: 드라마, 멀덕, 벤프, 성인, 풀파티"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_18747",
        "target_id": "webtoon_18747",
        "title": "풀파티 - 멀덕,벤프",
        "episodes_found": 35,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 35,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_18747",
          "title": "풀파티 - 멀덕,벤프",
          "list_url": "https://newtoki1.org/webtoon/18747",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/18747"
          },
          "tags": [
            "드라마",
            "멀덕",
            "벤프",
            "성인",
            "풀파티"
          ],
          "description": "풀파티 (멀덕,벤프) [탑툰] #드라마 #성인",
          "metadata_path": "/downloads/webtoon_18747/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 35,
        "total": 35,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "ea0875f1f1",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:35:41",
      "started_at": "2026-06-04T08:42:29",
      "finished_at": "2026-06-04T08:43:08",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/23630",
        "target_id": "manhwa_23630",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "데스티니 러버즈 - 토모히로 카이",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "14:04:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/003.jpg"
        },
        {
          "time": "14:04:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/004.jpg"
        },
        {
          "time": "14:04:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/005.jpg"
        },
        {
          "time": "14:04:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/006.jpg"
        },
        {
          "time": "14:04:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/007.jpg"
        },
        {
          "time": "14:04:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/008.jpg"
        },
        {
          "time": "14:04:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/009.jpg"
        },
        {
          "time": "14:04:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/010.jpg"
        },
        {
          "time": "14:04:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/011.jpg"
        },
        {
          "time": "14:04:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/012.jpg"
        },
        {
          "time": "14:04:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/013.jpg"
        },
        {
          "time": "14:04:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_122/014.jpg"
        },
        {
          "time": "14:04:42",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "14:04:43",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23630/1710917"
        },
        {
          "time": "14:04:43",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23630/1710917"
        },
        {
          "time": "14:05:02",
          "message": "  [i] 회차 제목: 데스티니 러버즈 118화"
        },
        {
          "time": "14:05:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/001.jpg"
        },
        {
          "time": "14:05:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/002.jpg"
        },
        {
          "time": "14:05:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/003.jpg"
        },
        {
          "time": "14:05:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/004.jpg"
        },
        {
          "time": "14:05:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/005.jpg"
        },
        {
          "time": "14:05:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/006.jpg"
        },
        {
          "time": "14:05:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/007.jpg"
        },
        {
          "time": "14:05:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/008.jpg"
        },
        {
          "time": "14:05:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/009.jpg"
        },
        {
          "time": "14:05:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/010.jpg"
        },
        {
          "time": "14:05:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/011.jpg"
        },
        {
          "time": "14:05:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/012.jpg"
        },
        {
          "time": "14:05:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/013.jpg"
        },
        {
          "time": "14:05:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_123/014.jpg"
        },
        {
          "time": "14:05:15",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "14:05:16",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23630/1713897"
        },
        {
          "time": "14:05:16",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23630/1713897"
        },
        {
          "time": "14:05:36",
          "message": "  [i] 회차 제목: 데스티니 러버즈 119화"
        },
        {
          "time": "14:05:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/001.jpg"
        },
        {
          "time": "14:05:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/002.jpg"
        },
        {
          "time": "14:05:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/003.jpg"
        },
        {
          "time": "14:05:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/004.jpg"
        },
        {
          "time": "14:05:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/005.jpg"
        },
        {
          "time": "14:05:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/006.jpg"
        },
        {
          "time": "14:06:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/007.jpg"
        },
        {
          "time": "14:06:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/008.jpg"
        },
        {
          "time": "14:06:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/009.jpg"
        },
        {
          "time": "14:06:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/010.jpg"
        },
        {
          "time": "14:06:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/011.jpg"
        },
        {
          "time": "14:06:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/012.jpg"
        },
        {
          "time": "14:06:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/013.jpg"
        },
        {
          "time": "14:06:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_124/014.jpg"
        },
        {
          "time": "14:06:19",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "14:06:20",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23630/1720911"
        },
        {
          "time": "14:06:20",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23630/1720911"
        },
        {
          "time": "14:06:40",
          "message": "  [i] 회차 제목: 데스티니 러버즈 119.5화"
        },
        {
          "time": "14:06:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_125/001.jpg"
        },
        {
          "time": "14:06:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_125/002.jpg"
        },
        {
          "time": "14:06:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_125/003.jpg"
        },
        {
          "time": "14:06:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_125/004.jpg"
        },
        {
          "time": "14:06:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_125/005.jpg"
        },
        {
          "time": "14:06:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_125/006.jpg"
        },
        {
          "time": "14:06:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_125/007.jpg"
        },
        {
          "time": "14:06:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_125/008.jpg"
        },
        {
          "time": "14:06:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_125/009.jpg"
        },
        {
          "time": "14:06:47",
          "message": "  [>] 이미지 9/9개 처리 완료.\n"
        },
        {
          "time": "14:06:48",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23630/1713900"
        },
        {
          "time": "14:06:48",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23630/1713900"
        },
        {
          "time": "14:07:07",
          "message": "  [i] 회차 제목: 데스티니 러버즈 120화"
        },
        {
          "time": "14:07:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/001.jpg"
        },
        {
          "time": "14:07:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/002.jpg"
        },
        {
          "time": "14:07:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/003.jpg"
        },
        {
          "time": "14:07:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/004.jpg"
        },
        {
          "time": "14:07:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/005.jpg"
        },
        {
          "time": "14:07:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/006.jpg"
        },
        {
          "time": "14:07:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/007.jpg"
        },
        {
          "time": "14:07:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/008.jpg"
        },
        {
          "time": "14:07:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/009.jpg"
        },
        {
          "time": "14:07:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/010.jpg"
        },
        {
          "time": "14:07:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/011.jpg"
        },
        {
          "time": "14:07:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/012.jpg"
        },
        {
          "time": "14:07:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/013.jpg"
        },
        {
          "time": "14:07:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_126/014.jpg"
        },
        {
          "time": "14:07:18",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "14:07:20",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23630/1725423"
        },
        {
          "time": "14:07:20",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23630/1725423"
        },
        {
          "time": "14:07:39",
          "message": "  [i] 회차 제목: 데스티니 러버즈 121화"
        },
        {
          "time": "14:07:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/001.jpg"
        },
        {
          "time": "14:07:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/002.jpg"
        },
        {
          "time": "14:07:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/003.jpg"
        },
        {
          "time": "14:07:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/004.jpg"
        },
        {
          "time": "14:07:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/005.jpg"
        },
        {
          "time": "14:07:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/006.jpg"
        },
        {
          "time": "14:07:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/007.jpg"
        },
        {
          "time": "14:07:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/008.jpg"
        },
        {
          "time": "14:07:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/009.jpg"
        },
        {
          "time": "14:07:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/010.jpg"
        },
        {
          "time": "14:07:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/011.jpg"
        },
        {
          "time": "14:07:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/012.jpg"
        },
        {
          "time": "14:07:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/013.jpg"
        },
        {
          "time": "14:07:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_23630/ep_127/014.jpg"
        },
        {
          "time": "14:07:51",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "14:07:52",
          "message": "완료: 회차 127개 처리, 이미지 1843개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 127)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:43:30",
          "message": "작품 제목: 23630"
        },
        {
          "time": "05:53:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:53:41"
        },
        {
          "time": "05:53:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:53:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:51:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #549"
        },
        {
          "time": "23:51:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:51:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=데스티니 러버즈 - 토모히로 카이 | 뉴토끼, links=129"
        },
        {
          "time": "23:51:39",
          "message": "작품 제목: 데스티니 러버즈 - 토모히로 카이"
        },
        {
          "time": "23:51:39",
          "message": "메타데이터 태그 저장: 데스티니 러버즈, 토모히로 카이"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:23:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #76"
        },
        {
          "time": "13:23:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:24:08",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:24:08",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:34:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:34:59"
        },
        {
          "time": "13:34:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:28:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1449"
        },
        {
          "time": "13:28:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:28:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=데스티니 러버즈 - 토모히로 카이 | 뉴토끼, links=129"
        },
        {
          "time": "13:28:28",
          "message": "작품 제목: 데스티니 러버즈 - 토모히로 카이"
        },
        {
          "time": "13:28:28",
          "message": "메타데이터 태그 저장: 데스티니 러버즈, 토모히로 카이"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:26:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "17:26:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:27:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=데스티니 러버즈 - 토모히로 카이 | 뉴토끼, links=129"
        },
        {
          "time": "17:27:16",
          "message": "작품 제목: 데스티니 러버즈 - 토모히로 카이"
        },
        {
          "time": "17:27:16",
          "message": "메타데이터 태그 저장: 데스티니 러버즈, 토모히로 카이"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:12:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "14:12:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:12:22",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:12:22",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:12:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "14:12:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:12:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=데스티니 러버즈 - 토모히로 카이 | 뉴토끼, links=129"
        },
        {
          "time": "14:13:04",
          "message": "작품 제목: 데스티니 러버즈 - 토모히로 카이"
        },
        {
          "time": "14:13:05",
          "message": "메타데이터 태그 저장: 데스티니 러버즈, 토모히로 카이"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:42:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1274"
        },
        {
          "time": "08:42:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:42:51",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:42:52",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:42:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1275"
        },
        {
          "time": "08:42:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:43:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=데스티니 러버즈 - 토모히로 카이 | 뉴토끼, links=129"
        },
        {
          "time": "08:43:07",
          "message": "작품 제목: 데스티니 러버즈 - 토모히로 카이"
        },
        {
          "time": "08:43:08",
          "message": "메타데이터 태그 저장: 데스티니 러버즈, 토모히로 카이"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23630",
        "target_id": "manhwa_23630",
        "title": "데스티니 러버즈 - 토모히로 카이",
        "episodes_found": 127,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 127,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23630",
          "title": "데스티니 러버즈 - 토모히로 카이",
          "list_url": "https://newtoki1.org/manhwa/23630",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23630"
          },
          "tags": [
            "데스티니 러버즈",
            "토모히로 카이"
          ],
          "description": "동급생을 짝사랑하고 있는 미사토 다쿠미는 건강검진 재검사를 받으러 온 보건실에서 졸지에 납치되고 만다. 눈을 뜨면 침대에 묶어두고 낯선 미녀간호사에게 `어떤 일`을 해달라고 재촉한다! 그곳은 남자들이 격리병동에 갇혀 미녀들에게 관리되는 수수께끼의 병원! 여기가 대체 어디일까?그리고 미",
          "metadata_path": "/downloads/manhwa_23630/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 127,
        "total": 127,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "eb1fe01a04",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:34:58",
      "started_at": "2026-06-04T08:41:41",
      "finished_at": "2026-06-04T08:42:28",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/3582",
        "target_id": "manhwa_3582",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "도박마 바쿠 - 사코 토시오",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "14:15:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/066.jpg"
        },
        {
          "time": "14:15:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/067.jpg"
        },
        {
          "time": "14:15:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/068.jpg"
        },
        {
          "time": "14:15:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/069.jpg"
        },
        {
          "time": "14:16:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/070.jpg"
        },
        {
          "time": "14:16:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/071.jpg"
        },
        {
          "time": "14:16:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/072.jpg"
        },
        {
          "time": "14:16:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/073.jpg"
        },
        {
          "time": "14:16:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/074.jpg"
        },
        {
          "time": "14:16:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/075.jpg"
        },
        {
          "time": "14:16:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/076.jpg"
        },
        {
          "time": "14:16:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/077.jpg"
        },
        {
          "time": "14:16:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/078.jpg"
        },
        {
          "time": "14:16:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/079.jpg"
        },
        {
          "time": "14:16:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/080.jpg"
        },
        {
          "time": "14:16:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/081.jpg"
        },
        {
          "time": "14:16:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/082.jpg"
        },
        {
          "time": "14:16:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/083.jpg"
        },
        {
          "time": "14:16:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/084.jpg"
        },
        {
          "time": "14:16:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/085.jpg"
        },
        {
          "time": "14:16:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/086.jpg"
        },
        {
          "time": "14:16:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/087.jpg"
        },
        {
          "time": "14:16:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/088.jpg"
        },
        {
          "time": "14:16:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/089.jpg"
        },
        {
          "time": "14:16:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/090.jpg"
        },
        {
          "time": "14:16:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/091.jpg"
        },
        {
          "time": "14:16:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/092.jpg"
        },
        {
          "time": "14:16:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/093.jpg"
        },
        {
          "time": "14:16:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/094.jpg"
        },
        {
          "time": "14:16:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/095.jpg"
        },
        {
          "time": "14:16:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/096.jpg"
        },
        {
          "time": "14:16:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/097.jpg"
        },
        {
          "time": "14:16:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/098.jpg"
        },
        {
          "time": "14:16:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/099.jpg"
        },
        {
          "time": "14:16:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/100.jpg"
        },
        {
          "time": "14:16:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/101.jpg"
        },
        {
          "time": "14:16:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/102.jpg"
        },
        {
          "time": "14:16:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/103.jpg"
        },
        {
          "time": "14:16:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/104.jpg"
        },
        {
          "time": "14:16:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/105.jpg"
        },
        {
          "time": "14:16:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_168/106.jpg"
        },
        {
          "time": "14:16:33",
          "message": "  [>] 이미지 106/106개 처리 완료.\n"
        },
        {
          "time": "14:16:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3582/305593"
        },
        {
          "time": "14:16:34",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3582/305593"
        },
        {
          "time": "14:17:00",
          "message": "  [i] 회차 제목: 도박마 바쿠 16화 14권 후"
        },
        {
          "time": "14:17:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/001.jpg"
        },
        {
          "time": "14:17:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/002.jpg"
        },
        {
          "time": "14:17:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/003.jpg"
        },
        {
          "time": "14:17:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/004.jpg"
        },
        {
          "time": "14:17:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/005.jpg"
        },
        {
          "time": "14:17:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/006.jpg"
        },
        {
          "time": "14:17:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/007.jpg"
        },
        {
          "time": "14:17:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/008.jpg"
        },
        {
          "time": "14:17:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/009.jpg"
        },
        {
          "time": "14:17:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/010.jpg"
        },
        {
          "time": "14:17:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/011.jpg"
        },
        {
          "time": "14:17:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/012.jpg"
        },
        {
          "time": "14:17:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/013.jpg"
        },
        {
          "time": "14:17:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/014.jpg"
        },
        {
          "time": "14:17:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/015.jpg"
        },
        {
          "time": "14:17:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/016.jpg"
        },
        {
          "time": "14:17:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/017.jpg"
        },
        {
          "time": "14:17:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/018.jpg"
        },
        {
          "time": "14:17:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/019.jpg"
        },
        {
          "time": "14:17:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/020.jpg"
        },
        {
          "time": "14:17:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/021.jpg"
        },
        {
          "time": "14:17:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/022.jpg"
        },
        {
          "time": "14:17:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/023.jpg"
        },
        {
          "time": "14:18:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/024.jpg"
        },
        {
          "time": "14:18:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/025.jpg"
        },
        {
          "time": "14:18:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/026.jpg"
        },
        {
          "time": "14:18:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/027.jpg"
        },
        {
          "time": "14:18:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/028.jpg"
        },
        {
          "time": "14:18:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/029.jpg"
        },
        {
          "time": "14:19:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/030.jpg"
        },
        {
          "time": "14:19:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/031.jpg"
        },
        {
          "time": "14:19:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/032.jpg"
        },
        {
          "time": "14:19:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/033.jpg"
        },
        {
          "time": "14:19:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/034.jpg"
        },
        {
          "time": "14:19:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/035.jpg"
        },
        {
          "time": "14:19:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/036.jpg"
        },
        {
          "time": "14:19:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/037.jpg"
        },
        {
          "time": "14:19:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/038.jpg"
        },
        {
          "time": "14:19:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/039.jpg"
        },
        {
          "time": "14:19:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/040.jpg"
        },
        {
          "time": "14:19:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/041.jpg"
        },
        {
          "time": "14:19:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/042.jpg"
        },
        {
          "time": "14:19:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/043.jpg"
        },
        {
          "time": "14:19:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/044.jpg"
        },
        {
          "time": "14:19:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/045.jpg"
        },
        {
          "time": "14:19:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/046.jpg"
        },
        {
          "time": "14:19:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/047.jpg"
        },
        {
          "time": "14:19:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/048.jpg"
        },
        {
          "time": "14:19:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/049.jpg"
        },
        {
          "time": "14:19:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/050.jpg"
        },
        {
          "time": "14:19:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/051.jpg"
        },
        {
          "time": "14:19:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/052.jpg"
        },
        {
          "time": "14:19:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/053.jpg"
        },
        {
          "time": "14:19:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/054.jpg"
        },
        {
          "time": "14:19:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/055.jpg"
        },
        {
          "time": "14:19:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/056.jpg"
        },
        {
          "time": "14:19:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/057.jpg"
        },
        {
          "time": "14:19:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/058.jpg"
        },
        {
          "time": "14:19:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/059.jpg"
        },
        {
          "time": "14:19:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3582/ep_178/060.jpg"
        },
        {
          "time": "14:19:59",
          "message": "  [>] 이미지 60/60개 처리 완료.\n"
        },
        {
          "time": "14:20:00",
          "message": "완료: 회차 2개 처리, 이미지 166개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:43:24",
          "message": "작품 제목: 3582"
        },
        {
          "time": "05:53:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:53:41"
        },
        {
          "time": "05:53:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:53:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:50:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #548"
        },
        {
          "time": "23:50:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:50:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도박마 바쿠 - 사코 토시오 | 뉴토끼, links=189"
        },
        {
          "time": "23:51:22",
          "message": "작품 제목: 도박마 바쿠 - 사코 토시오"
        },
        {
          "time": "23:51:22",
          "message": "메타데이터 태그 저장: 도박마 바쿠, 사코 토시오"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:24:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #77"
        },
        {
          "time": "13:24:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:25:05",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:25:05",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:36:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:36:26"
        },
        {
          "time": "13:36:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:36:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:29:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1450"
        },
        {
          "time": "13:29:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:29:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도박마 바쿠 - 사코 토시오 | 뉴토끼, links=189"
        },
        {
          "time": "13:29:50",
          "message": "작품 제목: 도박마 바쿠 - 사코 토시오"
        },
        {
          "time": "13:29:50",
          "message": "메타데이터 태그 저장: 도박마 바쿠, 사코 토시오"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:25:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "17:25:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:25:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도박마 바쿠 - 사코 토시오 | 뉴토끼, links=189"
        },
        {
          "time": "17:26:20",
          "message": "작품 제목: 도박마 바쿠 - 사코 토시오"
        },
        {
          "time": "17:26:20",
          "message": "메타데이터 태그 저장: 도박마 바쿠, 사코 토시오"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:14:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "14:14:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:15:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도박마 바쿠 - 사코 토시오 | 뉴토끼, links=189"
        },
        {
          "time": "14:15:39",
          "message": "작품 제목: 도박마 바쿠 - 사코 토시오"
        },
        {
          "time": "14:15:40",
          "message": "메타데이터 태그 저장: 도박마 바쿠, 사코 토시오"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:42:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1273"
        },
        {
          "time": "08:42:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:42:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도박마 바쿠 - 사코 토시오 | 뉴토끼, links=189"
        },
        {
          "time": "08:42:26",
          "message": "작품 제목: 도박마 바쿠 - 사코 토시오"
        },
        {
          "time": "08:42:27",
          "message": "메타데이터 태그 저장: 도박마 바쿠, 사코 토시오"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3582",
        "target_id": "manhwa_3582",
        "title": "도박마 바쿠 - 사코 토시오",
        "episodes_found": 187,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 187,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3582",
          "title": "도박마 바쿠 - 사코 토시오",
          "list_url": "https://newtoki1.org/manhwa/3582",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3582"
          },
          "tags": [
            "도박마 바쿠",
            "사코 토시오"
          ],
          "description": "주인공 마다라메 바쿠는 온갖 해괴한 도박을 벌이는데 칼자루를 상대편이 쥐고 있는 불공정한 게임이다. 게다가 패배는 죽음 뿐. 절체절명의 상황에서 바쿠는 교묘하게 꾸민 거짓말을 간파해내고 거꾸로 이용해 상대를 역관광 보낸다.바쿠는 도박 중개기관인 카케로의 수장이 되기 위한 바쿠의 여정 쫄",
          "metadata_path": "/downloads/manhwa_3582/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 187,
        "total": 187,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "bb3d7eadd6",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:34:49",
      "started_at": "2026-06-04T08:40:56",
      "finished_at": "2026-06-04T08:41:41",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/9311",
        "target_id": "manhwa_9311",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "도메스틱한 그녀 - 야마다 요시노부",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "07:56:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_291/019.jpg"
        },
        {
          "time": "07:56:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_291/020.jpg"
        },
        {
          "time": "07:56:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_291/021.jpg"
        },
        {
          "time": "07:56:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_291/022.jpg"
        },
        {
          "time": "07:56:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_291/023.jpg"
        },
        {
          "time": "07:56:24",
          "message": "  [>] 이미지 23/23개 처리 완료.\n"
        },
        {
          "time": "07:56:25",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9311/249768"
        },
        {
          "time": "07:56:25",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9311/249768"
        },
        {
          "time": "07:56:44",
          "message": "  [i] 회차 제목: 도메스틱한 그녀 276.5화"
        },
        {
          "time": "07:56:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_292/001.jpg"
        },
        {
          "time": "07:56:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_292/002.jpg"
        },
        {
          "time": "07:56:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_292/003.jpg"
        },
        {
          "time": "07:56:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_292/004.jpg"
        },
        {
          "time": "07:56:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_292/005.jpg"
        },
        {
          "time": "07:56:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_292/006.jpg"
        },
        {
          "time": "07:56:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_292/007.jpg"
        },
        {
          "time": "07:56:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_292/008.jpg"
        },
        {
          "time": "07:56:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_292/009.jpg"
        },
        {
          "time": "07:56:51",
          "message": "  [>] 이미지 9/9개 처리 완료.\n"
        },
        {
          "time": "07:56:52",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9311/240045"
        },
        {
          "time": "07:56:52",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9311/240045"
        },
        {
          "time": "07:57:11",
          "message": "  [i] 회차 제목: 도메스틱한 그녀 276.6화"
        },
        {
          "time": "07:57:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_293/001.jpg"
        },
        {
          "time": "07:57:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_293/002.jpg"
        },
        {
          "time": "07:57:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_293/003.jpg"
        },
        {
          "time": "07:57:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_293/004.jpg"
        },
        {
          "time": "07:57:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_293/005.jpg"
        },
        {
          "time": "07:57:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_293/006.jpg"
        },
        {
          "time": "07:57:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_293/007.jpg"
        },
        {
          "time": "07:57:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_293/008.jpg"
        },
        {
          "time": "07:57:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_293/009.jpg"
        },
        {
          "time": "07:57:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_293/010.jpg"
        },
        {
          "time": "07:57:19",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "07:57:20",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9311/85176"
        },
        {
          "time": "07:57:20",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9311/85176"
        },
        {
          "time": "07:57:39",
          "message": "  [i] 회차 제목: 도메스틱한 그녀 특별편"
        },
        {
          "time": "07:57:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/001.jpg"
        },
        {
          "time": "07:57:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/002.jpg"
        },
        {
          "time": "07:57:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/003.jpg"
        },
        {
          "time": "07:57:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/004.jpg"
        },
        {
          "time": "07:57:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/005.jpg"
        },
        {
          "time": "07:57:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/006.jpg"
        },
        {
          "time": "07:57:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/007.jpg"
        },
        {
          "time": "07:57:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/008.jpg"
        },
        {
          "time": "07:57:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/009.jpg"
        },
        {
          "time": "07:57:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/010.jpg"
        },
        {
          "time": "07:57:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/011.jpg"
        },
        {
          "time": "07:57:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/012.jpg"
        },
        {
          "time": "07:57:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/013.jpg"
        },
        {
          "time": "07:57:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/014.jpg"
        },
        {
          "time": "07:57:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/015.jpg"
        },
        {
          "time": "07:57:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_294/016.jpg"
        },
        {
          "time": "07:57:53",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "07:57:55",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9311/251067"
        },
        {
          "time": "07:57:55",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9311/251067"
        },
        {
          "time": "07:58:15",
          "message": "  [i] 회차 제목: 도메스틱한 그녀 특별편"
        },
        {
          "time": "07:58:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/001.jpg"
        },
        {
          "time": "07:58:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/002.jpg"
        },
        {
          "time": "07:58:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/003.jpg"
        },
        {
          "time": "07:58:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/004.jpg"
        },
        {
          "time": "07:58:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/005.jpg"
        },
        {
          "time": "07:58:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/006.jpg"
        },
        {
          "time": "07:58:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/007.jpg"
        },
        {
          "time": "07:58:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/008.jpg"
        },
        {
          "time": "07:58:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/009.jpg"
        },
        {
          "time": "07:58:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/010.jpg"
        },
        {
          "time": "07:58:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/011.jpg"
        },
        {
          "time": "07:58:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/012.jpg"
        },
        {
          "time": "07:58:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/013.jpg"
        },
        {
          "time": "07:58:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/014.jpg"
        },
        {
          "time": "07:58:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/015.jpg"
        },
        {
          "time": "07:58:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_295/016.jpg"
        },
        {
          "time": "07:58:28",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "07:58:29",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9311/85183"
        },
        {
          "time": "07:58:29",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9311/85183"
        },
        {
          "time": "07:58:48",
          "message": "  [i] 회차 제목: 도메스틱한 그녀 번외편"
        },
        {
          "time": "07:58:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_296/001.jpg"
        },
        {
          "time": "07:58:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_296/002.jpg"
        },
        {
          "time": "07:58:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_296/003.jpg"
        },
        {
          "time": "07:58:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_296/004.jpg"
        },
        {
          "time": "07:58:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_296/005.jpg"
        },
        {
          "time": "07:58:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_296/006.jpg"
        },
        {
          "time": "07:58:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_296/007.jpg"
        },
        {
          "time": "07:58:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_296/008.jpg"
        },
        {
          "time": "07:58:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_296/009.jpg"
        },
        {
          "time": "07:58:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_296/010.jpg"
        },
        {
          "time": "07:58:56",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "07:58:57",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9311/85181"
        },
        {
          "time": "07:58:57",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9311/85181"
        },
        {
          "time": "07:59:17",
          "message": "  [i] 회차 제목: 도메스틱한 그녀 번외편 번외편 - 온천"
        },
        {
          "time": "07:59:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_297/001.jpg"
        },
        {
          "time": "07:59:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_297/002.jpg"
        },
        {
          "time": "07:59:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_297/003.jpg"
        },
        {
          "time": "07:59:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_297/004.jpg"
        },
        {
          "time": "07:59:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_297/005.jpg"
        },
        {
          "time": "07:59:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_297/006.jpg"
        },
        {
          "time": "07:59:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_297/007.jpg"
        },
        {
          "time": "07:59:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_297/008.jpg"
        },
        {
          "time": "07:59:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_297/009.jpg"
        },
        {
          "time": "07:59:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_297/010.jpg"
        },
        {
          "time": "07:59:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_9311/ep_297/011.jpg"
        },
        {
          "time": "07:59:26",
          "message": "  [>] 이미지 11/11개 처리 완료.\n"
        },
        {
          "time": "07:59:27",
          "message": "완료: 회차 297개 처리, 이미지 5449개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 297)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:43:36",
          "message": "작품 제목: 9311"
        },
        {
          "time": "05:53:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:53:41"
        },
        {
          "time": "05:53:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:53:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:49:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #547"
        },
        {
          "time": "23:49:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:49:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도메스틱한 그녀 - 야마다 요시노부 | 뉴토끼, links=299"
        },
        {
          "time": "23:50:31",
          "message": "작품 제목: 도메스틱한 그녀 - 야마다 요시노부"
        },
        {
          "time": "23:50:31",
          "message": "메타데이터 태그 저장: 도메스틱한 그녀, 야마다 요시노부"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #78"
        },
        {
          "time": "13:25:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:25:57",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:26:32",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:37:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:37:17"
        },
        {
          "time": "13:37:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:37:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:30:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1451"
        },
        {
          "time": "13:30:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:30:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도메스틱한 그녀 - 야마다 요시노부 | 뉴토끼, links=299"
        },
        {
          "time": "13:30:42",
          "message": "작품 제목: 도메스틱한 그녀 - 야마다 요시노부"
        },
        {
          "time": "13:30:42",
          "message": "메타데이터 태그 저장: 도메스틱한 그녀, 야마다 요시노부"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:25:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "17:25:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:25:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도메스틱한 그녀 - 야마다 요시노부 | 뉴토끼, links=299"
        },
        {
          "time": "17:25:31",
          "message": "작품 제목: 도메스틱한 그녀 - 야마다 요시노부"
        },
        {
          "time": "17:25:31",
          "message": "메타데이터 태그 저장: 도메스틱한 그녀, 야마다 요시노부"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:16:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "14:16:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:16:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도메스틱한 그녀 - 야마다 요시노부 | 뉴토끼, links=299"
        },
        {
          "time": "14:16:29",
          "message": "작품 제목: 도메스틱한 그녀 - 야마다 요시노부"
        },
        {
          "time": "14:16:30",
          "message": "메타데이터 태그 저장: 도메스틱한 그녀, 야마다 요시노부"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:40:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1271"
        },
        {
          "time": "08:40:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:41:19",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:41:19",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:41:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1272"
        },
        {
          "time": "08:41:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:41:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도메스틱한 그녀 - 야마다 요시노부 | 뉴토끼, links=299"
        },
        {
          "time": "08:41:39",
          "message": "작품 제목: 도메스틱한 그녀 - 야마다 요시노부"
        },
        {
          "time": "08:41:40",
          "message": "메타데이터 태그 저장: 도메스틱한 그녀, 야마다 요시노부"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_9311",
        "target_id": "manhwa_9311",
        "title": "도메스틱한 그녀 - 야마다 요시노부",
        "episodes_found": 297,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 297,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_9311",
          "title": "도메스틱한 그녀 - 야마다 요시노부",
          "list_url": "https://newtoki1.org/manhwa/9311",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/9311"
          },
          "tags": [
            "도메스틱한 그녀",
            "야마다 요시노부"
          ],
          "description": "소설가를 지망하는 고등학생 후지이 나츠오와 학교 선생님 타치바나 히나, 그리고 선생님의 여동생 타치바나 루이의 삼각관계 이야기",
          "metadata_path": "/downloads/manhwa_9311/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 297,
        "total": 297,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3ef241bfda",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:33:51",
      "started_at": "2026-06-04T08:40:12",
      "finished_at": "2026-06-04T08:40:55",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/3839",
        "target_id": "manhwa_3839",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "논논비요리 - 앗토",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "04:04:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_117/013.jpg"
        },
        {
          "time": "04:04:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_117/014.jpg"
        },
        {
          "time": "04:04:01",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "04:04:02",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3839/306054"
        },
        {
          "time": "04:04:02",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3839/306054"
        },
        {
          "time": "04:04:22",
          "message": "  [i] 회차 제목: 논논비요리 120화"
        },
        {
          "time": "04:04:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/001.jpg"
        },
        {
          "time": "04:04:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/002.jpg"
        },
        {
          "time": "04:04:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/003.jpg"
        },
        {
          "time": "04:04:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/004.jpg"
        },
        {
          "time": "04:05:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/005.jpg"
        },
        {
          "time": "04:05:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/006.jpg"
        },
        {
          "time": "04:05:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/007.jpg"
        },
        {
          "time": "04:05:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/008.jpg"
        },
        {
          "time": "04:05:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/009.jpg"
        },
        {
          "time": "04:05:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/010.jpg"
        },
        {
          "time": "04:05:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/011.jpg"
        },
        {
          "time": "04:05:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/012.jpg"
        },
        {
          "time": "04:05:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/013.jpg"
        },
        {
          "time": "04:05:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/014.jpg"
        },
        {
          "time": "04:05:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/015.jpg"
        },
        {
          "time": "04:05:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/016.jpg"
        },
        {
          "time": "04:05:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/017.jpg"
        },
        {
          "time": "04:05:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/018.jpg"
        },
        {
          "time": "04:05:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/019.jpg"
        },
        {
          "time": "04:05:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/020.jpg"
        },
        {
          "time": "04:05:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/021.jpg"
        },
        {
          "time": "04:05:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/022.jpg"
        },
        {
          "time": "04:05:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/023.jpg"
        },
        {
          "time": "04:05:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/024.jpg"
        },
        {
          "time": "04:05:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/025.jpg"
        },
        {
          "time": "04:05:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/026.jpg"
        },
        {
          "time": "04:05:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/027.jpg"
        },
        {
          "time": "04:05:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/028.jpg"
        },
        {
          "time": "04:05:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/029.jpg"
        },
        {
          "time": "04:05:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/030.jpg"
        },
        {
          "time": "04:05:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/031.jpg"
        },
        {
          "time": "04:05:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/032.jpg"
        },
        {
          "time": "04:05:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/033.jpg"
        },
        {
          "time": "04:05:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/034.jpg"
        },
        {
          "time": "04:05:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/035.jpg"
        },
        {
          "time": "04:05:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/036.jpg"
        },
        {
          "time": "04:05:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/037.jpg"
        },
        {
          "time": "04:05:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/038.jpg"
        },
        {
          "time": "04:05:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/039.jpg"
        },
        {
          "time": "04:05:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/040.jpg"
        },
        {
          "time": "04:05:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/041.jpg"
        },
        {
          "time": "04:05:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/042.jpg"
        },
        {
          "time": "04:05:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/043.jpg"
        },
        {
          "time": "04:05:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/044.jpg"
        },
        {
          "time": "04:05:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/045.jpg"
        },
        {
          "time": "04:05:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/046.jpg"
        },
        {
          "time": "04:05:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_118/047.jpg"
        },
        {
          "time": "04:05:54",
          "message": "  [>] 이미지 47/47개 처리 완료.\n"
        },
        {
          "time": "04:05:55",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3839/27683"
        },
        {
          "time": "04:05:55",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3839/27683"
        },
        {
          "time": "04:06:21",
          "message": "  [i] 회차 제목: 논논비요리 번외편 3권 번외편"
        },
        {
          "time": "04:06:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/001.jpg"
        },
        {
          "time": "04:06:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/002.jpg"
        },
        {
          "time": "04:06:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/003.jpg"
        },
        {
          "time": "04:06:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/004.jpg"
        },
        {
          "time": "04:06:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/005.jpg"
        },
        {
          "time": "04:06:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/006.jpg"
        },
        {
          "time": "04:06:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/007.jpg"
        },
        {
          "time": "04:06:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/008.jpg"
        },
        {
          "time": "04:06:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/009.jpg"
        },
        {
          "time": "04:06:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/010.jpg"
        },
        {
          "time": "04:06:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/011.jpg"
        },
        {
          "time": "04:06:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_119/012.jpg"
        },
        {
          "time": "04:06:33",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "04:06:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3839/27682"
        },
        {
          "time": "04:06:34",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3839/27682"
        },
        {
          "time": "04:06:53",
          "message": "  [i] 회차 제목: 논논비요리 번외편 2권 번외편"
        },
        {
          "time": "04:06:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/001.jpg"
        },
        {
          "time": "04:06:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/002.jpg"
        },
        {
          "time": "04:06:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/003.jpg"
        },
        {
          "time": "04:06:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/004.jpg"
        },
        {
          "time": "04:06:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/005.jpg"
        },
        {
          "time": "04:06:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/006.jpg"
        },
        {
          "time": "04:06:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/007.jpg"
        },
        {
          "time": "04:07:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/008.jpg"
        },
        {
          "time": "04:07:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/009.jpg"
        },
        {
          "time": "04:07:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/010.jpg"
        },
        {
          "time": "04:07:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/011.jpg"
        },
        {
          "time": "04:07:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/012.jpg"
        },
        {
          "time": "04:07:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/013.jpg"
        },
        {
          "time": "04:07:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/014.jpg"
        },
        {
          "time": "04:07:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/015.jpg"
        },
        {
          "time": "04:07:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/016.jpg"
        },
        {
          "time": "04:07:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/017.jpg"
        },
        {
          "time": "04:07:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/018.jpg"
        },
        {
          "time": "04:07:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/019.jpg"
        },
        {
          "time": "04:07:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/020.jpg"
        },
        {
          "time": "04:07:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/021.jpg"
        },
        {
          "time": "04:07:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/022.jpg"
        },
        {
          "time": "04:07:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/023.jpg"
        },
        {
          "time": "04:07:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3839/ep_120/024.jpg"
        },
        {
          "time": "04:07:19",
          "message": "  [>] 이미지 24/24개 처리 완료.\n"
        },
        {
          "time": "04:07:20",
          "message": "완료: 회차 120개 처리, 이미지 2072개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 120)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:43:41",
          "message": "작품 제목: 3839"
        },
        {
          "time": "05:53:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:53:41"
        },
        {
          "time": "05:53:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:53:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:49:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #546"
        },
        {
          "time": "23:49:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:49:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=논논비요리 - 앗토 | 뉴토끼, links=122"
        },
        {
          "time": "23:49:40",
          "message": "작품 제목: 논논비요리 - 앗토"
        },
        {
          "time": "23:49:41",
          "message": "메타데이터 태그 저장: 논논비요리, 앗토"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:27:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #79"
        },
        {
          "time": "13:27:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:27:24",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:27:24",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:37:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:37:39"
        },
        {
          "time": "13:37:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:37:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:31:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1452"
        },
        {
          "time": "13:31:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:31:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=논논비요리 - 앗토 | 뉴토끼, links=122"
        },
        {
          "time": "13:31:32",
          "message": "작품 제목: 논논비요리 - 앗토"
        },
        {
          "time": "13:31:32",
          "message": "메타데이터 태그 저장: 논논비요리, 앗토"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:24:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #42"
        },
        {
          "time": "17:24:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:24:43",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "17:25:35",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:25:35"
        },
        {
          "time": "17:26:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "17:26:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:26:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=논논비요리 - 앗토 | 뉴토끼, links=122"
        },
        {
          "time": "17:26:43",
          "message": "작품 제목: 논논비요리 - 앗토"
        },
        {
          "time": "17:26:43",
          "message": "메타데이터 태그 저장: 논논비요리, 앗토"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:13:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "14:13:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:13:27",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:13:27",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:13:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "14:13:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:13:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=논논비요리 - 앗토 | 뉴토끼, links=122"
        },
        {
          "time": "14:13:43",
          "message": "작품 제목: 논논비요리 - 앗토"
        },
        {
          "time": "14:13:44",
          "message": "메타데이터 태그 저장: 논논비요리, 앗토"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:40:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1270"
        },
        {
          "time": "08:40:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:40:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=논논비요리 - 앗토 | 뉴토끼, links=122"
        },
        {
          "time": "08:40:54",
          "message": "작품 제목: 논논비요리 - 앗토"
        },
        {
          "time": "08:40:55",
          "message": "메타데이터 태그 저장: 논논비요리, 앗토"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3839",
        "target_id": "manhwa_3839",
        "title": "논논비요리 - 앗토",
        "episodes_found": 120,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 120,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3839",
          "title": "논논비요리 - 앗토",
          "list_url": "https://newtoki1.org/manhwa/3839",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3839"
          },
          "tags": [
            "논논비요리",
            "앗토"
          ],
          "description": "“…혹시…우리… 시골에 사는 거양?” “글쎄에~ 길에 소가 다니고, 앞마당에 너구리가 나오고, 초등학생‧중학생이 같이 수업을 받지만, 아무것도 할 수 없을 만큼 불편한 것은 아니니까 그것만으로는 시골이라고 할 수 없지 않을까?!”",
          "metadata_path": "/downloads/manhwa_3839/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 120,
        "total": 120,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "e53204b835",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:33:37",
      "started_at": "2026-06-04T08:38:58",
      "finished_at": "2026-06-04T08:40:12",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/9644",
        "target_id": "manhwa_9644",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "호리미야 리메이크 - 하기와라 다이스케",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:17:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/007.jpg"
        },
        {
          "time": "02:17:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/008.jpg"
        },
        {
          "time": "02:17:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/009.jpg"
        },
        {
          "time": "02:17:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/010.jpg"
        },
        {
          "time": "02:17:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/011.jpg"
        },
        {
          "time": "02:17:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/012.jpg"
        },
        {
          "time": "02:17:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/013.jpg"
        },
        {
          "time": "02:17:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/014.jpg"
        },
        {
          "time": "02:17:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/015.jpg"
        },
        {
          "time": "02:17:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/016.jpg"
        },
        {
          "time": "02:17:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/017.jpg"
        },
        {
          "time": "02:17:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/018.jpg"
        },
        {
          "time": "02:17:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/019.jpg"
        },
        {
          "time": "02:17:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_123/020.jpg"
        },
        {
          "time": "02:17:46",
          "message": "  [>] 이미지 20/20개 처리 완료.\n"
        },
        {
          "time": "02:17:47",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9644/304734"
        },
        {
          "time": "02:17:47",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9644/304734"
        },
        {
          "time": "02:18:06",
          "message": "  [i] 회차 제목: 호리미야 리메이크 123화"
        },
        {
          "time": "02:18:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/001.jpg"
        },
        {
          "time": "02:18:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/002.jpg"
        },
        {
          "time": "02:18:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/003.jpg"
        },
        {
          "time": "02:18:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/004.jpg"
        },
        {
          "time": "02:18:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/005.jpg"
        },
        {
          "time": "02:18:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/006.jpg"
        },
        {
          "time": "02:18:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/007.jpg"
        },
        {
          "time": "02:18:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/008.jpg"
        },
        {
          "time": "02:18:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/009.jpg"
        },
        {
          "time": "02:18:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/010.jpg"
        },
        {
          "time": "02:18:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/011.jpg"
        },
        {
          "time": "02:18:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/012.jpg"
        },
        {
          "time": "02:18:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/013.jpg"
        },
        {
          "time": "02:18:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/014.jpg"
        },
        {
          "time": "02:18:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/015.jpg"
        },
        {
          "time": "02:18:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/016.jpg"
        },
        {
          "time": "02:18:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/017.jpg"
        },
        {
          "time": "02:18:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_124/018.jpg"
        },
        {
          "time": "02:18:20",
          "message": "  [>] 이미지 18/18개 처리 완료.\n"
        },
        {
          "time": "02:18:21",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9644/309095"
        },
        {
          "time": "02:18:21",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9644/309095"
        },
        {
          "time": "02:18:40",
          "message": "  [i] 회차 제목: 호리미야 리메이크 124-2화"
        },
        {
          "time": "02:18:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/001.jpg"
        },
        {
          "time": "02:18:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/002.jpg"
        },
        {
          "time": "02:18:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/003.jpg"
        },
        {
          "time": "02:18:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/004.jpg"
        },
        {
          "time": "02:18:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/005.jpg"
        },
        {
          "time": "02:18:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/006.jpg"
        },
        {
          "time": "02:18:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/007.jpg"
        },
        {
          "time": "02:18:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/008.jpg"
        },
        {
          "time": "02:18:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/009.jpg"
        },
        {
          "time": "02:18:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/010.jpg"
        },
        {
          "time": "02:18:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/011.jpg"
        },
        {
          "time": "02:18:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/012.jpg"
        },
        {
          "time": "02:18:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/013.jpg"
        },
        {
          "time": "02:19:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/014.jpg"
        },
        {
          "time": "02:19:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/015.jpg"
        },
        {
          "time": "02:19:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/016.jpg"
        },
        {
          "time": "02:19:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/017.jpg"
        },
        {
          "time": "02:19:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/018.jpg"
        },
        {
          "time": "02:19:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/019.jpg"
        },
        {
          "time": "02:19:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_125/020.jpg"
        },
        {
          "time": "02:19:07",
          "message": "  [>] 이미지 20/20개 처리 완료.\n"
        },
        {
          "time": "02:19:08",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9644/309093"
        },
        {
          "time": "02:19:08",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9644/309093"
        },
        {
          "time": "02:19:27",
          "message": "  [i] 회차 제목: 호리미야 리메이크 124-1화"
        },
        {
          "time": "02:19:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/001.jpg"
        },
        {
          "time": "02:19:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/002.jpg"
        },
        {
          "time": "02:19:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/003.jpg"
        },
        {
          "time": "02:19:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/004.jpg"
        },
        {
          "time": "02:19:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/005.jpg"
        },
        {
          "time": "02:19:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/006.jpg"
        },
        {
          "time": "02:19:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/007.jpg"
        },
        {
          "time": "02:19:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/008.jpg"
        },
        {
          "time": "02:19:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/009.jpg"
        },
        {
          "time": "02:19:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/010.jpg"
        },
        {
          "time": "02:19:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/011.jpg"
        },
        {
          "time": "02:19:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/012.jpg"
        },
        {
          "time": "02:19:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/013.jpg"
        },
        {
          "time": "02:19:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/014.jpg"
        },
        {
          "time": "02:19:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/015.jpg"
        },
        {
          "time": "02:19:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/016.jpg"
        },
        {
          "time": "02:19:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/017.jpg"
        },
        {
          "time": "02:19:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/018.jpg"
        },
        {
          "time": "02:19:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/019.jpg"
        },
        {
          "time": "02:19:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/020.jpg"
        },
        {
          "time": "02:19:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_126/021.jpg"
        },
        {
          "time": "02:19:44",
          "message": "  [>] 이미지 21/21개 처리 완료.\n"
        },
        {
          "time": "02:19:45",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9644/333145"
        },
        {
          "time": "02:19:45",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9644/333145"
        },
        {
          "time": "02:20:04",
          "message": "  [i] 회차 제목: 호리미야 리메이크 124.5화"
        },
        {
          "time": "02:20:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/001.jpg"
        },
        {
          "time": "02:20:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/002.jpg"
        },
        {
          "time": "02:20:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/003.jpg"
        },
        {
          "time": "02:20:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/004.jpg"
        },
        {
          "time": "02:20:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/005.jpg"
        },
        {
          "time": "02:20:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/006.jpg"
        },
        {
          "time": "02:20:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/007.jpg"
        },
        {
          "time": "02:20:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/008.jpg"
        },
        {
          "time": "02:20:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/009.jpg"
        },
        {
          "time": "02:20:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/010.jpg"
        },
        {
          "time": "02:20:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/011.jpg"
        },
        {
          "time": "02:20:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9644/ep_127/012.jpg"
        },
        {
          "time": "02:20:19",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "02:20:20",
          "message": "완료: 회차 127개 처리, 이미지 2559개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 127)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:43:46",
          "message": "작품 제목: 9644"
        },
        {
          "time": "05:54:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:54:22"
        },
        {
          "time": "05:54:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:49:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #545"
        },
        {
          "time": "23:49:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:49:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=호리미야 리메이크 - 하기와라 다이스케 | 뉴토끼, links=129"
        },
        {
          "time": "23:49:23",
          "message": "작품 제목: 호리미야 리메이크 - 하기와라 다이스케"
        },
        {
          "time": "23:49:23",
          "message": "메타데이터 태그 저장: 하기와라 다이스케, 호리미야 리메이크"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:27:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #80"
        },
        {
          "time": "13:27:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:28:19",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:28:35",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:39:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:39:25"
        },
        {
          "time": "13:39:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:39:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:31:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1453"
        },
        {
          "time": "13:31:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:31:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=호리미야 리메이크 - 하기와라 다이스케 | 뉴토끼, links=129"
        },
        {
          "time": "13:31:47",
          "message": "작품 제목: 호리미야 리메이크 - 하기와라 다이스케"
        },
        {
          "time": "13:31:47",
          "message": "메타데이터 태그 저장: 하기와라 다이스케, 호리미야 리메이크"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:23:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #41"
        },
        {
          "time": "17:23:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:23:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=호리미야 리메이크 - 하기와라 다이스케 | 뉴토끼, links=129"
        },
        {
          "time": "17:23:51",
          "message": "작품 제목: 호리미야 리메이크 - 하기와라 다이스케"
        },
        {
          "time": "17:24:23",
          "message": "메타데이터 태그 저장: 하기와라 다이스케, 호리미야 리메이크"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:17:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "14:17:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:17:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=호리미야 리메이크 - 하기와라 다이스케 | 뉴토끼, links=129"
        },
        {
          "time": "14:17:51",
          "message": "작품 제목: 호리미야 리메이크 - 하기와라 다이스케"
        },
        {
          "time": "14:17:51",
          "message": "메타데이터 태그 저장: 하기와라 다이스케, 호리미야 리메이크"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:39:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1268"
        },
        {
          "time": "08:39:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:39:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:39:54",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:39:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1269"
        },
        {
          "time": "08:39:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:40:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=호리미야 리메이크 - 하기와라 다이스케 | 뉴토끼, links=129"
        },
        {
          "time": "08:40:10",
          "message": "작품 제목: 호리미야 리메이크 - 하기와라 다이스케"
        },
        {
          "time": "08:40:11",
          "message": "메타데이터 태그 저장: 하기와라 다이스케, 호리미야 리메이크"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_9644",
        "target_id": "manhwa_9644",
        "title": "호리미야 리메이크 - 하기와라 다이스케",
        "episodes_found": 127,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 127,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_9644",
          "title": "호리미야 리메이크 - 하기와라 다이스케",
          "list_url": "https://newtoki1.org/manhwa/9644",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/9644"
          },
          "tags": [
            "하기와라 다이스케",
            "호리미야 리메이크"
          ],
          "description": "이어지고, 얽히면서 세계는 날마다 변해간다. 호리 쿄코는 미인에다 성적도 우수해서 학교에서는 반의 중심인물이다. 하지만 사실은 맞벌이를 하는 부모님을 대신해서 놀지도 않고 집안일을 하고 터울이 많이 지는 남동생을 돌보는 가정적인 고등학생이다. 어느 날, 다친 남동생, 소타를 모르는 남",
          "metadata_path": "/downloads/manhwa_9644/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 127,
        "total": 127,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "06ba5b2df0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:32:48",
      "started_at": "2026-06-04T08:37:10",
      "finished_at": "2026-06-04T08:38:58",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/11781",
        "target_id": "manhwa_11781",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "닥터 K 시리즈 - 키리오카 사나",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "00:57:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/069.jpg"
        },
        {
          "time": "00:57:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/070.jpg"
        },
        {
          "time": "00:57:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/071.jpg"
        },
        {
          "time": "00:57:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/072.jpg"
        },
        {
          "time": "00:58:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/073.jpg"
        },
        {
          "time": "00:58:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/074.jpg"
        },
        {
          "time": "00:58:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/075.jpg"
        },
        {
          "time": "00:58:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/076.jpg"
        },
        {
          "time": "00:58:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/077.jpg"
        },
        {
          "time": "00:58:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/078.jpg"
        },
        {
          "time": "00:58:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/079.jpg"
        },
        {
          "time": "00:58:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/080.jpg"
        },
        {
          "time": "00:58:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/081.jpg"
        },
        {
          "time": "00:58:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/082.jpg"
        },
        {
          "time": "00:58:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/083.jpg"
        },
        {
          "time": "00:58:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/084.jpg"
        },
        {
          "time": "00:58:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/085.jpg"
        },
        {
          "time": "00:58:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/086.jpg"
        },
        {
          "time": "00:58:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/087.jpg"
        },
        {
          "time": "00:58:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/088.jpg"
        },
        {
          "time": "00:58:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/089.jpg"
        },
        {
          "time": "00:58:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/090.jpg"
        },
        {
          "time": "00:58:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/091.jpg"
        },
        {
          "time": "00:58:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/092.jpg"
        },
        {
          "time": "00:58:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/093.jpg"
        },
        {
          "time": "00:58:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/094.jpg"
        },
        {
          "time": "00:58:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_175/095.jpg"
        },
        {
          "time": "00:58:23",
          "message": "  [>] 이미지 95/95개 처리 완료.\n"
        },
        {
          "time": "00:58:25",
          "message": "완료: 회차 174개 처리, 이미지 15521개 저장, 0개 건너뜀"
        },
        {
          "time": "02:20:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-25T02:20:20"
        },
        {
          "time": "02:20:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:20:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "20:27:18",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "20:29:17",
          "message": "기존 완료 기록을 적용합니다: 174개 회차"
        },
        {
          "time": "20:29:17",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "20:29:17",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "20:29:17",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "20:29:17",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "20:29:17",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/11781"
        },
        {
          "time": "20:29:17",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/11781"
        },
        {
          "time": "20:29:44",
          "message": "작품 제목: 닥터 K 시리즈 - 키리오카 사나"
        },
        {
          "time": "20:29:44",
          "message": "메타데이터 저장: /downloads/manhwa_11781/metadata.yaml"
        },
        {
          "time": "20:29:44",
          "message": "메타데이터 태그 저장: 닥터 K 시리즈, 키리오카 사나"
        },
        {
          "time": "20:29:44",
          "message": "기존 완료 회차 174개 제외"
        },
        {
          "time": "20:29:44",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "20:29:44",
          "message": "총 175개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "20:29:44",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/11781/309770"
        },
        {
          "time": "20:29:44",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/11781/309770"
        },
        {
          "time": "20:30:04",
          "message": "  [i] 회차 제목: 닥터 K 시리즈 148화 3부 20권 전"
        },
        {
          "time": "20:30:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/001.jpg"
        },
        {
          "time": "20:30:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/002.jpg"
        },
        {
          "time": "20:30:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/003.jpg"
        },
        {
          "time": "20:30:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/004.jpg"
        },
        {
          "time": "20:30:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/005.jpg"
        },
        {
          "time": "20:30:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/006.jpg"
        },
        {
          "time": "20:30:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/007.jpg"
        },
        {
          "time": "20:30:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/008.jpg"
        },
        {
          "time": "20:30:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/009.jpg"
        },
        {
          "time": "20:30:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/010.jpg"
        },
        {
          "time": "20:30:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/011.jpg"
        },
        {
          "time": "20:30:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/012.jpg"
        },
        {
          "time": "20:30:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/013.jpg"
        },
        {
          "time": "20:30:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/014.jpg"
        },
        {
          "time": "20:30:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/015.jpg"
        },
        {
          "time": "20:30:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/016.jpg"
        },
        {
          "time": "20:30:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/017.jpg"
        },
        {
          "time": "20:30:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/018.jpg"
        },
        {
          "time": "20:30:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/019.jpg"
        },
        {
          "time": "20:30:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/020.jpg"
        },
        {
          "time": "20:30:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/021.jpg"
        },
        {
          "time": "20:30:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/022.jpg"
        },
        {
          "time": "20:30:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/023.jpg"
        },
        {
          "time": "20:30:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/024.jpg"
        },
        {
          "time": "20:30:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/025.jpg"
        },
        {
          "time": "20:30:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/026.jpg"
        },
        {
          "time": "20:30:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/027.jpg"
        },
        {
          "time": "20:30:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/028.jpg"
        },
        {
          "time": "20:30:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/029.jpg"
        },
        {
          "time": "20:30:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/030.jpg"
        },
        {
          "time": "20:30:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/031.jpg"
        },
        {
          "time": "20:30:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/032.jpg"
        },
        {
          "time": "20:30:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/033.jpg"
        },
        {
          "time": "20:30:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/034.jpg"
        },
        {
          "time": "20:30:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/035.jpg"
        },
        {
          "time": "20:30:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/036.jpg"
        },
        {
          "time": "20:30:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/037.jpg"
        },
        {
          "time": "20:30:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/038.jpg"
        },
        {
          "time": "20:30:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/039.jpg"
        },
        {
          "time": "20:30:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/040.jpg"
        },
        {
          "time": "20:30:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/041.jpg"
        },
        {
          "time": "20:30:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/042.jpg"
        },
        {
          "time": "20:30:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/043.jpg"
        },
        {
          "time": "20:30:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_11781/ep_031/044.jpg"
        },
        {
          "time": "20:30:47",
          "message": "  [>] 이미지 44/44개 처리 완료.\n"
        },
        {
          "time": "20:30:48",
          "message": "완료: 회차 1개 처리, 이미지 44개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:58",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:38:53",
          "message": "작품 제목: 11781"
        },
        {
          "time": "05:49:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:49:01"
        },
        {
          "time": "05:49:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:49:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:48:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #543"
        },
        {
          "time": "23:48:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:48:58",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "23:48:58",
          "message": "작품 제목: 11781"
        },
        {
          "time": "23:48:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #544"
        },
        {
          "time": "23:48:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:49:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=닥터 K 시리즈 - 키리오카 사나 | 뉴토끼, links=177"
        },
        {
          "time": "23:49:06",
          "message": "작품 제목: 닥터 K 시리즈 - 키리오카 사나"
        },
        {
          "time": "23:49:06",
          "message": "메타데이터 태그 저장: 닥터 K 시리즈, 키리오카 사나"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:29:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #81"
        },
        {
          "time": "13:29:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:29:25",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:29:57",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:40:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:40:11"
        },
        {
          "time": "13:40:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:40:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:32:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1454"
        },
        {
          "time": "13:32:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:32:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=닥터 K 시리즈 - 키리오카 사나 | 뉴토끼, links=177"
        },
        {
          "time": "13:32:50",
          "message": "작품 제목: 닥터 K 시리즈 - 키리오카 사나"
        },
        {
          "time": "13:32:50",
          "message": "메타데이터 태그 저장: 닥터 K 시리즈, 키리오카 사나"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:23:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #40"
        },
        {
          "time": "17:23:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:23:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=닥터 K 시리즈 - 키리오카 사나 | 뉴토끼, links=177"
        },
        {
          "time": "17:23:31",
          "message": "작품 제목: 닥터 K 시리즈 - 키리오카 사나"
        },
        {
          "time": "17:23:31",
          "message": "메타데이터 태그 저장: 닥터 K 시리즈, 키리오카 사나"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:18:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "14:18:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:18:50",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:18:51",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:18:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "14:18:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:19:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=닥터 K 시리즈 - 키리오카 사나 | 뉴토끼, links=177"
        },
        {
          "time": "14:19:09",
          "message": "작품 제목: 닥터 K 시리즈 - 키리오카 사나"
        },
        {
          "time": "14:19:10",
          "message": "메타데이터 태그 저장: 닥터 K 시리즈, 키리오카 사나"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:37:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1266"
        },
        {
          "time": "08:37:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:38:30",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:38:41",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:38:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1267"
        },
        {
          "time": "08:38:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:38:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=닥터 K 시리즈 - 키리오카 사나 | 뉴토끼, links=177"
        },
        {
          "time": "08:38:56",
          "message": "작품 제목: 닥터 K 시리즈 - 키리오카 사나"
        },
        {
          "time": "08:38:57",
          "message": "메타데이터 태그 저장: 닥터 K 시리즈, 키리오카 사나"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_11781",
        "target_id": "manhwa_11781",
        "title": "닥터 K 시리즈 - 키리오카 사나",
        "episodes_found": 175,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 175,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_11781",
          "title": "닥터 K 시리즈 - 키리오카 사나",
          "list_url": "https://newtoki1.org/manhwa/11781",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/11781"
          },
          "tags": [
            "닥터 K 시리즈",
            "키리오카 사나"
          ],
          "description": "닥터 K 시리즈 (키리오카 사나)",
          "metadata_path": "/downloads/manhwa_11781/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 175,
        "total": 175,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "d631a577af",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:32:33",
      "started_at": "2026-06-04T08:34:57",
      "finished_at": "2026-06-04T08:37:10",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/8729",
        "target_id": "manhwa_8729",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "우리는 공부를 못해 - 츠츠이 타이시",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "19:05:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_187/019.jpg"
        },
        {
          "time": "19:05:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_187/020.jpg"
        },
        {
          "time": "19:05:09",
          "message": "  [>] 이미지 20/20개 처리 완료.\n"
        },
        {
          "time": "19:05:10",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8729/294828"
        },
        {
          "time": "19:05:10",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8729/294828"
        },
        {
          "time": "19:05:29",
          "message": "  [i] 회차 제목: 우리는 공부를 못해 185화"
        },
        {
          "time": "19:05:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/001.jpg"
        },
        {
          "time": "19:05:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/002.jpg"
        },
        {
          "time": "19:05:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/003.jpg"
        },
        {
          "time": "19:05:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/004.jpg"
        },
        {
          "time": "19:05:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/005.jpg"
        },
        {
          "time": "19:05:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/006.jpg"
        },
        {
          "time": "19:05:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/007.jpg"
        },
        {
          "time": "19:05:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/008.jpg"
        },
        {
          "time": "19:05:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/009.jpg"
        },
        {
          "time": "19:05:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/010.jpg"
        },
        {
          "time": "19:05:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/011.jpg"
        },
        {
          "time": "19:05:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/012.jpg"
        },
        {
          "time": "19:05:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/013.jpg"
        },
        {
          "time": "19:05:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/014.jpg"
        },
        {
          "time": "19:05:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/015.jpg"
        },
        {
          "time": "19:05:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/016.jpg"
        },
        {
          "time": "19:05:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/017.jpg"
        },
        {
          "time": "19:05:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/018.jpg"
        },
        {
          "time": "19:05:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/019.jpg"
        },
        {
          "time": "19:05:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_188/020.jpg"
        },
        {
          "time": "19:05:46",
          "message": "  [>] 이미지 20/20개 처리 완료.\n"
        },
        {
          "time": "19:05:48",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8729/295435"
        },
        {
          "time": "19:05:48",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8729/295435"
        },
        {
          "time": "19:06:06",
          "message": "  [i] 회차 제목: 우리는 공부를 못해 186화"
        },
        {
          "time": "19:06:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/001.jpg"
        },
        {
          "time": "19:06:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/002.jpg"
        },
        {
          "time": "19:06:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/003.jpg"
        },
        {
          "time": "19:06:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/004.jpg"
        },
        {
          "time": "19:06:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/005.jpg"
        },
        {
          "time": "19:06:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/006.jpg"
        },
        {
          "time": "19:06:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/007.jpg"
        },
        {
          "time": "19:06:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/008.jpg"
        },
        {
          "time": "19:06:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/009.jpg"
        },
        {
          "time": "19:06:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/010.jpg"
        },
        {
          "time": "19:06:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/011.jpg"
        },
        {
          "time": "19:06:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/012.jpg"
        },
        {
          "time": "19:06:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/013.jpg"
        },
        {
          "time": "19:06:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/014.jpg"
        },
        {
          "time": "19:06:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/015.jpg"
        },
        {
          "time": "19:06:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/016.jpg"
        },
        {
          "time": "19:06:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/017.jpg"
        },
        {
          "time": "19:06:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/018.jpg"
        },
        {
          "time": "19:06:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/019.jpg"
        },
        {
          "time": "19:06:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/020.jpg"
        },
        {
          "time": "19:06:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/021.jpg"
        },
        {
          "time": "19:06:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_189/022.jpg"
        },
        {
          "time": "19:06:25",
          "message": "  [>] 이미지 22/22개 처리 완료.\n"
        },
        {
          "time": "19:06:26",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8729/296055"
        },
        {
          "time": "19:06:27",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8729/296055"
        },
        {
          "time": "19:06:45",
          "message": "  [i] 회차 제목: 우리는 공부를 못해 187화"
        },
        {
          "time": "19:06:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/001.jpg"
        },
        {
          "time": "19:06:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/002.jpg"
        },
        {
          "time": "19:06:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/003.jpg"
        },
        {
          "time": "19:06:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/004.jpg"
        },
        {
          "time": "19:06:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/005.jpg"
        },
        {
          "time": "19:06:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/006.jpg"
        },
        {
          "time": "19:06:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/007.jpg"
        },
        {
          "time": "19:06:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/008.jpg"
        },
        {
          "time": "19:06:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/009.jpg"
        },
        {
          "time": "19:06:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/010.jpg"
        },
        {
          "time": "19:06:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/011.jpg"
        },
        {
          "time": "19:06:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/012.jpg"
        },
        {
          "time": "19:06:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/013.jpg"
        },
        {
          "time": "19:06:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/014.jpg"
        },
        {
          "time": "19:06:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/015.jpg"
        },
        {
          "time": "19:07:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/016.jpg"
        },
        {
          "time": "19:07:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/017.jpg"
        },
        {
          "time": "19:07:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/018.jpg"
        },
        {
          "time": "19:07:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/019.jpg"
        },
        {
          "time": "19:07:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/020.jpg"
        },
        {
          "time": "19:07:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/021.jpg"
        },
        {
          "time": "19:07:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/022.jpg"
        },
        {
          "time": "19:07:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_8729/ep_190/023.jpg"
        },
        {
          "time": "19:07:06",
          "message": "  [>] 이미지 23/23개 처리 완료.\n"
        },
        {
          "time": "19:07:07",
          "message": "완료: 회차 190개 처리, 이미지 3754개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 190)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:45:36",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:47:43",
          "message": "작품 제목: 8729"
        },
        {
          "time": "12:58:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:58:36"
        },
        {
          "time": "12:58:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:58:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:47:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #540"
        },
        {
          "time": "23:47:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:47:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리는 공부를 못해 - 츠츠이 타이시 | 뉴토끼, links=192"
        },
        {
          "time": "23:47:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #541"
        },
        {
          "time": "23:47:52",
          "message": "작품 제목: 우리는 공부를 못해 - 츠츠이 타이시"
        },
        {
          "time": "23:47:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:47:52",
          "message": "메타데이터 태그 저장: 우리는 공부를 못해, 츠츠이 타이시"
        },
        {
          "time": "23:47:52",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:48:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #542"
        },
        {
          "time": "23:48:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:33:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T01:33:44"
        },
        {
          "time": "01:33:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:33:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:11:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #61"
        },
        {
          "time": "13:11:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:11:53",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:12:06",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:22:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:22:52"
        },
        {
          "time": "13:22:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:22:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:44:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1268"
        },
        {
          "time": "10:44:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:44:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리는 공부를 못해 - 츠츠이 타이시 | 뉴토끼, links=192"
        },
        {
          "time": "10:44:16",
          "message": "작품 제목: 우리는 공부를 못해 - 츠츠이 타이시"
        },
        {
          "time": "10:44:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1269"
        },
        {
          "time": "10:44:16",
          "message": "메타데이터 태그 저장: 우리는 공부를 못해, 츠츠이 타이시"
        },
        {
          "time": "10:44:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:44:17",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "10:44:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리는 공부를 못해 93.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:56:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #42"
        },
        {
          "time": "17:56:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:56:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리는 공부를 못해 - 츠츠이 타이시 | 뉴토끼, links=192"
        },
        {
          "time": "17:57:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #43"
        },
        {
          "time": "17:57:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:57:19",
          "message": "작품 제목: 우리는 공부를 못해 - 츠츠이 타이시"
        },
        {
          "time": "17:57:19",
          "message": "메타데이터 태그 저장: 우리는 공부를 못해, 츠츠이 타이시"
        },
        {
          "time": "17:57:19",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "17:57:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리는 공부를 못해 93.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:51:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #660"
        },
        {
          "time": "13:51:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:52:33",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:52:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #661"
        },
        {
          "time": "13:52:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:52:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리는 공부를 못해 - 츠츠이 타이시 | 뉴토끼, links=192"
        },
        {
          "time": "13:52:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #662"
        },
        {
          "time": "13:52:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:52:49",
          "message": "작품 제목: 우리는 공부를 못해 - 츠츠이 타이시"
        },
        {
          "time": "13:52:50",
          "message": "메타데이터 태그 저장: 우리는 공부를 못해, 츠츠이 타이시"
        },
        {
          "time": "13:52:50",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "13:52:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리는 공부를 못해 93.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:36:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1264"
        },
        {
          "time": "08:36:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:36:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리는 공부를 못해 - 츠츠이 타이시 | 뉴토끼, links=192"
        },
        {
          "time": "08:36:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1265"
        },
        {
          "time": "08:36:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:36:27",
          "message": "작품 제목: 우리는 공부를 못해 - 츠츠이 타이시"
        },
        {
          "time": "08:36:27",
          "message": "메타데이터 태그 저장: 우리는 공부를 못해, 츠츠이 타이시"
        },
        {
          "time": "08:36:28",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "08:36:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리는 공부를 못해 93.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8729",
        "target_id": "manhwa_8729",
        "title": "우리는 공부를 못해 - 츠츠이 타이시",
        "episodes_found": 190,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 189,
        "images_found": 2,
        "images_downloaded": 0,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8729",
          "title": "우리는 공부를 못해 - 츠츠이 타이시",
          "list_url": "https://newtoki1.org/manhwa/8729",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8729"
          },
          "tags": [
            "우리는 공부를 못해",
            "츠츠이 타이시"
          ],
          "description": "찢어지게 가난한 집안 환경과 전액 무료 VIP 대학 추천을 노리는 고교 3학년 유이가 나리유키.그녀는 본의 아니게 천재 미소녀 후미노와 리즈의 교육을 맡게 된다. 완전무결해 보이는 두 사람이지만 사실 의외의 고민을 안고 있었는데…?!",
          "metadata_path": "/downloads/manhwa_8729/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 96,
          "url": "https://newtoki1.org/manhwa/8729/73610",
          "title": "우리는 공부를 못해 93.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "21a16c941f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:31:37",
      "started_at": "2026-06-04T08:32:45",
      "finished_at": "2026-06-04T08:34:57",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/9168",
        "target_id": "manhwa_9168",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "플라스틱 언니 - 쿠리챠",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "19:45:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_108/007.jpg"
        },
        {
          "time": "19:45:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_108/008.jpg"
        },
        {
          "time": "19:45:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_108/009.jpg"
        },
        {
          "time": "19:45:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_108/010.jpg"
        },
        {
          "time": "19:45:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_108/011.jpg"
        },
        {
          "time": "19:45:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_108/012.jpg"
        },
        {
          "time": "19:45:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_108/013.jpg"
        },
        {
          "time": "19:45:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_108/014.jpg"
        },
        {
          "time": "19:45:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_108/015.jpg"
        },
        {
          "time": "19:45:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_108/016.jpg"
        },
        {
          "time": "19:45:13",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "19:45:14",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9168/1687420"
        },
        {
          "time": "19:45:14",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9168/1687420"
        },
        {
          "time": "19:45:34",
          "message": "  [i] 회차 제목: 플라스틱 언니 237화"
        },
        {
          "time": "19:45:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_109/001.jpg"
        },
        {
          "time": "19:45:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_109/002.jpg"
        },
        {
          "time": "19:45:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_109/003.jpg"
        },
        {
          "time": "19:45:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_109/004.jpg"
        },
        {
          "time": "19:45:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_109/005.jpg"
        },
        {
          "time": "19:45:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_109/006.jpg"
        },
        {
          "time": "19:45:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_109/007.jpg"
        },
        {
          "time": "19:45:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_109/008.jpg"
        },
        {
          "time": "19:45:41",
          "message": "  [>] 이미지 8/8개 처리 완료.\n"
        },
        {
          "time": "19:45:43",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9168/1687421"
        },
        {
          "time": "19:45:43",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9168/1687421"
        },
        {
          "time": "19:46:02",
          "message": "  [i] 회차 제목: 플라스틱 언니 238화"
        },
        {
          "time": "19:46:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/001.jpg"
        },
        {
          "time": "19:46:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/002.jpg"
        },
        {
          "time": "19:46:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/003.jpg"
        },
        {
          "time": "19:46:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/004.jpg"
        },
        {
          "time": "19:46:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/005.jpg"
        },
        {
          "time": "19:46:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/006.jpg"
        },
        {
          "time": "19:46:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/007.jpg"
        },
        {
          "time": "19:46:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/008.jpg"
        },
        {
          "time": "19:46:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/009.jpg"
        },
        {
          "time": "19:46:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/010.jpg"
        },
        {
          "time": "19:46:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/011.jpg"
        },
        {
          "time": "19:46:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_110/012.jpg"
        },
        {
          "time": "19:46:16",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "19:46:17",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9168/1687422"
        },
        {
          "time": "19:46:17",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9168/1687422"
        },
        {
          "time": "19:46:36",
          "message": "  [i] 회차 제목: 플라스틱 언니 239화"
        },
        {
          "time": "19:46:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_111/001.jpg"
        },
        {
          "time": "19:46:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_111/002.jpg"
        },
        {
          "time": "19:46:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_111/003.jpg"
        },
        {
          "time": "19:46:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_111/004.jpg"
        },
        {
          "time": "19:46:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_111/005.jpg"
        },
        {
          "time": "19:46:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_111/006.jpg"
        },
        {
          "time": "19:46:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_111/007.jpg"
        },
        {
          "time": "19:46:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_111/008.jpg"
        },
        {
          "time": "19:46:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_111/009.jpg"
        },
        {
          "time": "19:46:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_111/010.jpg"
        },
        {
          "time": "19:46:45",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "19:46:46",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9168/1687423"
        },
        {
          "time": "19:46:46",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9168/1687423"
        },
        {
          "time": "19:47:05",
          "message": "  [i] 회차 제목: 플라스틱 언니 240화"
        },
        {
          "time": "19:47:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/001.jpg"
        },
        {
          "time": "19:47:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/002.jpg"
        },
        {
          "time": "19:47:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/003.jpg"
        },
        {
          "time": "19:47:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/004.jpg"
        },
        {
          "time": "19:47:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/005.jpg"
        },
        {
          "time": "19:47:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/006.jpg"
        },
        {
          "time": "19:47:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/007.jpg"
        },
        {
          "time": "19:47:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/008.jpg"
        },
        {
          "time": "19:47:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/009.jpg"
        },
        {
          "time": "19:47:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/010.jpg"
        },
        {
          "time": "19:47:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/011.jpg"
        },
        {
          "time": "19:47:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_112/012.jpg"
        },
        {
          "time": "19:47:18",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "19:47:19",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9168/1687424"
        },
        {
          "time": "19:47:19",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9168/1687424"
        },
        {
          "time": "19:47:38",
          "message": "  [i] 회차 제목: 플라스틱 언니 241화"
        },
        {
          "time": "19:47:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/001.jpg"
        },
        {
          "time": "19:47:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/002.jpg"
        },
        {
          "time": "19:47:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/003.jpg"
        },
        {
          "time": "19:47:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/004.jpg"
        },
        {
          "time": "19:47:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/005.jpg"
        },
        {
          "time": "19:47:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/006.jpg"
        },
        {
          "time": "19:47:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/007.jpg"
        },
        {
          "time": "19:47:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/008.jpg"
        },
        {
          "time": "19:47:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/009.jpg"
        },
        {
          "time": "19:47:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/010.jpg"
        },
        {
          "time": "19:47:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/011.jpg"
        },
        {
          "time": "19:47:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/012.jpg"
        },
        {
          "time": "19:47:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/013.jpg"
        },
        {
          "time": "19:47:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/014.jpg"
        },
        {
          "time": "19:47:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/015.jpg"
        },
        {
          "time": "19:47:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_113/016.jpg"
        },
        {
          "time": "19:47:55",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "19:47:56",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9168/1687425"
        },
        {
          "time": "19:47:56",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9168/1687425"
        },
        {
          "time": "19:48:15",
          "message": "  [i] 회차 제목: 플라스틱 언니 242화"
        },
        {
          "time": "19:48:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/001.jpg"
        },
        {
          "time": "19:48:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/002.jpg"
        },
        {
          "time": "19:48:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/003.jpg"
        },
        {
          "time": "19:48:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/004.jpg"
        },
        {
          "time": "19:48:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/005.jpg"
        },
        {
          "time": "19:48:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/006.jpg"
        },
        {
          "time": "19:48:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/007.jpg"
        },
        {
          "time": "19:48:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/008.jpg"
        },
        {
          "time": "19:48:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/009.jpg"
        },
        {
          "time": "19:48:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/010.jpg"
        },
        {
          "time": "19:48:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/011.jpg"
        },
        {
          "time": "19:48:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_9168/ep_114/012.jpg"
        },
        {
          "time": "19:48:27",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "19:48:29",
          "message": "완료: 회차 48개 처리, 이미지 527개 저장, 16개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 48)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:44:48",
          "message": "작품 제목: 9168"
        },
        {
          "time": "05:54:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:54:50"
        },
        {
          "time": "05:54:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:46:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #539"
        },
        {
          "time": "23:46:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:47:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=플라스틱 언니 - 쿠리챠 | 뉴토끼, links=116"
        },
        {
          "time": "23:47:02",
          "message": "작품 제목: 플라스틱 언니 - 쿠리챠"
        },
        {
          "time": "23:47:02",
          "message": "메타데이터 태그 저장: 쿠리챠, 플라스틱 언니"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:29:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #82"
        },
        {
          "time": "13:29:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:30:19",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:30:19",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:41:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:41:03"
        },
        {
          "time": "13:41:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:41:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:33:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1455"
        },
        {
          "time": "13:33:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:33:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=플라스틱 언니 - 쿠리챠 | 뉴토끼, links=116"
        },
        {
          "time": "13:33:40",
          "message": "작품 제목: 플라스틱 언니 - 쿠리챠"
        },
        {
          "time": "13:34:40",
          "message": "[!] 작업 이벤트 저장 큐 flush 실패: 작업 이벤트 저장 큐 flush가 시간 내 완료되지 않았습니다."
        },
        {
          "time": "13:34:42",
          "message": "메타데이터 태그 저장: 쿠리챠, 플라스틱 언니"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:22:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #39"
        },
        {
          "time": "17:22:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:22:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=플라스틱 언니 - 쿠리챠 | 뉴토끼, links=116"
        },
        {
          "time": "17:22:54",
          "message": "작품 제목: 플라스틱 언니 - 쿠리챠"
        },
        {
          "time": "17:22:54",
          "message": "메타데이터 태그 저장: 쿠리챠, 플라스틱 언니"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:19:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "14:19:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:20:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=플라스틱 언니 - 쿠리챠 | 뉴토끼, links=116"
        },
        {
          "time": "14:20:46",
          "message": "작품 제목: 플라스틱 언니 - 쿠리챠"
        },
        {
          "time": "14:20:46",
          "message": "메타데이터 태그 저장: 쿠리챠, 플라스틱 언니"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:33:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1263"
        },
        {
          "time": "08:33:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:34:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=플라스틱 언니 - 쿠리챠 | 뉴토끼, links=116"
        },
        {
          "time": "08:34:56",
          "message": "작품 제목: 플라스틱 언니 - 쿠리챠"
        },
        {
          "time": "08:34:56",
          "message": "메타데이터 태그 저장: 쿠리챠, 플라스틱 언니"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_9168",
        "target_id": "manhwa_9168",
        "title": "플라스틱 언니 - 쿠리챠",
        "episodes_found": 114,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 114,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_9168",
          "title": "플라스틱 언니 - 쿠리챠",
          "list_url": "https://newtoki1.org/manhwa/9168",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/9168"
          },
          "tags": [
            "쿠리챠",
            "플라스틱 언니"
          ],
          "description": "지루한 학교생활 제대로 즐기는 법!「방과 후라고 해서 그냥 낼름 집으로 돌아가는 건 좀 아쉽죠」「청춘이란 건 눈 깜짝할 사이에 지나가버리고 마니까요」 「그래서 저는 그냥 귀가를 택한 친구들에게 `싸닥션`을 날리고 있답니다――」 「모형부」라는 간판을 걸었으면서도 모형 따위는 거의 안 만들",
          "metadata_path": "/downloads/manhwa_9168/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 114,
        "total": 114,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "ac978888cc",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:31:26",
      "started_at": "2026-06-04T08:30:39",
      "finished_at": "2026-06-04T08:32:45",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/32804",
        "target_id": "manhwa_32804",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "매일매일 싸내커플 - 사쿠라 쇼지",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "12:32:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/003.jpg"
        },
        {
          "time": "12:32:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/004.jpg"
        },
        {
          "time": "12:32:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/005.jpg"
        },
        {
          "time": "12:32:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/006.jpg"
        },
        {
          "time": "12:32:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/007.jpg"
        },
        {
          "time": "12:32:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/008.jpg"
        },
        {
          "time": "12:32:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/009.jpg"
        },
        {
          "time": "12:32:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/010.jpg"
        },
        {
          "time": "12:32:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/011.jpg"
        },
        {
          "time": "12:32:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/012.jpg"
        },
        {
          "time": "12:32:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/013.jpg"
        },
        {
          "time": "12:32:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/014.jpg"
        },
        {
          "time": "12:32:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/015.jpg"
        },
        {
          "time": "12:32:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/016.jpg"
        },
        {
          "time": "12:32:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/017.jpg"
        },
        {
          "time": "12:32:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/018.jpg"
        },
        {
          "time": "12:32:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/019.jpg"
        },
        {
          "time": "12:32:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/020.jpg"
        },
        {
          "time": "12:32:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/021.jpg"
        },
        {
          "time": "12:32:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/022.jpg"
        },
        {
          "time": "12:32:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/023.jpg"
        },
        {
          "time": "12:32:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/024.jpg"
        },
        {
          "time": "12:32:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/025.jpg"
        },
        {
          "time": "12:32:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/026.jpg"
        },
        {
          "time": "12:32:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/027.jpg"
        },
        {
          "time": "12:32:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/028.jpg"
        },
        {
          "time": "12:32:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/029.jpg"
        },
        {
          "time": "12:32:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/030.jpg"
        },
        {
          "time": "12:32:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/031.jpg"
        },
        {
          "time": "12:32:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_115/032.jpg"
        },
        {
          "time": "12:32:39",
          "message": "  [>] 이미지 32/32개 처리 완료.\n"
        },
        {
          "time": "12:32:40",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/32804/1659534"
        },
        {
          "time": "12:32:40",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/32804/1659534"
        },
        {
          "time": "12:32:59",
          "message": "  [i] 회차 제목: 매일매일 싸내커플 117화"
        },
        {
          "time": "12:33:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/001.jpg"
        },
        {
          "time": "12:33:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/002.jpg"
        },
        {
          "time": "12:33:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/003.jpg"
        },
        {
          "time": "12:33:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/004.jpg"
        },
        {
          "time": "12:33:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/005.jpg"
        },
        {
          "time": "12:33:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/006.jpg"
        },
        {
          "time": "12:33:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/007.jpg"
        },
        {
          "time": "12:33:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/008.jpg"
        },
        {
          "time": "12:33:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/009.jpg"
        },
        {
          "time": "12:33:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/010.jpg"
        },
        {
          "time": "12:33:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/011.jpg"
        },
        {
          "time": "12:33:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/012.jpg"
        },
        {
          "time": "12:33:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/013.jpg"
        },
        {
          "time": "12:33:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/014.jpg"
        },
        {
          "time": "12:33:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/015.jpg"
        },
        {
          "time": "12:33:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/016.jpg"
        },
        {
          "time": "12:33:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/017.jpg"
        },
        {
          "time": "12:33:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/018.jpg"
        },
        {
          "time": "12:33:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/019.jpg"
        },
        {
          "time": "12:33:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/020.jpg"
        },
        {
          "time": "12:33:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/021.jpg"
        },
        {
          "time": "12:33:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/022.jpg"
        },
        {
          "time": "12:33:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/023.jpg"
        },
        {
          "time": "12:33:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/024.jpg"
        },
        {
          "time": "12:33:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_116/025.jpg"
        },
        {
          "time": "12:33:20",
          "message": "  [>] 이미지 25/25개 처리 완료.\n"
        },
        {
          "time": "12:33:21",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/32804/1659533"
        },
        {
          "time": "12:33:21",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/32804/1659533"
        },
        {
          "time": "12:33:40",
          "message": "  [i] 회차 제목: 매일매일 싸내커플 118화"
        },
        {
          "time": "12:33:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/001.jpg"
        },
        {
          "time": "12:33:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/002.jpg"
        },
        {
          "time": "12:33:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/003.jpg"
        },
        {
          "time": "12:33:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/004.jpg"
        },
        {
          "time": "12:33:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/005.jpg"
        },
        {
          "time": "12:33:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/006.jpg"
        },
        {
          "time": "12:33:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/007.jpg"
        },
        {
          "time": "12:33:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/008.jpg"
        },
        {
          "time": "12:33:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/009.jpg"
        },
        {
          "time": "12:33:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/010.jpg"
        },
        {
          "time": "12:33:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/011.jpg"
        },
        {
          "time": "12:33:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/012.jpg"
        },
        {
          "time": "12:33:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/013.jpg"
        },
        {
          "time": "12:33:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/014.jpg"
        },
        {
          "time": "12:33:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/015.jpg"
        },
        {
          "time": "12:33:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/016.jpg"
        },
        {
          "time": "12:33:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/017.jpg"
        },
        {
          "time": "12:33:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/018.jpg"
        },
        {
          "time": "12:33:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/019.jpg"
        },
        {
          "time": "12:33:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/020.jpg"
        },
        {
          "time": "12:33:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/021.jpg"
        },
        {
          "time": "12:33:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/022.jpg"
        },
        {
          "time": "12:33:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/023.jpg"
        },
        {
          "time": "12:34:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/024.jpg"
        },
        {
          "time": "12:34:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/025.jpg"
        },
        {
          "time": "12:34:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/026.jpg"
        },
        {
          "time": "12:34:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/027.jpg"
        },
        {
          "time": "12:34:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/028.jpg"
        },
        {
          "time": "12:34:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/029.jpg"
        },
        {
          "time": "12:34:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/030.jpg"
        },
        {
          "time": "12:34:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/031.jpg"
        },
        {
          "time": "12:34:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/032.jpg"
        },
        {
          "time": "12:34:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/033.jpg"
        },
        {
          "time": "12:34:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_32804/ep_117/034.jpg"
        },
        {
          "time": "12:34:08",
          "message": "  [>] 이미지 34/34개 처리 완료.\n"
        },
        {
          "time": "12:34:09",
          "message": "완료: 회차 117개 처리, 이미지 6124개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 117)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:48:52",
          "message": "작품 제목: 32804"
        },
        {
          "time": "05:58:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:58:56"
        },
        {
          "time": "05:58:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:58:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:46:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #538"
        },
        {
          "time": "23:46:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:46:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=매일매일 싸내커플 - 사쿠라 쇼지 | 뉴토끼, links=119"
        },
        {
          "time": "23:46:45",
          "message": "작품 제목: 매일매일 싸내커플 - 사쿠라 쇼지"
        },
        {
          "time": "23:46:45",
          "message": "메타데이터 태그 저장: 매일매일 싸내커플, 사쿠라 쇼지"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:30:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #83"
        },
        {
          "time": "13:30:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:31:13",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:31:45",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:42:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:42:50"
        },
        {
          "time": "13:42:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:42:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1456"
        },
        {
          "time": "13:34:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:35:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=매일매일 싸내커플 - 사쿠라 쇼지 | 뉴토끼, links=119"
        },
        {
          "time": "13:35:33",
          "message": "작품 제목: 매일매일 싸내커플 - 사쿠라 쇼지"
        },
        {
          "time": "13:35:33",
          "message": "메타데이터 태그 저장: 매일매일 싸내커플, 사쿠라 쇼지"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:22:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #38"
        },
        {
          "time": "17:22:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:22:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=매일매일 싸내커플 - 사쿠라 쇼지 | 뉴토끼, links=119"
        },
        {
          "time": "17:22:36",
          "message": "작품 제목: 매일매일 싸내커플 - 사쿠라 쇼지"
        },
        {
          "time": "17:22:36",
          "message": "메타데이터 태그 저장: 매일매일 싸내커플, 사쿠라 쇼지"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:21:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "14:21:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:22:16",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:22:16",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:22:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "14:22:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:22:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=매일매일 싸내커플 - 사쿠라 쇼지 | 뉴토끼, links=119"
        },
        {
          "time": "14:22:29",
          "message": "작품 제목: 매일매일 싸내커플 - 사쿠라 쇼지"
        },
        {
          "time": "14:22:30",
          "message": "메타데이터 태그 저장: 매일매일 싸내커플, 사쿠라 쇼지"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:30:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1261"
        },
        {
          "time": "08:30:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:31:35",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:31:36",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:31:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1262"
        },
        {
          "time": "08:31:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:31:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=매일매일 싸내커플 - 사쿠라 쇼지 | 뉴토끼, links=119"
        },
        {
          "time": "08:32:44",
          "message": "작품 제목: 매일매일 싸내커플 - 사쿠라 쇼지"
        },
        {
          "time": "08:32:45",
          "message": "메타데이터 태그 저장: 매일매일 싸내커플, 사쿠라 쇼지"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_32804",
        "target_id": "manhwa_32804",
        "title": "매일매일 싸내커플 - 사쿠라 쇼지",
        "episodes_found": 117,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 117,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_32804",
          "title": "매일매일 싸내커플 - 사쿠라 쇼지",
          "list_url": "https://newtoki1.org/manhwa/32804",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/32804"
          },
          "tags": [
            "매일매일 싸내커플",
            "사쿠라 쇼지"
          ],
          "description": "`그때 나는 책상이 무너질 정도로 사랑을했다.` 사내에서 미인으로 유명하지만 철가면을 쓴 것처럼 완전 쿨한 서연씨. 그런 그녀와 사이 좋은 동료 현우는 책상 아래의 틈새에서 금지된 장난을 시작한다. 점점 마음이 커진 현우는 참지 못한 욕망을 그녀의 다리에 분출하고 마는데...",
          "metadata_path": "/downloads/manhwa_32804/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 117,
        "total": 117,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "ea66a21b8f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:31:04",
      "started_at": "2026-06-04T08:29:55",
      "finished_at": "2026-06-04T08:30:39",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/33452",
        "target_id": "manhwa_33452",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "오타쿠도 사랑하는 육식신사 - 유즈키 치히로",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:31:34",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "09:59:14",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "10:00:53",
          "message": "기존 완료 기록을 적용합니다: 140개 회차"
        },
        {
          "time": "10:00:53",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "10:00:53",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "10:00:53",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "10:00:54",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "10:00:54",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/33452"
        },
        {
          "time": "10:00:54",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33452"
        },
        {
          "time": "10:01:20",
          "message": "작품 제목: 오타쿠도 사랑하는 육식신사 - 유즈키 치히로"
        },
        {
          "time": "10:01:20",
          "message": "메타데이터 저장: /downloads/manhwa_33452/metadata.yaml"
        },
        {
          "time": "10:01:20",
          "message": "메타데이터 태그 저장: 오타쿠도 사랑하는 육식신사, 유즈키 치히로"
        },
        {
          "time": "10:01:20",
          "message": "기존 완료 회차 140개 제외"
        },
        {
          "time": "10:01:20",
          "message": "총 140개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "10:01:20",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:49:01",
          "message": "작품 제목: 33452"
        },
        {
          "time": "05:59:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:59:34"
        },
        {
          "time": "05:59:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:59:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:46:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #537"
        },
        {
          "time": "23:46:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:46:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠도 사랑하는 육식신사 - 유즈키 치히로 | 뉴토끼, links=142"
        },
        {
          "time": "23:46:28",
          "message": "작품 제목: 오타쿠도 사랑하는 육식신사 - 유즈키 치히로"
        },
        {
          "time": "23:46:28",
          "message": "메타데이터 태그 저장: 오타쿠도 사랑하는 육식신사, 유즈키 치히로"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:31:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #84"
        },
        {
          "time": "13:31:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:32:07",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:32:07",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:42:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:42:50"
        },
        {
          "time": "13:42:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:42:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:36:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1457"
        },
        {
          "time": "13:36:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:36:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠도 사랑하는 육식신사 - 유즈키 치히로 | 뉴토끼, links=142"
        },
        {
          "time": "13:36:21",
          "message": "작품 제목: 오타쿠도 사랑하는 육식신사 - 유즈키 치히로"
        },
        {
          "time": "13:36:21",
          "message": "메타데이터 태그 저장: 오타쿠도 사랑하는 육식신사, 유즈키 치히로"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:22:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #37"
        },
        {
          "time": "17:22:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:22:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠도 사랑하는 육식신사 - 유즈키 치히로 | 뉴토끼, links=142"
        },
        {
          "time": "17:22:18",
          "message": "작품 제목: 오타쿠도 사랑하는 육식신사 - 유즈키 치히로"
        },
        {
          "time": "17:22:19",
          "message": "메타데이터 태그 저장: 오타쿠도 사랑하는 육식신사, 유즈키 치히로"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:22:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "14:22:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:22:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:22:54",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:22:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "14:22:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:23:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠도 사랑하는 육식신사 - 유즈키 치히로 | 뉴토끼, links=142"
        },
        {
          "time": "14:23:46",
          "message": "작품 제목: 오타쿠도 사랑하는 육식신사 - 유즈키 치히로"
        },
        {
          "time": "14:23:46",
          "message": "메타데이터 태그 저장: 오타쿠도 사랑하는 육식신사, 유즈키 치히로"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:29:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1259"
        },
        {
          "time": "08:29:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:30:19",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:30:19",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:30:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1260"
        },
        {
          "time": "08:30:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:30:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠도 사랑하는 육식신사 - 유즈키 치히로 | 뉴토끼, links=142"
        },
        {
          "time": "08:30:38",
          "message": "작품 제목: 오타쿠도 사랑하는 육식신사 - 유즈키 치히로"
        },
        {
          "time": "08:30:38",
          "message": "메타데이터 태그 저장: 오타쿠도 사랑하는 육식신사, 유즈키 치히로"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_33452",
        "target_id": "manhwa_33452",
        "title": "오타쿠도 사랑하는 육식신사 - 유즈키 치히로",
        "episodes_found": 140,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 140,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_33452",
          "title": "오타쿠도 사랑하는 육식신사 - 유즈키 치히로",
          "list_url": "https://newtoki1.org/manhwa/33452",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/33452"
          },
          "tags": [
            "오타쿠도 사랑하는 육식신사",
            "유즈키 치히로"
          ],
          "description": "서점에서 아르바이트를 하며 취미인 게임에 몰두하고 있는 혼조 스즈. 평소와 같이 퇴근길에 게임을 하며 걷고 있는데 눈 앞에서 남자가 차이는 광경을 목격한다. 그 남자는 여성 고객들에게 인기가 좋은 하야미 점장님!? 상심을 달래기 위해 둘이서 술을 마시게 되고, 정신을 차리고 보니 그의",
          "metadata_path": "/downloads/manhwa_33452/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 140,
        "total": 140,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "5419a731fd",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:28:30",
      "started_at": "2026-06-04T08:28:27",
      "finished_at": "2026-06-04T08:29:55",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/11820",
        "target_id": "manhwa_11820",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "데스러버 - 토모히로 카이",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:28:50",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "07:05:45",
          "message": "대기열 순서를 변경했습니다: 49 -> 1"
        },
        {
          "time": "07:15:20",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "07:16:16",
          "message": "기존 완료 기록을 적용합니다: 110개 회차"
        },
        {
          "time": "07:16:16",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "07:16:16",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "07:16:16",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "07:16:16",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "07:16:16",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/11820"
        },
        {
          "time": "07:16:16",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/11820"
        },
        {
          "time": "07:16:33",
          "message": "작품 제목: 데스러버 - 토모히로 카이"
        },
        {
          "time": "07:16:33",
          "message": "메타데이터 저장: /downloads/manhwa_11820/metadata.yaml"
        },
        {
          "time": "07:16:33",
          "message": "메타데이터 태그 저장: 데스러버, 토모히로 카이"
        },
        {
          "time": "07:16:33",
          "message": "기존 완료 회차 110개 제외"
        },
        {
          "time": "07:16:33",
          "message": "총 110개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "07:16:33",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:02:38",
          "message": "작품 제목: 11820"
        },
        {
          "time": "06:13:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:13:11"
        },
        {
          "time": "06:13:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:13:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:45:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #536"
        },
        {
          "time": "23:45:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:46:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=데스러버 - 토모히로 카이 | 뉴토끼, links=112"
        },
        {
          "time": "23:46:10",
          "message": "작품 제목: 데스러버 - 토모히로 카이"
        },
        {
          "time": "23:46:10",
          "message": "메타데이터 태그 저장: 데스러버, 토모히로 카이"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:32:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #85"
        },
        {
          "time": "13:32:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:32:29",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:32:29",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:42:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:42:50"
        },
        {
          "time": "13:42:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:42:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:36:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1458"
        },
        {
          "time": "13:36:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:37:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=데스러버 - 토모히로 카이 | 뉴토끼, links=112"
        },
        {
          "time": "13:37:10",
          "message": "작품 제목: 데스러버 - 토모히로 카이"
        },
        {
          "time": "13:37:10",
          "message": "메타데이터 태그 저장: 데스러버, 토모히로 카이"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:21:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #36"
        },
        {
          "time": "17:21:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:22:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=데스러버 - 토모히로 카이 | 뉴토끼, links=112"
        },
        {
          "time": "17:22:01",
          "message": "작품 제목: 데스러버 - 토모히로 카이"
        },
        {
          "time": "17:22:01",
          "message": "메타데이터 태그 저장: 데스러버, 토모히로 카이"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:24:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "14:24:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:25:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=데스러버 - 토모히로 카이 | 뉴토끼, links=112"
        },
        {
          "time": "14:25:07",
          "message": "작품 제목: 데스러버 - 토모히로 카이"
        },
        {
          "time": "14:25:07",
          "message": "메타데이터 태그 저장: 데스러버, 토모히로 카이"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:29:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1258"
        },
        {
          "time": "08:29:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:29:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=데스러버 - 토모히로 카이 | 뉴토끼, links=112"
        },
        {
          "time": "08:29:53",
          "message": "작품 제목: 데스러버 - 토모히로 카이"
        },
        {
          "time": "08:29:54",
          "message": "메타데이터 태그 저장: 데스러버, 토모히로 카이"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_11820",
        "target_id": "manhwa_11820",
        "title": "데스러버 - 토모히로 카이",
        "episodes_found": 110,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 110,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_11820",
          "title": "데스러버 - 토모히로 카이",
          "list_url": "https://newtoki1.org/manhwa/11820",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/11820"
          },
          "tags": [
            "데스러버",
            "토모히로 카이"
          ],
          "description": "여자를 싫어하는 고교생 후지시로 코우스케는 학교에서 돌아오는 길, 갑작스레 누군가에게 납치된다. 눈을 떠보니 그곳은 남자가 감옥에 갇혀 여자들에게 관리되는 수수께끼의 감옥!! 여기는 도대체 어디인가.?",
          "metadata_path": "/downloads/manhwa_11820/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 110,
        "total": 110,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "020a0879c5",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:27:03",
      "started_at": "2026-06-04T08:23:10",
      "finished_at": "2026-06-04T08:28:27",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/20235",
        "target_id": "manhwa_20235",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "돌아가주세요! 아쿠츠 양 - 나가오카 타이치",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "23:39:40",
          "message": "작품 제목: 돌아가주세요! 아쿠츠 양 - 나가오카 타이치"
        },
        {
          "time": "23:39:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #522"
        },
        {
          "time": "23:39:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:39:40",
          "message": "메타데이터 태그 저장: 나가오카 타이치, 돌아가주세요! 아쿠츠 양"
        },
        {
          "time": "23:39:41",
          "message": "순회 계획을 저장했습니다: 7개 회차"
        },
        {
          "time": "23:40:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #523"
        },
        {
          "time": "23:40:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:40:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #524"
        },
        {
          "time": "23:40:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:40:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #525"
        },
        {
          "time": "23:40:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:41:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #526"
        },
        {
          "time": "23:41:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:41:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #527"
        },
        {
          "time": "23:41:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:42:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #528"
        },
        {
          "time": "23:42:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:42:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #529"
        },
        {
          "time": "23:42:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:43:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #530"
        },
        {
          "time": "23:43:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:43:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #531"
        },
        {
          "time": "23:43:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:43:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #532"
        },
        {
          "time": "23:43:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:44:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #533"
        },
        {
          "time": "23:44:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:45:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #534"
        },
        {
          "time": "23:45:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:45:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #535"
        },
        {
          "time": "23:45:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:55:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T23:55:53"
        },
        {
          "time": "23:55:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:55:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:11:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #60"
        },
        {
          "time": "13:11:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:11:31",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:11:31",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:21:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:21:51"
        },
        {
          "time": "13:21:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:21:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:36:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1256"
        },
        {
          "time": "10:36:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:36:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 - 나가오카 타이치 | 뉴토끼, links=229"
        },
        {
          "time": "10:36:16",
          "message": "작품 제목: 돌아가주세요! 아쿠츠 양 - 나가오카 타이치"
        },
        {
          "time": "10:36:16",
          "message": "메타데이터 태그 저장: 나가오카 타이치, 돌아가주세요! 아쿠츠 양"
        },
        {
          "time": "10:36:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1257"
        },
        {
          "time": "10:36:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:36:16",
          "message": "순회 계획을 저장했습니다: 7개 회차"
        },
        {
          "time": "10:36:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 108.5화 돌아가주세요! 아쿠… 양 108.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:37:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1258"
        },
        {
          "time": "10:37:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:37:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 112.5화 돌아가주세요! 아쿠… 양 112.5화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "10:37:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1259"
        },
        {
          "time": "10:37:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:37:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 162.5화 돌아가주세요! 아쿠… 양 162.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:38:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1260"
        },
        {
          "time": "10:38:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:38:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1261"
        },
        {
          "time": "10:38:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:39:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1262"
        },
        {
          "time": "10:39:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:40:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1263"
        },
        {
          "time": "10:40:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:40:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 176.5화 돌아가주세요! 아쿠… 양 176.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:40:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1264"
        },
        {
          "time": "10:40:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:41:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 198.6화 돌아가주세요! 아쿠… 양 198.6화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:41:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1265"
        },
        {
          "time": "10:41:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:41:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 206.5화 | 뉴토끼, img_tags=35, image_urls=35"
        },
        {
          "time": "10:42:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1266"
        },
        {
          "time": "10:42:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:43:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1267"
        },
        {
          "time": "10:43:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:43:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 163.5화 돌아가주세요! 아쿠… 양 163.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:57:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #44"
        },
        {
          "time": "17:57:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:57:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 - 나가오카 타이치 | 뉴토끼, links=229"
        },
        {
          "time": "17:58:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #45"
        },
        {
          "time": "17:58:15",
          "message": "작품 제목: 돌아가주세요! 아쿠츠 양 - 나가오카 타이치"
        },
        {
          "time": "17:58:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:58:15",
          "message": "메타데이터 태그 저장: 나가오카 타이치, 돌아가주세요! 아쿠츠 양"
        },
        {
          "time": "17:58:16",
          "message": "순회 계획을 저장했습니다: 6개 회차"
        },
        {
          "time": "17:58:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 108.5화 돌아가주세요! 아쿠… 양 108.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:58:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #46"
        },
        {
          "time": "17:58:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:58:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 112.5화 돌아가주세요! 아쿠… 양 112.5화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "17:59:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #47"
        },
        {
          "time": "17:59:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:59:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 162.5화 돌아가주세요! 아쿠… 양 162.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:59:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #48"
        },
        {
          "time": "17:59:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:59:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 163.5화 돌아가주세요! 아쿠… 양 163.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:00:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #49"
        },
        {
          "time": "18:00:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:00:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 176.5화 돌아가주세요! 아쿠… 양 176.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:00:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #50"
        },
        {
          "time": "18:00:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:00:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 198.6화 돌아가주세요! 아쿠… 양 198.6화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 6)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:48:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #652"
        },
        {
          "time": "13:48:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:48:55",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:48:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #653"
        },
        {
          "time": "13:48:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:49:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 - 나가오카 타이치 | 뉴토끼, links=229"
        },
        {
          "time": "13:49:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #654"
        },
        {
          "time": "13:49:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:49:11",
          "message": "작품 제목: 돌아가주세요! 아쿠츠 양 - 나가오카 타이치"
        },
        {
          "time": "13:49:12",
          "message": "메타데이터 태그 저장: 나가오카 타이치, 돌아가주세요! 아쿠츠 양"
        },
        {
          "time": "13:49:12",
          "message": "순회 계획을 저장했습니다: 6개 회차"
        },
        {
          "time": "13:49:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 108.5화 돌아가주세요! 아쿠… 양 108.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:49:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #655"
        },
        {
          "time": "13:49:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:50:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 112.5화 돌아가주세요! 아쿠… 양 112.5화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "13:50:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #656"
        },
        {
          "time": "13:50:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:50:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 162.5화 돌아가주세요! 아쿠… 양 162.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:50:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #657"
        },
        {
          "time": "13:50:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:51:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 163.5화 돌아가주세요! 아쿠… 양 163.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:51:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #658"
        },
        {
          "time": "13:51:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:51:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 176.5화 돌아가주세요! 아쿠… 양 176.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:51:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #659"
        },
        {
          "time": "13:51:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:51:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 198.6화 돌아가주세요! 아쿠… 양 198.6화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:24:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1251"
        },
        {
          "time": "08:24:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:24:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 - 나가오카 타이치 | 뉴토끼, links=229"
        },
        {
          "time": "08:24:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1252"
        },
        {
          "time": "08:24:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:24:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 108.5화 돌아가주세요! 아쿠… 양 108.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:24:57",
          "message": "작품 제목: 돌아가주세요! 아쿠츠 양 - 나가오카 타이치"
        },
        {
          "time": "08:24:57",
          "message": "메타데이터 태그 저장: 나가오카 타이치, 돌아가주세요! 아쿠츠 양"
        },
        {
          "time": "08:24:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1253"
        },
        {
          "time": "08:24:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:26:03",
          "message": "순회 계획을 저장했습니다: 6개 회차"
        },
        {
          "time": "08:26:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 112.5화 돌아가주세요! 아쿠… 양 112.5화 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "08:26:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1254"
        },
        {
          "time": "08:26:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:26:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 162.5화 돌아가주세요! 아쿠… 양 162.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:26:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1255"
        },
        {
          "time": "08:26:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:27:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 163.5화 돌아가주세요! 아쿠… 양 163.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:27:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1256"
        },
        {
          "time": "08:27:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:27:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 176.5화 돌아가주세요! 아쿠… 양 176.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:27:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1257"
        },
        {
          "time": "08:27:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:27:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돌아가주세요! 아쿠츠 양 198.6화 돌아가주세요! 아쿠… 양 198.6화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 6)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 6)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 6)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_20235",
        "target_id": "manhwa_20235",
        "title": "돌아가주세요! 아쿠츠 양 - 나가오카 타이치",
        "episodes_found": 227,
        "episodes_processed": 6,
        "episodes_failed": 0,
        "episodes_skipped": 221,
        "images_found": 12,
        "images_downloaded": 0,
        "images_skipped": 12,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_20235",
          "title": "돌아가주세요! 아쿠츠 양 - 나가오카 타이치",
          "list_url": "https://newtoki1.org/manhwa/20235",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/20235"
          },
          "tags": [
            "나가오카 타이치",
            "돌아가주세요! 아쿠츠 양"
          ],
          "description": "같은 반의 양아치녀·아쿠츠 씨에게 왠지 집이 아지트로 되어 버린 독신 생활의 오야마 군. 뭔가 심한 일을 당할까봐 쫓아내려고 하지만, 무방비하고 거리감이 가까운 그녀의 에로하고 귀엽고 사랑스러운 행동에 두근거리고…?",
          "metadata_path": "/downloads/manhwa_20235/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 6,
        "total": 6,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 109,
          "url": "https://newtoki1.org/manhwa/20235/1686439",
          "title": "돌아가주세요! 아쿠츠 양 108.5화 돌아가주세요! 아쿠… 양 108.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 114,
          "url": "https://newtoki1.org/manhwa/20235/1693635",
          "title": "돌아가주세요! 아쿠츠 양 112.5화 돌아가주세요! 아쿠… 양 112.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 172,
          "url": "https://newtoki1.org/manhwa/20235/1752163",
          "title": "돌아가주세요! 아쿠츠 양 162.5화 돌아가주세요! 아쿠… 양 162.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 174,
          "url": "https://newtoki1.org/manhwa/20235/1753048",
          "title": "돌아가주세요! 아쿠츠 양 163.5화 돌아가주세요! 아쿠… 양 163.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 190,
          "url": "https://newtoki1.org/manhwa/20235/1765037",
          "title": "돌아가주세요! 아쿠츠 양 176.5화 돌아가주세요! 아쿠… 양 176.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 217,
          "url": "https://newtoki1.org/manhwa/20235/1806234",
          "title": "돌아가주세요! 아쿠츠 양 198.6화 돌아가주세요! 아쿠… 양 198.6화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "498d11ad99",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:26:57",
      "started_at": "2026-06-04T08:20:57",
      "finished_at": "2026-06-04T08:23:10",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/37033",
        "target_id": "manhwa_37033",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "술과 연상 여자친구 - 스즈키리 히지리",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:27:28",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "15:14:09",
          "message": "대기열 순서를 변경했습니다: 34 -> 1"
        },
        {
          "time": "17:14:15",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "17:15:17",
          "message": "기존 완료 기록을 적용합니다: 5개 회차"
        },
        {
          "time": "17:15:17",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "17:15:17",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "17:15:17",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "17:15:17",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "17:15:17",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/37033"
        },
        {
          "time": "17:15:17",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/37033"
        },
        {
          "time": "17:15:43",
          "message": "작품 제목: 술과 연상 여자친구 - 스즈키리 히지리"
        },
        {
          "time": "17:15:43",
          "message": "메타데이터 저장: /downloads/manhwa_37033/metadata.yaml"
        },
        {
          "time": "17:15:43",
          "message": "메타데이터 태그 저장: 술과 연상 여자친구, 스즈키리 히지리"
        },
        {
          "time": "17:15:44",
          "message": "기존 완료 회차 5개 제외"
        },
        {
          "time": "17:15:44",
          "message": "총 5개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "17:15:44",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:58:47",
          "message": "작품 제목: 37033"
        },
        {
          "time": "06:09:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:09:21"
        },
        {
          "time": "06:09:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:09:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:39:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #520"
        },
        {
          "time": "23:39:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:39:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=술과 연상 여자친구 - 스즈키리 히지리 | 뉴토끼, links=7"
        },
        {
          "time": "23:39:22",
          "message": "작품 제목: 술과 연상 여자친구 - 스즈키리 히지리"
        },
        {
          "time": "23:39:22",
          "message": "메타데이터 태그 저장: 술과 연상 여자친구, 스즈키리 히지리"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:32:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #86"
        },
        {
          "time": "13:32:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:32:50",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:32:50",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:42:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:42:50"
        },
        {
          "time": "13:42:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:42:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:37:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1459"
        },
        {
          "time": "13:37:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:37:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=술과 연상 여자친구 - 스즈키리 히지리 | 뉴토끼, links=7"
        },
        {
          "time": "13:37:42",
          "message": "작품 제목: 술과 연상 여자친구 - 스즈키리 히지리"
        },
        {
          "time": "13:37:42",
          "message": "메타데이터 태그 저장: 술과 연상 여자친구, 스즈키리 히지리"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:21:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #35"
        },
        {
          "time": "17:21:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:21:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=술과 연상 여자친구 - 스즈키리 히지리 | 뉴토끼, links=7"
        },
        {
          "time": "17:21:44",
          "message": "작품 제목: 술과 연상 여자친구 - 스즈키리 히지리"
        },
        {
          "time": "17:21:44",
          "message": "메타데이터 태그 저장: 술과 연상 여자친구, 스즈키리 히지리"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:25:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "14:25:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:25:29",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:25:29",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:25:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "14:25:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:25:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=술과 연상 여자친구 - 스즈키리 히지리 | 뉴토끼, links=7"
        },
        {
          "time": "14:26:17",
          "message": "작품 제목: 술과 연상 여자친구 - 스즈키리 히지리"
        },
        {
          "time": "14:26:18",
          "message": "메타데이터 태그 저장: 술과 연상 여자친구, 스즈키리 히지리"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:21:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1249"
        },
        {
          "time": "08:21:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:21:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:21:53",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:21:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1250"
        },
        {
          "time": "08:21:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:22:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=술과 연상 여자친구 - 스즈키리 히지리 | 뉴토끼, links=7"
        },
        {
          "time": "08:23:09",
          "message": "작품 제목: 술과 연상 여자친구 - 스즈키리 히지리"
        },
        {
          "time": "08:23:09",
          "message": "메타데이터 태그 저장: 술과 연상 여자친구, 스즈키리 히지리"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_37033",
        "target_id": "manhwa_37033",
        "title": "술과 연상 여자친구 - 스즈키리 히지리",
        "episodes_found": 5,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 5,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_37033",
          "title": "술과 연상 여자친구 - 스즈키리 히지리",
          "list_url": "https://newtoki1.org/manhwa/37033",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/37033"
          },
          "tags": [
            "술과 연상 여자친구",
            "스즈키리 히지리"
          ],
          "description": "술과 연상 여자친구 (스즈키리 히지리)",
          "metadata_path": "/downloads/manhwa_37033/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 5,
        "total": 5,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "65e559a420",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:26:52",
      "started_at": "2026-06-04T03:39:33",
      "finished_at": "2026-06-04T03:42:28",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/34609",
        "target_id": "manhwa_34609",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "노아 선배는 친구 - 아키야마 엔마",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:26:52",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "15:14:09",
          "message": "대기열 순서를 변경했습니다: 33 -> 1"
        },
        {
          "time": "17:15:44",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "17:17:49",
          "message": "기존 완료 기록을 적용합니다: 138개 회차"
        },
        {
          "time": "17:17:49",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "17:17:49",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "17:17:49",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "17:17:49",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "17:17:49",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/34609"
        },
        {
          "time": "17:17:49",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34609"
        },
        {
          "time": "17:18:15",
          "message": "작품 제목: 노아 선배는 친구 - 아키야마 엔마"
        },
        {
          "time": "17:18:15",
          "message": "메타데이터 저장: /downloads/manhwa_34609/metadata.yaml"
        },
        {
          "time": "17:18:15",
          "message": "메타데이터 태그 저장: 노아 선배는 친구, 아키야마 엔마"
        },
        {
          "time": "17:18:16",
          "message": "기존 완료 회차 138개 제외"
        },
        {
          "time": "17:18:16",
          "message": "총 138개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "17:18:16",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:58:39",
          "message": "작품 제목: 34609"
        },
        {
          "time": "06:09:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:09:21"
        },
        {
          "time": "06:09:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:09:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:38:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #517"
        },
        {
          "time": "23:38:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:38:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=노아 선배는 친구 - 아키야마 엔마 | 뉴토끼, links=141"
        },
        {
          "time": "23:38:24",
          "message": "작품 제목: 노아 선배는 친구 - 아키야마 엔마"
        },
        {
          "time": "23:38:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #518"
        },
        {
          "time": "23:38:24",
          "message": "메타데이터 태그 저장: 노아 선배는 친구, 아키야마 엔마"
        },
        {
          "time": "23:38:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:38:24",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:38:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #519"
        },
        {
          "time": "23:38:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:49:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T23:49:06"
        },
        {
          "time": "23:49:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:49:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:10:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #59"
        },
        {
          "time": "13:10:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:10:35",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:11:10",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:21:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:21:51"
        },
        {
          "time": "13:21:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:21:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:34:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1254"
        },
        {
          "time": "10:34:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:34:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=노아 선배는 친구 - 아키야마 엔마 | 뉴토끼, links=141"
        },
        {
          "time": "10:34:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1255"
        },
        {
          "time": "10:34:36",
          "message": "작품 제목: 노아 선배는 친구 - 아키야마 엔마"
        },
        {
          "time": "10:34:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:34:36",
          "message": "메타데이터 태그 저장: 노아 선배는 친구, 아키야마 엔마"
        },
        {
          "time": "10:34:36",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "10:34:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=노아 선배는 친구 123화 | 뉴토끼, img_tags=52, image_urls=51"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:01:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #51"
        },
        {
          "time": "18:01:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:01:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=노아 선배는 친구 - 아키야마 엔마 | 뉴토끼, links=141"
        },
        {
          "time": "18:02:01",
          "message": "작품 제목: 노아 선배는 친구 - 아키야마 엔마"
        },
        {
          "time": "18:02:01",
          "message": "메타데이터 태그 저장: 노아 선배는 친구, 아키야마 엔마"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:46:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #649"
        },
        {
          "time": "13:46:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:47:18",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:47:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #650"
        },
        {
          "time": "13:47:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:47:38",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "13:47:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #651"
        },
        {
          "time": "13:47:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:06:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-03T14:06:08"
        },
        {
          "time": "14:06:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:06:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "17:19:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #288"
        },
        {
          "time": "17:19:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:20:03",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "17:20:04",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "17:20:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #289"
        },
        {
          "time": "17:20:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:20:24",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/34609, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0605df"
        },
        {
          "time": "17:20:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #290"
        },
        {
          "time": "17:20:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:20:46",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/34609, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0605e5"
        },
        {
          "time": "17:20:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #291"
        },
        {
          "time": "17:20:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:21:08",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/34609, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0605ed"
        },
        {
          "time": "01:26:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-04T01:26:55"
        },
        {
          "time": "01:26:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:26:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #787"
        },
        {
          "time": "01:27:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:27:52",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "01:27:53",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "01:27:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #788"
        },
        {
          "time": "01:27:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:28:13",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/34609, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a063286"
        },
        {
          "time": "01:28:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #789"
        },
        {
          "time": "01:28:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:29:14",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/34609, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06329d"
        },
        {
          "time": "01:29:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #790"
        },
        {
          "time": "01:29:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:29:36",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/34609, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0632a6"
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:40:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #892"
        },
        {
          "time": "03:40:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:41:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=노아 선배는 친구 - 아키야마 엔마 | 뉴토끼, links=141"
        },
        {
          "time": "03:42:13",
          "message": "작품 제목: 노아 선배는 친구 - 아키야마 엔마"
        },
        {
          "time": "03:42:27",
          "message": "메타데이터 태그 저장: 노아 선배는 친구, 아키야마 엔마"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34609",
        "target_id": "manhwa_34609",
        "title": "노아 선배는 친구 - 아키야마 엔마",
        "episodes_found": 139,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 139,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34609",
          "title": "노아 선배는 친구 - 아키야마 엔마",
          "list_url": "https://newtoki1.org/manhwa/34609",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34609"
          },
          "tags": [
            "노아 선배는 친구",
            "아키야마 엔마"
          ],
          "description": "고달프고 괴로운 어른의 인생에야말로, `친구`가 필요하다. 게임 회사를 배경으로, 일도 인간관계도 `적당히`가 목표인 「평범 사토리계」 오오츠카 리히토(23)와, 뭐든지 아주 전력을 다하는 「한계 워커홀릭」 사오토메 노아(27). 어울리지 않는 캐릭터인 두 사람이, 묘한 일을 계기로 「",
          "metadata_path": "/downloads/manhwa_34609/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 139,
        "total": 139,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "accd88bea4",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:26:26",
      "started_at": "2026-06-04T08:19:47",
      "finished_at": "2026-06-04T08:20:57",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/u-mpb8hh7r-rotg",
        "target_id": "manhwa_u-mpb8hh7r-rotg",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "허당 대수령짱과 아저씨 전투원 - 하시모토 유우시",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:26:26",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "09:52:38",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "09:54:03",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "09:54:04",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "09:54:04",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "09:54:04",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "09:54:04",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/u-mpb8hh7r-rotg"
        },
        {
          "time": "09:54:04",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/u-mpb8hh7r-rotg"
        },
        {
          "time": "09:54:30",
          "message": "작품 제목: 허당 대수령짱과 아저씨 전투원 - 하시모토 유우시"
        },
        {
          "time": "09:54:30",
          "message": "메타데이터 저장: /downloads/manhwa_u-mpb8hh7r-rotg/metadata.yaml"
        },
        {
          "time": "09:54:30",
          "message": "메타데이터 태그 저장: 하시모토 유우시, 허당 대수령짱과 아저씨 전투원"
        },
        {
          "time": "09:54:30",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "09:54:30",
          "message": "총 4개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "09:54:30",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/u-mpb8hh7r-rotg/u-mpb8rjgp-dxvr"
        },
        {
          "time": "09:54:30",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/u-mpb8hh7r-rotg/u-mpb8rjgp-dxvr"
        },
        {
          "time": "09:54:49",
          "message": "  [i] 회차 제목: 허당 대수령짱과 아저씨 전투원 1화"
        },
        {
          "time": "09:54:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/001.jpg"
        },
        {
          "time": "09:54:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/002.jpg"
        },
        {
          "time": "09:55:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/003.jpg"
        },
        {
          "time": "09:55:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/004.jpg"
        },
        {
          "time": "09:55:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/005.jpg"
        },
        {
          "time": "09:55:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/006.jpg"
        },
        {
          "time": "09:55:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/007.jpg"
        },
        {
          "time": "09:55:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/008.jpg"
        },
        {
          "time": "09:55:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/009.jpg"
        },
        {
          "time": "09:55:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/010.jpg"
        },
        {
          "time": "09:55:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/011.jpg"
        },
        {
          "time": "09:55:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/012.jpg"
        },
        {
          "time": "09:55:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/013.jpg"
        },
        {
          "time": "09:55:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/014.jpg"
        },
        {
          "time": "09:55:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_001/015.jpg"
        },
        {
          "time": "09:55:15",
          "message": "  [>] 이미지 15/15개 처리 완료.\n"
        },
        {
          "time": "09:55:16",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/u-mpb8hh7r-rotg/u-mpbaq1f1-28wy"
        },
        {
          "time": "09:55:16",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/u-mpb8hh7r-rotg/u-mpbaq1f1-28wy"
        },
        {
          "time": "09:55:35",
          "message": "  [i] 회차 제목: 허당 대수령짱과 아저씨 전투원 2화"
        },
        {
          "time": "09:55:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/001.jpg"
        },
        {
          "time": "09:55:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/002.jpg"
        },
        {
          "time": "09:55:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/003.jpg"
        },
        {
          "time": "09:55:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/004.jpg"
        },
        {
          "time": "09:55:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/005.jpg"
        },
        {
          "time": "09:55:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/006.jpg"
        },
        {
          "time": "09:55:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/007.jpg"
        },
        {
          "time": "09:55:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/008.jpg"
        },
        {
          "time": "09:55:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/009.jpg"
        },
        {
          "time": "09:55:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/010.jpg"
        },
        {
          "time": "09:55:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/011.jpg"
        },
        {
          "time": "09:55:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/012.jpg"
        },
        {
          "time": "09:55:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_002/013.jpg"
        },
        {
          "time": "09:55:48",
          "message": "  [>] 이미지 13/13개 처리 완료.\n"
        },
        {
          "time": "09:55:49",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/u-mpb8hh7r-rotg/u-mpbat6wm-sm6e"
        },
        {
          "time": "09:55:49",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/u-mpb8hh7r-rotg/u-mpbat6wm-sm6e"
        },
        {
          "time": "09:56:08",
          "message": "  [i] 회차 제목: 허당 대수령짱과 아저씨 전투원 3화"
        },
        {
          "time": "09:56:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/001.jpg"
        },
        {
          "time": "09:56:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/002.jpg"
        },
        {
          "time": "09:56:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/003.jpg"
        },
        {
          "time": "09:56:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/004.jpg"
        },
        {
          "time": "09:56:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/005.jpg"
        },
        {
          "time": "09:56:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/006.jpg"
        },
        {
          "time": "09:56:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/007.jpg"
        },
        {
          "time": "09:56:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/008.jpg"
        },
        {
          "time": "09:56:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/009.jpg"
        },
        {
          "time": "09:56:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/010.jpg"
        },
        {
          "time": "09:56:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/011.jpg"
        },
        {
          "time": "09:56:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/012.jpg"
        },
        {
          "time": "09:56:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_003/013.jpg"
        },
        {
          "time": "09:56:20",
          "message": "  [>] 이미지 13/13개 처리 완료.\n"
        },
        {
          "time": "09:56:21",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/u-mpb8hh7r-rotg/u-mpbauwhx-3wka"
        },
        {
          "time": "09:56:21",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/u-mpb8hh7r-rotg/u-mpbauwhx-3wka"
        },
        {
          "time": "09:56:39",
          "message": "  [i] 회차 제목: 허당 대수령짱과 아저씨 전투원 4화"
        },
        {
          "time": "09:56:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/001.jpg"
        },
        {
          "time": "09:56:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/002.jpg"
        },
        {
          "time": "09:56:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/003.jpg"
        },
        {
          "time": "09:56:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/004.jpg"
        },
        {
          "time": "09:56:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/005.jpg"
        },
        {
          "time": "09:56:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/006.jpg"
        },
        {
          "time": "09:56:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/007.jpg"
        },
        {
          "time": "09:56:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/008.jpg"
        },
        {
          "time": "09:56:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/009.jpg"
        },
        {
          "time": "09:56:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/010.jpg"
        },
        {
          "time": "09:56:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/011.jpg"
        },
        {
          "time": "09:56:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/012.jpg"
        },
        {
          "time": "09:56:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/013.jpg"
        },
        {
          "time": "09:56:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/014.jpg"
        },
        {
          "time": "09:56:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/015.jpg"
        },
        {
          "time": "09:56:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/016.jpg"
        },
        {
          "time": "09:56:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mpb8hh7r-rotg/ep_004/017.jpg"
        },
        {
          "time": "09:56:58",
          "message": "  [>] 이미지 17/17개 처리 완료.\n"
        },
        {
          "time": "09:57:00",
          "message": "완료: 회차 4개 처리, 이미지 58개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 4)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:49:15",
          "message": "작품 제목: u-mpb8hh7r-rotg"
        },
        {
          "time": "05:59:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:59:34"
        },
        {
          "time": "05:59:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:59:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:37:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #516"
        },
        {
          "time": "23:37:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:37:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=허당 대수령짱과 아저씨 전투원 - 하시모토 유우시 | 뉴토끼, links=6"
        },
        {
          "time": "23:38:08",
          "message": "작품 제목: 허당 대수령짱과 아저씨 전투원 - 하시모토 유우시"
        },
        {
          "time": "23:38:08",
          "message": "메타데이터 태그 저장: 하시모토 유우시, 허당 대수령짱과 아저씨 전투원"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:33:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #87"
        },
        {
          "time": "13:33:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:33:42",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:33:42",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:44:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:43:52"
        },
        {
          "time": "13:44:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:44:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:38:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1460"
        },
        {
          "time": "13:38:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:38:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=허당 대수령짱과 아저씨 전투원 - 하시모토 유우시 | 뉴토끼, links=6"
        },
        {
          "time": "13:38:57",
          "message": "작품 제목: 허당 대수령짱과 아저씨 전투원 - 하시모토 유우시"
        },
        {
          "time": "13:38:57",
          "message": "메타데이터 태그 저장: 하시모토 유우시, 허당 대수령짱과 아저씨 전투원"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:20:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #34"
        },
        {
          "time": "17:20:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:20:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=허당 대수령짱과 아저씨 전투원 - 하시모토 유우시 | 뉴토끼, links=6"
        },
        {
          "time": "17:21:28",
          "message": "작품 제목: 허당 대수령짱과 아저씨 전투원 - 하시모토 유우시"
        },
        {
          "time": "17:21:28",
          "message": "메타데이터 태그 저장: 하시모토 유우시, 허당 대수령짱과 아저씨 전투원"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:26:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #25"
        },
        {
          "time": "14:26:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:26:40",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:26:40",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:26:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #26"
        },
        {
          "time": "14:26:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:26:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=허당 대수령짱과 아저씨 전투원 - 하시모토 유우시 | 뉴토끼, links=6"
        },
        {
          "time": "14:26:54",
          "message": "작품 제목: 허당 대수령짱과 아저씨 전투원 - 하시모토 유우시"
        },
        {
          "time": "14:26:55",
          "message": "메타데이터 태그 저장: 하시모토 유우시, 허당 대수령짱과 아저씨 전투원"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:19:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1247"
        },
        {
          "time": "08:19:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:20:09",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:20:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:20:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1248"
        },
        {
          "time": "08:20:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:20:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=허당 대수령짱과 아저씨 전투원 - 하시모토 유우시 | 뉴토끼, links=6"
        },
        {
          "time": "08:20:56",
          "message": "작품 제목: 허당 대수령짱과 아저씨 전투원 - 하시모토 유우시"
        },
        {
          "time": "08:20:56",
          "message": "메타데이터 태그 저장: 하시모토 유우시, 허당 대수령짱과 아저씨 전투원"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_u-mpb8hh7r-rotg",
        "target_id": "manhwa_u-mpb8hh7r-rotg",
        "title": "허당 대수령짱과 아저씨 전투원 - 하시모토 유우시",
        "episodes_found": 4,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 4,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_u-mpb8hh7r-rotg",
          "title": "허당 대수령짱과 아저씨 전투원 - 하시모토 유우시",
          "list_url": "https://newtoki1.org/manhwa/u-mpb8hh7r-rotg",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/u-mpb8hh7r-rotg"
          },
          "tags": [
            "하시모토 유우시",
            "허당 대수령짱과 아저씨 전투원"
          ],
          "description": "허당 대수령짱과 아저씨 전투원 (하시모토 유우시)",
          "metadata_path": "/downloads/manhwa_u-mpb8hh7r-rotg/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 4,
        "total": 4,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "d8febd1745",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:26:16",
      "started_at": "2026-06-04T08:16:53",
      "finished_at": "2026-06-04T08:19:47",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/10722",
        "target_id": "manhwa_10722",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "이세계 느긋한 농가 - 나이토 키노스케",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:26:16",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "09:50:28",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "09:51:27",
          "message": "기존 완료 기록을 적용합니다: 324개 회차"
        },
        {
          "time": "09:51:27",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "09:51:45",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "09:51:45",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "09:51:45",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "09:51:46",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/10722"
        },
        {
          "time": "09:51:46",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10722"
        },
        {
          "time": "09:52:05",
          "message": "작품 제목: 이세계 느긋한 농가 - 나이토 키노스케"
        },
        {
          "time": "09:52:05",
          "message": "메타데이터 저장: /downloads/manhwa_10722/metadata.yaml"
        },
        {
          "time": "09:52:05",
          "message": "메타데이터 태그 저장: 나이토 키노스케, 이세계 느긋한 농가"
        },
        {
          "time": "09:52:05",
          "message": "기존 완료 회차 324개 제외"
        },
        {
          "time": "09:52:06",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "09:52:06",
          "message": "총 325개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "09:52:06",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/10722/u-mpi5gvlh-zcxx"
        },
        {
          "time": "09:52:06",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10722/u-mpi5gvlh-zcxx"
        },
        {
          "time": "09:52:24",
          "message": "  [i] 회차 제목: 이세계 느긋한 농가 324화"
        },
        {
          "time": "09:52:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_10722/ep_325/001.jpg"
        },
        {
          "time": "09:52:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_10722/ep_325/002.jpg"
        },
        {
          "time": "09:52:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_10722/ep_325/003.jpg"
        },
        {
          "time": "09:52:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_10722/ep_325/004.jpg"
        },
        {
          "time": "09:52:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_10722/ep_325/005.jpg"
        },
        {
          "time": "09:52:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_10722/ep_325/006.jpg"
        },
        {
          "time": "09:52:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_10722/ep_325/007.jpg"
        },
        {
          "time": "09:52:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_10722/ep_325/008.jpg"
        },
        {
          "time": "09:52:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_10722/ep_325/009.jpg"
        },
        {
          "time": "09:52:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_10722/ep_325/010.jpg"
        },
        {
          "time": "09:52:37",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "09:52:38",
          "message": "완료: 회차 1개 처리, 이미지 10개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:49:54",
          "message": "작품 제목: 10722"
        },
        {
          "time": "06:00:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:00:40"
        },
        {
          "time": "06:00:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:00:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:36:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #513"
        },
        {
          "time": "23:36:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:36:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 느긋한 농가 - 나이토 키노스케 | 뉴토끼, links=327"
        },
        {
          "time": "23:36:31",
          "message": "작품 제목: 이세계 느긋한 농가 - 나이토 키노스케"
        },
        {
          "time": "23:36:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #514"
        },
        {
          "time": "23:36:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:36:31",
          "message": "메타데이터 태그 저장: 나이토 키노스케, 이세계 느긋한 농가"
        },
        {
          "time": "23:36:31",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:36:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #515"
        },
        {
          "time": "23:36:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:48:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T23:48:33"
        },
        {
          "time": "23:48:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:48:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:08:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #58"
        },
        {
          "time": "13:08:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:09:13",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:09:43",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:21:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:21:51"
        },
        {
          "time": "13:21:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:21:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:32:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1252"
        },
        {
          "time": "10:32:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:32:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 느긋한 농가 - 나이토 키노스케 | 뉴토끼, links=327"
        },
        {
          "time": "10:32:38",
          "message": "작품 제목: 이세계 느긋한 농가 - 나이토 키노스케"
        },
        {
          "time": "10:32:38",
          "message": "메타데이터 태그 저장: 나이토 키노스케, 이세계 느긋한 농가"
        },
        {
          "time": "10:32:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1253"
        },
        {
          "time": "10:32:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:32:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이세계 느긋한 농가 151화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:33:24",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:02:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #52"
        },
        {
          "time": "18:02:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:02:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 느긋한 농가 - 나이토 키노스케 | 뉴토끼, links=328"
        },
        {
          "time": "18:03:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #53"
        },
        {
          "time": "18:03:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:03:02",
          "message": "작품 제목: 이세계 느긋한 농가 - 나이토 키노스케"
        },
        {
          "time": "18:03:02",
          "message": "메타데이터 태그 저장: 나이토 키노스케, 이세계 느긋한 농가"
        },
        {
          "time": "18:03:02",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "18:03:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이세계 느긋한 농가 151화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:03:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #54"
        },
        {
          "time": "18:03:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:03:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이세계 느긋한 농가 325화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:44:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #647"
        },
        {
          "time": "13:44:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:45:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 느긋한 농가 - 나이토 키노스케 | 뉴토끼, links=328"
        },
        {
          "time": "13:45:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #648"
        },
        {
          "time": "13:45:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:45:40",
          "message": "작품 제목: 이세계 느긋한 농가 - 나이토 키노스케"
        },
        {
          "time": "13:45:41",
          "message": "메타데이터 태그 저장: 나이토 키노스케, 이세계 느긋한 농가"
        },
        {
          "time": "13:45:42",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "13:45:48",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이세계 느긋한 농가 151화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:17:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1245"
        },
        {
          "time": "08:17:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:18:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 느긋한 농가 - 나이토 키노스케 | 뉴토끼, links=328"
        },
        {
          "time": "08:19:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1246"
        },
        {
          "time": "08:19:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:19:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이세계 느긋한 농가 151화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:19:45",
          "message": "작품 제목: 이세계 느긋한 농가 - 나이토 키노스케"
        },
        {
          "time": "08:19:45",
          "message": "메타데이터 태그 저장: 나이토 키노스케, 이세계 느긋한 농가"
        },
        {
          "time": "08:19:46",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_10722",
        "target_id": "manhwa_10722",
        "title": "이세계 느긋한 농가 - 나이토 키노스케",
        "episodes_found": 326,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 325,
        "images_found": 2,
        "images_downloaded": 0,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_10722",
          "title": "이세계 느긋한 농가 - 나이토 키노스케",
          "list_url": "https://newtoki1.org/manhwa/10722",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/10722"
          },
          "tags": [
            "나이토 키노스케",
            "이세계 느긋한 농가"
          ],
          "description": "39세의 나이로 사망한 마치오 히라쿠는 신의 제안에 의해 이세계에 전이하기로 한다.마치오는 `병에 걸리지 않는 건강한 육체`, `느긋하게 살 수 있는 공간`을 원하고, 이것만으론 모자라다 싶었던 신이 건네준 만능농구와 함께 이세계 생활을 시작한다",
          "metadata_path": "/downloads/manhwa_10722/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 151,
          "url": "https://newtoki1.org/manhwa/10722/308651",
          "title": "이세계 느긋한 농가 151화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "cab388a4cb",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:25:53",
      "started_at": "2026-06-04T08:16:14",
      "finished_at": "2026-06-04T08:16:53",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/35557",
        "target_id": "manhwa_35557",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "19:51:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/006.jpg"
        },
        {
          "time": "19:51:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/007.jpg"
        },
        {
          "time": "19:51:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/008.jpg"
        },
        {
          "time": "19:51:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/009.jpg"
        },
        {
          "time": "19:51:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/010.jpg"
        },
        {
          "time": "19:51:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/011.jpg"
        },
        {
          "time": "19:51:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/012.jpg"
        },
        {
          "time": "19:51:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/013.jpg"
        },
        {
          "time": "19:51:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/014.jpg"
        },
        {
          "time": "19:51:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/015.jpg"
        },
        {
          "time": "19:51:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/016.jpg"
        },
        {
          "time": "19:51:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/017.jpg"
        },
        {
          "time": "19:51:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/018.jpg"
        },
        {
          "time": "19:51:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/019.jpg"
        },
        {
          "time": "19:51:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/020.jpg"
        },
        {
          "time": "19:51:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/021.jpg"
        },
        {
          "time": "19:51:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/022.jpg"
        },
        {
          "time": "19:51:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_022/023.jpg"
        },
        {
          "time": "19:51:50",
          "message": "  [>] 이미지 23/23개 처리 완료.\n"
        },
        {
          "time": "19:51:51",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/35557/1812808"
        },
        {
          "time": "19:51:51",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35557/1812808"
        },
        {
          "time": "19:52:10",
          "message": "  [i] 회차 제목: 폭식 너무 좋아! 모치즈키 양 19화 폭식 너무 좋아! …치즈키 양 19화"
        },
        {
          "time": "19:52:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/001.jpg"
        },
        {
          "time": "19:52:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/002.jpg"
        },
        {
          "time": "19:52:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/003.jpg"
        },
        {
          "time": "19:52:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/004.jpg"
        },
        {
          "time": "19:52:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/005.jpg"
        },
        {
          "time": "19:52:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/006.jpg"
        },
        {
          "time": "19:52:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/007.jpg"
        },
        {
          "time": "19:52:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/008.jpg"
        },
        {
          "time": "19:52:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/009.jpg"
        },
        {
          "time": "19:52:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/010.jpg"
        },
        {
          "time": "19:52:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/011.jpg"
        },
        {
          "time": "19:52:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/012.jpg"
        },
        {
          "time": "19:52:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/013.jpg"
        },
        {
          "time": "19:52:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/014.jpg"
        },
        {
          "time": "19:52:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/015.jpg"
        },
        {
          "time": "19:52:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/016.jpg"
        },
        {
          "time": "19:52:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/017.jpg"
        },
        {
          "time": "19:52:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/018.jpg"
        },
        {
          "time": "19:52:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/019.jpg"
        },
        {
          "time": "19:52:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_023/020.jpg"
        },
        {
          "time": "19:52:27",
          "message": "  [>] 이미지 20/20개 처리 완료.\n"
        },
        {
          "time": "19:52:28",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/35557/1815100"
        },
        {
          "time": "19:52:28",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35557/1815100"
        },
        {
          "time": "19:52:47",
          "message": "  [i] 회차 제목: 폭식 너무 좋아! 모치즈키 양 20화 폭식 너무 좋아! …치즈키 양 20화"
        },
        {
          "time": "19:52:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/001.jpg"
        },
        {
          "time": "19:52:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/002.jpg"
        },
        {
          "time": "19:52:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/003.jpg"
        },
        {
          "time": "19:52:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/004.jpg"
        },
        {
          "time": "19:52:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/005.jpg"
        },
        {
          "time": "19:52:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/006.jpg"
        },
        {
          "time": "19:52:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/007.jpg"
        },
        {
          "time": "19:52:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/008.jpg"
        },
        {
          "time": "19:52:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/009.jpg"
        },
        {
          "time": "19:52:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/010.jpg"
        },
        {
          "time": "19:52:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/011.jpg"
        },
        {
          "time": "19:52:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/012.jpg"
        },
        {
          "time": "19:52:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/013.jpg"
        },
        {
          "time": "19:52:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/014.jpg"
        },
        {
          "time": "19:52:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/015.jpg"
        },
        {
          "time": "19:53:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/016.jpg"
        },
        {
          "time": "19:53:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/017.jpg"
        },
        {
          "time": "19:53:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/018.jpg"
        },
        {
          "time": "19:53:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/019.jpg"
        },
        {
          "time": "19:53:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/020.jpg"
        },
        {
          "time": "19:53:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/021.jpg"
        },
        {
          "time": "19:53:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/022.jpg"
        },
        {
          "time": "19:53:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_024/023.jpg"
        },
        {
          "time": "19:53:07",
          "message": "  [>] 이미지 23/23개 처리 완료.\n"
        },
        {
          "time": "19:53:08",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/35557/u-mp89cb9l-he6m"
        },
        {
          "time": "19:53:08",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35557/u-mp89cb9l-he6m"
        },
        {
          "time": "19:53:27",
          "message": "  [i] 회차 제목: 폭식 너무 좋아! 모치즈키 양 21화"
        },
        {
          "time": "19:53:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/001.jpg"
        },
        {
          "time": "19:53:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/002.jpg"
        },
        {
          "time": "19:53:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/003.jpg"
        },
        {
          "time": "19:53:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/004.jpg"
        },
        {
          "time": "19:53:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/005.jpg"
        },
        {
          "time": "19:53:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/006.jpg"
        },
        {
          "time": "19:53:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/007.jpg"
        },
        {
          "time": "19:53:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/008.jpg"
        },
        {
          "time": "19:53:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/009.jpg"
        },
        {
          "time": "19:53:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/010.jpg"
        },
        {
          "time": "19:53:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/011.jpg"
        },
        {
          "time": "19:53:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/012.jpg"
        },
        {
          "time": "19:53:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/013.jpg"
        },
        {
          "time": "19:53:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/014.jpg"
        },
        {
          "time": "19:53:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/015.jpg"
        },
        {
          "time": "19:53:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/016.jpg"
        },
        {
          "time": "19:53:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/017.jpg"
        },
        {
          "time": "19:53:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/018.jpg"
        },
        {
          "time": "19:53:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/019.jpg"
        },
        {
          "time": "19:53:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/020.jpg"
        },
        {
          "time": "19:53:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/021.jpg"
        },
        {
          "time": "19:53:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/022.jpg"
        },
        {
          "time": "19:53:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/023.jpg"
        },
        {
          "time": "19:53:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_35557/ep_025/024.jpg"
        },
        {
          "time": "19:53:50",
          "message": "  [>] 이미지 24/24개 처리 완료.\n"
        },
        {
          "time": "19:53:52",
          "message": "완료: 회차 5개 처리, 이미지 100개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 5)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:43:53",
          "message": "작품 제목: 35557"
        },
        {
          "time": "05:54:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:54:22"
        },
        {
          "time": "05:54:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:35:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #512"
        },
        {
          "time": "23:35:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:36:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메 | 뉴토끼, links=27"
        },
        {
          "time": "23:36:12",
          "message": "작품 제목: 폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메"
        },
        {
          "time": "23:36:12",
          "message": "메타데이터 태그 저장: 마루요노 카모메, 폭식 너무 좋아! 모치즈키 양"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:33:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #88"
        },
        {
          "time": "13:33:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:34:03",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:34:03",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:46:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:46:16"
        },
        {
          "time": "13:46:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:46:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:39:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1461"
        },
        {
          "time": "13:39:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:39:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메 | 뉴토끼, links=27"
        },
        {
          "time": "13:39:43",
          "message": "작품 제목: 폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메"
        },
        {
          "time": "13:39:43",
          "message": "메타데이터 태그 저장: 마루요노 카모메, 폭식 너무 좋아! 모치즈키 양"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:20:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #33"
        },
        {
          "time": "17:20:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:20:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메 | 뉴토끼, links=27"
        },
        {
          "time": "17:20:37",
          "message": "작품 제목: 폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메"
        },
        {
          "time": "17:20:37",
          "message": "메타데이터 태그 저장: 마루요노 카모메, 폭식 너무 좋아! 모치즈키 양"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:26:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #27"
        },
        {
          "time": "14:26:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:27:49",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:27:50",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:27:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #28"
        },
        {
          "time": "14:27:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:27:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메 | 뉴토끼, links=27"
        },
        {
          "time": "14:28:25",
          "message": "작품 제목: 폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메"
        },
        {
          "time": "14:28:26",
          "message": "메타데이터 태그 저장: 마루요노 카모메, 폭식 너무 좋아! 모치즈키 양"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:16:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1243"
        },
        {
          "time": "08:16:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:16:36",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:16:37",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:16:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1244"
        },
        {
          "time": "08:16:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:16:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메 | 뉴토끼, links=27"
        },
        {
          "time": "08:16:52",
          "message": "작품 제목: 폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메"
        },
        {
          "time": "08:16:52",
          "message": "메타데이터 태그 저장: 마루요노 카모메, 폭식 너무 좋아! 모치즈키 양"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35557",
        "target_id": "manhwa_35557",
        "title": "폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메",
        "episodes_found": 25,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 25,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35557",
          "title": "폭식 너무 좋아! 모치즈키 양 - 마루요노 카모메",
          "list_url": "https://newtoki1.org/manhwa/35557",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35557"
          },
          "tags": [
            "마루요노 카모메",
            "폭식 너무 좋아! 모치즈키 양"
          ],
          "description": "기본적으로 21세의 주인공 영업사원 모치즈키 미코토가 폭식을 즐긴다는 미식 만화 같은 내용이다. 모치즈키가 먹는 음식마다 칼로리를 상세히 기록해놓는 게 특징.",
          "metadata_path": "/downloads/manhwa_35557/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 25,
        "total": 25,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "f9b53c28ed",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:25:36",
      "started_at": "2026-06-04T08:15:26",
      "finished_at": "2026-06-04T08:16:14",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/34475",
        "target_id": "manhwa_34475",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "아무하고나 자는 네가 좋아 - 다케다 슈퍼",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:31:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/006.jpg"
        },
        {
          "time": "09:31:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/007.jpg"
        },
        {
          "time": "09:31:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/008.jpg"
        },
        {
          "time": "09:32:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/009.jpg"
        },
        {
          "time": "09:32:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/010.jpg"
        },
        {
          "time": "09:32:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/011.jpg"
        },
        {
          "time": "09:32:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/012.jpg"
        },
        {
          "time": "09:32:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/013.jpg"
        },
        {
          "time": "09:32:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/014.jpg"
        },
        {
          "time": "09:32:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/015.jpg"
        },
        {
          "time": "09:32:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/016.jpg"
        },
        {
          "time": "09:32:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_107/017.jpg"
        },
        {
          "time": "09:32:09",
          "message": "  [>] 이미지 17/17개 처리 완료.\n"
        },
        {
          "time": "09:32:10",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/34475/1816347"
        },
        {
          "time": "09:32:10",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34475/1816347"
        },
        {
          "time": "09:32:29",
          "message": "  [i] 회차 제목: 아무하고나 자는 네가 좋아 97화"
        },
        {
          "time": "09:32:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/001.jpg"
        },
        {
          "time": "09:32:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/002.jpg"
        },
        {
          "time": "09:32:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/003.jpg"
        },
        {
          "time": "09:32:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/004.jpg"
        },
        {
          "time": "09:32:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/005.jpg"
        },
        {
          "time": "09:32:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/006.jpg"
        },
        {
          "time": "09:32:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/007.jpg"
        },
        {
          "time": "09:32:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/008.jpg"
        },
        {
          "time": "09:32:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/009.jpg"
        },
        {
          "time": "09:32:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/010.jpg"
        },
        {
          "time": "09:32:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/011.jpg"
        },
        {
          "time": "09:32:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/012.jpg"
        },
        {
          "time": "09:32:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/013.jpg"
        },
        {
          "time": "09:32:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/014.jpg"
        },
        {
          "time": "09:32:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/015.jpg"
        },
        {
          "time": "09:32:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/016.jpg"
        },
        {
          "time": "09:32:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_108/017.jpg"
        },
        {
          "time": "09:32:43",
          "message": "  [>] 이미지 17/17개 처리 완료.\n"
        },
        {
          "time": "09:32:44",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/34475/1816644"
        },
        {
          "time": "09:32:44",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34475/1816644"
        },
        {
          "time": "09:33:03",
          "message": "  [i] 회차 제목: 아무하고나 자는 네가 좋아 98화"
        },
        {
          "time": "09:33:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/001.jpg"
        },
        {
          "time": "09:33:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/002.jpg"
        },
        {
          "time": "09:33:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/003.jpg"
        },
        {
          "time": "09:33:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/004.jpg"
        },
        {
          "time": "09:33:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/005.jpg"
        },
        {
          "time": "09:33:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/006.jpg"
        },
        {
          "time": "09:33:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/007.jpg"
        },
        {
          "time": "09:33:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/008.jpg"
        },
        {
          "time": "09:33:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/009.jpg"
        },
        {
          "time": "09:33:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/010.png"
        },
        {
          "time": "09:33:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/011.jpg"
        },
        {
          "time": "09:33:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/012.jpg"
        },
        {
          "time": "09:33:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/013.jpg"
        },
        {
          "time": "09:33:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/014.jpg"
        },
        {
          "time": "09:33:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/015.jpg"
        },
        {
          "time": "09:33:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_109/016.jpg"
        },
        {
          "time": "09:33:17",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "09:33:18",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/34475/u-mp6vus3f-4177"
        },
        {
          "time": "09:33:18",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34475/u-mp6vus3f-4177"
        },
        {
          "time": "09:33:36",
          "message": "  [i] 회차 제목: 아무하고나 자는 네가 좋아 99화"
        },
        {
          "time": "09:33:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/001.jpg"
        },
        {
          "time": "09:33:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/002.jpg"
        },
        {
          "time": "09:33:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/003.jpg"
        },
        {
          "time": "09:33:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/004.jpg"
        },
        {
          "time": "09:33:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/005.jpg"
        },
        {
          "time": "09:33:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/006.jpg"
        },
        {
          "time": "09:33:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/007.jpg"
        },
        {
          "time": "09:33:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/008.jpg"
        },
        {
          "time": "09:33:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/009.jpg"
        },
        {
          "time": "09:33:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/010.jpg"
        },
        {
          "time": "09:33:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/011.jpg"
        },
        {
          "time": "09:33:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/012.jpg"
        },
        {
          "time": "09:33:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/013.jpg"
        },
        {
          "time": "09:33:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/014.jpg"
        },
        {
          "time": "09:33:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/015.jpg"
        },
        {
          "time": "09:33:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_110/016.jpg"
        },
        {
          "time": "09:33:50",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "09:33:51",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/34475/u-mp9ybz5b-wbdg"
        },
        {
          "time": "09:33:51",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34475/u-mp9ybz5b-wbdg"
        },
        {
          "time": "09:34:10",
          "message": "  [i] 회차 제목: 아무하고나 자는 네가 좋아 100화"
        },
        {
          "time": "09:34:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/001.jpg"
        },
        {
          "time": "09:34:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/002.jpg"
        },
        {
          "time": "09:34:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/003.jpg"
        },
        {
          "time": "09:34:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/004.jpg"
        },
        {
          "time": "09:34:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/005.jpg"
        },
        {
          "time": "09:34:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/006.jpg"
        },
        {
          "time": "09:34:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/007.jpg"
        },
        {
          "time": "09:34:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/008.jpg"
        },
        {
          "time": "09:34:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/009.jpg"
        },
        {
          "time": "09:34:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/010.jpg"
        },
        {
          "time": "09:34:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/011.jpg"
        },
        {
          "time": "09:34:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/012.jpg"
        },
        {
          "time": "09:34:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_34475/ep_111/013.jpg"
        },
        {
          "time": "09:34:20",
          "message": "  [>] 이미지 13/13개 처리 완료.\n"
        },
        {
          "time": "09:34:21",
          "message": "완료: 회차 111개 처리, 이미지 1752개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 111)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:50:30",
          "message": "작품 제목: 34475"
        },
        {
          "time": "06:00:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:00:40"
        },
        {
          "time": "06:00:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:00:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:35:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #509"
        },
        {
          "time": "23:35:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:35:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아무하고나 자는 네가 좋아 - 다케다 슈퍼 | 뉴토끼, links=114"
        },
        {
          "time": "23:35:16",
          "message": "작품 제목: 아무하고나 자는 네가 좋아 - 다케다 슈퍼"
        },
        {
          "time": "23:35:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #510"
        },
        {
          "time": "23:35:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:35:16",
          "message": "메타데이터 태그 저장: 다케다 슈퍼, 아무하고나 자는 네가 좋아"
        },
        {
          "time": "23:35:16",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:35:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #511"
        },
        {
          "time": "23:35:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:46:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T23:46:10"
        },
        {
          "time": "23:46:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:46:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:08:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #57"
        },
        {
          "time": "13:08:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:08:51",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:08:52",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:19:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:19:01"
        },
        {
          "time": "13:19:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:19:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:31:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1250"
        },
        {
          "time": "10:31:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:31:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아무하고나 자는 네가 좋아 - 다케다 슈퍼 | 뉴토끼, links=114"
        },
        {
          "time": "10:31:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1251"
        },
        {
          "time": "10:31:30",
          "message": "작품 제목: 아무하고나 자는 네가 좋아 - 다케다 슈퍼"
        },
        {
          "time": "10:31:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:31:31",
          "message": "메타데이터 태그 저장: 다케다 슈퍼, 아무하고나 자는 네가 좋아"
        },
        {
          "time": "10:31:31",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "10:31:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아무하고나 자는 네가 좋아 101화 | 뉴토끼, img_tags=53, image_urls=51"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:03:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #55"
        },
        {
          "time": "18:03:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:03:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아무하고나 자는 네가 좋아 - 다케다 슈퍼 | 뉴토끼, links=114"
        },
        {
          "time": "18:03:48",
          "message": "작품 제목: 아무하고나 자는 네가 좋아 - 다케다 슈퍼"
        },
        {
          "time": "18:03:48",
          "message": "메타데이터 태그 저장: 다케다 슈퍼, 아무하고나 자는 네가 좋아"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:41:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #645"
        },
        {
          "time": "13:41:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:42:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아무하고나 자는 네가 좋아 - 다케다 슈퍼 | 뉴토끼, links=115"
        },
        {
          "time": "13:42:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #646"
        },
        {
          "time": "13:42:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:42:31",
          "message": "작품 제목: 아무하고나 자는 네가 좋아 - 다케다 슈퍼"
        },
        {
          "time": "13:42:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아무하고나 자는 네가 좋아 102화 | 뉴토끼, img_tags=44, image_urls=44"
        },
        {
          "time": "13:43:06",
          "message": "메타데이터 태그 저장: 다케다 슈퍼, 아무하고나 자는 네가 좋아"
        },
        {
          "time": "13:43:06",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:15:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1242"
        },
        {
          "time": "08:15:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:16:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아무하고나 자는 네가 좋아 - 다케다 슈퍼 | 뉴토끼, links=115"
        },
        {
          "time": "08:16:13",
          "message": "작품 제목: 아무하고나 자는 네가 좋아 - 다케다 슈퍼"
        },
        {
          "time": "08:16:14",
          "message": "메타데이터 태그 저장: 다케다 슈퍼, 아무하고나 자는 네가 좋아"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34475",
        "target_id": "manhwa_34475",
        "title": "아무하고나 자는 네가 좋아 - 다케다 슈퍼",
        "episodes_found": 113,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 113,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34475",
          "title": "아무하고나 자는 네가 좋아 - 다케다 슈퍼",
          "list_url": "https://newtoki1.org/manhwa/34475",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34475"
          },
          "tags": [
            "다케다 슈퍼",
            "아무하고나 자는 네가 좋아"
          ],
          "description": "클래스 메이트 아가와 씨. 나와 같은 도서 위원으로, 아케라칸으로 하고 있고, 밝고. 어딘가 근육이 다니고 있어 삼키지 않는다. 나같은 그리워하지 않는 녀석에게도 스킨십 많아서 섹스를 정말 좋아한다. 어느 방과후, 나는 빈 교실에서 아가와씨가 누군가라고 하고 있는 곳을 봐 버려--.",
          "metadata_path": "/downloads/manhwa_34475/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 113,
        "total": 113,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "ee2491d2de",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:24:46",
      "started_at": "2026-06-04T08:14:14",
      "finished_at": "2026-06-04T08:15:26",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/35457",
        "target_id": "manhwa_35457",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "레지스터 - 후지마루",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:24:46",
          "message": "작업이 대기열에 추가되었습니다."
        },
        {
          "time": "02:24:54",
          "message": "대기열 순서를 변경했습니다: 44 -> 1"
        },
        {
          "time": "03:44:31",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "03:45:52",
          "message": "기존 완료 기록을 적용합니다: 19개 회차"
        },
        {
          "time": "03:45:52",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "03:46:08",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "03:46:08",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "03:46:08",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "03:46:08",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/35457"
        },
        {
          "time": "03:46:08",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35457"
        },
        {
          "time": "03:46:18",
          "message": "작품 제목: 레지스터 - 후지마루"
        },
        {
          "time": "03:46:18",
          "message": "메타데이터 저장: /downloads/manhwa_35457/metadata.yaml"
        },
        {
          "time": "03:46:18",
          "message": "메타데이터 태그 저장: 레지스터, 후지마루"
        },
        {
          "time": "03:46:18",
          "message": "기존 완료 회차 19개 제외"
        },
        {
          "time": "03:46:18",
          "message": "총 19개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "03:46:18",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:04:41",
          "message": "작품 제목: 35457"
        },
        {
          "time": "06:14:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:14:53"
        },
        {
          "time": "06:14:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:14:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:34:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #508"
        },
        {
          "time": "23:34:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:35:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=레지스터 - 후지마루 | 뉴토끼, links=21"
        },
        {
          "time": "23:35:00",
          "message": "작품 제목: 레지스터 - 후지마루"
        },
        {
          "time": "23:35:00",
          "message": "메타데이터 태그 저장: 레지스터, 후지마루"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #89"
        },
        {
          "time": "13:34:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:34:59",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:34:59",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:46:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:46:16"
        },
        {
          "time": "13:46:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:46:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:39:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1462"
        },
        {
          "time": "13:39:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:39:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=레지스터 - 후지마루 | 뉴토끼, links=21"
        },
        {
          "time": "13:39:59",
          "message": "작품 제목: 레지스터 - 후지마루"
        },
        {
          "time": "13:39:59",
          "message": "메타데이터 태그 저장: 레지스터, 후지마루"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:19:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #32"
        },
        {
          "time": "17:19:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:19:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=레지스터 - 후지마루 | 뉴토끼, links=21"
        },
        {
          "time": "17:19:51",
          "message": "작품 제목: 레지스터 - 후지마루"
        },
        {
          "time": "17:19:52",
          "message": "메타데이터 태그 저장: 레지스터, 후지마루"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:29:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #29"
        },
        {
          "time": "14:29:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:29:23",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:29:23",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:29:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #30"
        },
        {
          "time": "14:29:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:29:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=레지스터 - 후지마루 | 뉴토끼, links=21"
        },
        {
          "time": "14:30:08",
          "message": "작품 제목: 레지스터 - 후지마루"
        },
        {
          "time": "14:30:08",
          "message": "메타데이터 태그 저장: 레지스터, 후지마루"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:14:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1240"
        },
        {
          "time": "08:14:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:15:08",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:15:08",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:15:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1241"
        },
        {
          "time": "08:15:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:15:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=레지스터 - 후지마루 | 뉴토끼, links=21"
        },
        {
          "time": "08:15:23",
          "message": "작품 제목: 레지스터 - 후지마루"
        },
        {
          "time": "08:15:24",
          "message": "메타데이터 태그 저장: 레지스터, 후지마루"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35457",
        "target_id": "manhwa_35457",
        "title": "레지스터 - 후지마루",
        "episodes_found": 19,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 19,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35457",
          "title": "레지스터 - 후지마루",
          "list_url": "https://newtoki1.org/manhwa/35457",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35457"
          },
          "tags": [
            "레지스터",
            "후지마루"
          ],
          "description": "레지스터 (후지마루)",
          "metadata_path": "/downloads/manhwa_35457/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 19,
        "total": 19,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "cfccc87d09",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:24:08",
      "started_at": "2026-06-04T08:13:07",
      "finished_at": "2026-06-04T08:14:14",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/26668",
        "target_id": "manhwa_26668",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "굽고 있는 두 사람 - 하나츠카 시오리",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "07:19:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_151/017.jpg"
        },
        {
          "time": "07:19:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_151/018.jpg"
        },
        {
          "time": "07:19:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_151/019.jpg"
        },
        {
          "time": "07:19:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_151/020.jpg"
        },
        {
          "time": "07:19:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_151/021.jpg"
        },
        {
          "time": "07:20:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_151/022.jpg"
        },
        {
          "time": "07:20:02",
          "message": "  [>] 이미지 22/22개 처리 완료.\n"
        },
        {
          "time": "07:20:03",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/26668/u-mp3zkj6n-8fjl"
        },
        {
          "time": "07:20:03",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/26668/u-mp3zkj6n-8fjl"
        },
        {
          "time": "07:20:13",
          "message": "  [i] 회차 제목: 굽고 있는 두 사람 152화"
        },
        {
          "time": "07:20:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/001.jpg"
        },
        {
          "time": "07:20:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/002.jpg"
        },
        {
          "time": "07:20:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/003.jpg"
        },
        {
          "time": "07:20:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/004.jpg"
        },
        {
          "time": "07:20:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/005.jpg"
        },
        {
          "time": "07:20:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/006.jpg"
        },
        {
          "time": "07:20:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/007.jpg"
        },
        {
          "time": "07:20:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/008.jpg"
        },
        {
          "time": "07:20:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/009.jpg"
        },
        {
          "time": "07:20:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/010.jpg"
        },
        {
          "time": "07:20:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/011.jpg"
        },
        {
          "time": "07:20:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/012.jpg"
        },
        {
          "time": "07:20:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/013.jpg"
        },
        {
          "time": "07:20:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/014.jpg"
        },
        {
          "time": "07:20:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/015.jpg"
        },
        {
          "time": "07:20:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/016.jpg"
        },
        {
          "time": "07:20:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/017.jpg"
        },
        {
          "time": "07:20:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/018.jpg"
        },
        {
          "time": "07:20:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/019.jpg"
        },
        {
          "time": "07:20:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/020.jpg"
        },
        {
          "time": "07:20:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/021.jpg"
        },
        {
          "time": "07:20:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/022.jpg"
        },
        {
          "time": "07:20:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_152/023.jpg"
        },
        {
          "time": "07:20:33",
          "message": "  [>] 이미지 23/23개 처리 완료.\n"
        },
        {
          "time": "07:20:35",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/26668/u-mpdte9o4-wspq"
        },
        {
          "time": "07:20:35",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/26668/u-mpdte9o4-wspq"
        },
        {
          "time": "07:20:43",
          "message": "  [i] 회차 제목: 굽고 있는 두 사람 153화"
        },
        {
          "time": "07:20:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/001.jpg"
        },
        {
          "time": "07:20:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/002.jpg"
        },
        {
          "time": "07:20:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/003.jpg"
        },
        {
          "time": "07:20:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/004.jpg"
        },
        {
          "time": "07:20:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/005.jpg"
        },
        {
          "time": "07:20:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/006.jpg"
        },
        {
          "time": "07:20:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/007.jpg"
        },
        {
          "time": "07:20:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/008.jpg"
        },
        {
          "time": "07:20:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/009.jpg"
        },
        {
          "time": "07:20:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/010.jpg"
        },
        {
          "time": "07:20:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/011.jpg"
        },
        {
          "time": "07:20:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/012.jpg"
        },
        {
          "time": "07:20:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/013.jpg"
        },
        {
          "time": "07:20:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/014.jpg"
        },
        {
          "time": "07:20:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/015.jpg"
        },
        {
          "time": "07:20:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_26668/ep_153/016.jpg"
        },
        {
          "time": "07:20:57",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "07:20:58",
          "message": "완료: 회차 5개 처리, 이미지 93개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 5)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:01:58",
          "message": "작품 제목: 26668"
        },
        {
          "time": "06:12:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:12:25"
        },
        {
          "time": "06:12:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:12:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:30:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #497"
        },
        {
          "time": "23:30:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:30:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 - 하나츠카 시오리 | 뉴토끼, links=160"
        },
        {
          "time": "23:30:43",
          "message": "작품 제목: 굽고 있는 두 사람 - 하나츠카 시오리"
        },
        {
          "time": "23:30:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #498"
        },
        {
          "time": "23:30:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:30:43",
          "message": "메타데이터 태그 저장: 굽고 있는 두 사람, 하나츠카 시오리"
        },
        {
          "time": "23:30:43",
          "message": "순회 계획을 저장했습니다: 5개 회차"
        },
        {
          "time": "23:31:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #499"
        },
        {
          "time": "23:31:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:31:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #500"
        },
        {
          "time": "23:31:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:31:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #501"
        },
        {
          "time": "23:31:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:32:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #502"
        },
        {
          "time": "23:32:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:32:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #503"
        },
        {
          "time": "23:32:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:32:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #504"
        },
        {
          "time": "23:32:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:33:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #505"
        },
        {
          "time": "23:33:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:34:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #506"
        },
        {
          "time": "23:34:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:34:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #507"
        },
        {
          "time": "23:34:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:45:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T23:45:49"
        },
        {
          "time": "23:45:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:45:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:07:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #56"
        },
        {
          "time": "13:07:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:07:31",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:08:06",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:18:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:18:16"
        },
        {
          "time": "13:18:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:18:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:22:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1240"
        },
        {
          "time": "10:22:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:22:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 - 하나츠카 시오리 | 뉴토끼, links=161"
        },
        {
          "time": "10:22:54",
          "message": "작품 제목: 굽고 있는 두 사람 - 하나츠카 시오리"
        },
        {
          "time": "10:22:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1241"
        },
        {
          "time": "10:22:54",
          "message": "메타데이터 태그 저장: 굽고 있는 두 사람, 하나츠카 시오리"
        },
        {
          "time": "10:22:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:23:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 154화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "10:23:46",
          "message": "순회 계획을 저장했습니다: 6개 회차"
        },
        {
          "time": "10:23:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1242"
        },
        {
          "time": "10:24:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:24:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1243"
        },
        {
          "time": "10:24:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:24:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 155화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "10:25:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1244"
        },
        {
          "time": "10:25:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:26:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1245"
        },
        {
          "time": "10:26:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:26:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 156화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "10:27:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1246"
        },
        {
          "time": "10:27:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:27:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 157화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "10:28:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1247"
        },
        {
          "time": "10:28:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:28:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 158화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "10:28:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1248"
        },
        {
          "time": "10:28:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:29:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1249"
        },
        {
          "time": "10:29:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:29:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 159화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:03:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #56"
        },
        {
          "time": "18:03:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:04:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 - 하나츠카 시오리 | 뉴토끼, links=162"
        },
        {
          "time": "18:04:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #57"
        },
        {
          "time": "18:04:05",
          "message": "작품 제목: 굽고 있는 두 사람 - 하나츠카 시오리"
        },
        {
          "time": "18:04:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:04:05",
          "message": "메타데이터 태그 저장: 굽고 있는 두 사람, 하나츠카 시오리"
        },
        {
          "time": "18:04:05",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "18:04:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 160화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:41:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #644"
        },
        {
          "time": "13:41:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:41:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 - 하나츠카 시오리 | 뉴토끼, links=162"
        },
        {
          "time": "13:41:23",
          "message": "작품 제목: 굽고 있는 두 사람 - 하나츠카 시오리"
        },
        {
          "time": "13:41:23",
          "message": "메타데이터 태그 저장: 굽고 있는 두 사람, 하나츠카 시오리"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:13:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1239"
        },
        {
          "time": "08:13:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:13:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=굽고 있는 두 사람 - 하나츠카 시오리 | 뉴토끼, links=162"
        },
        {
          "time": "08:14:13",
          "message": "작품 제목: 굽고 있는 두 사람 - 하나츠카 시오리"
        },
        {
          "time": "08:14:14",
          "message": "메타데이터 태그 저장: 굽고 있는 두 사람, 하나츠카 시오리"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_26668",
        "target_id": "manhwa_26668",
        "title": "굽고 있는 두 사람 - 하나츠카 시오리",
        "episodes_found": 160,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 160,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_26668",
          "title": "굽고 있는 두 사람 - 하나츠카 시오리",
          "list_url": "https://newtoki1.org/manhwa/26668",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/26668"
          },
          "tags": [
            "굽고 있는 두 사람",
            "하나츠카 시오리"
          ],
          "description": "30살 엔지니어 후쿠야마 켄타,결혼은 하고싶지만 만남이 없다....라는건 핑계잖아.친구에게 그런 말을 듣고 매칭 어플을 시작했다.",
          "metadata_path": "/downloads/manhwa_26668/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 160,
        "total": 160,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "59eb6600e9",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:24:02",
      "started_at": "2026-06-04T08:11:34",
      "finished_at": "2026-06-04T08:13:06",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/26014",
        "target_id": "manhwa_26014",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "균과 철 - 카타야마 아야카",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:24:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/008.jpg"
        },
        {
          "time": "08:24:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/009.jpg"
        },
        {
          "time": "08:24:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/010.jpg"
        },
        {
          "time": "08:25:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/011.jpg"
        },
        {
          "time": "08:25:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/012.jpg"
        },
        {
          "time": "08:25:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/013.jpg"
        },
        {
          "time": "08:25:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/014.jpg"
        },
        {
          "time": "08:25:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/015.jpg"
        },
        {
          "time": "08:25:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/016.jpg"
        },
        {
          "time": "08:25:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/017.jpg"
        },
        {
          "time": "08:25:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/018.jpg"
        },
        {
          "time": "08:25:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/019.jpg"
        },
        {
          "time": "08:25:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/020.jpg"
        },
        {
          "time": "08:25:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/021.jpg"
        },
        {
          "time": "08:25:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/022.jpg"
        },
        {
          "time": "08:25:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/023.jpg"
        },
        {
          "time": "08:25:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/024.jpg"
        },
        {
          "time": "08:25:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/025.jpg"
        },
        {
          "time": "08:25:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/026.jpg"
        },
        {
          "time": "08:25:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/027.jpg"
        },
        {
          "time": "08:25:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/028.jpg"
        },
        {
          "time": "08:25:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/029.jpg"
        },
        {
          "time": "08:25:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_051/030.jpg"
        },
        {
          "time": "08:25:35",
          "message": "  [>] 이미지 30/30개 처리 완료.\n"
        },
        {
          "time": "08:25:37",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/26014/u-mp58f3zr-ylkt"
        },
        {
          "time": "08:25:37",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/26014/u-mp58f3zr-ylkt"
        },
        {
          "time": "08:25:57",
          "message": "  [i] 회차 제목: 균과 철 42화"
        },
        {
          "time": "08:25:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/001.jpg"
        },
        {
          "time": "08:25:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/002.jpg"
        },
        {
          "time": "08:25:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/003.jpg"
        },
        {
          "time": "08:26:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/004.jpg"
        },
        {
          "time": "08:26:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/005.jpg"
        },
        {
          "time": "08:26:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/006.jpg"
        },
        {
          "time": "08:26:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/007.jpg"
        },
        {
          "time": "08:26:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/008.jpg"
        },
        {
          "time": "08:26:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/009.jpg"
        },
        {
          "time": "08:26:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/010.jpg"
        },
        {
          "time": "08:26:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/011.jpg"
        },
        {
          "time": "08:26:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/012.jpg"
        },
        {
          "time": "08:26:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/013.jpg"
        },
        {
          "time": "08:26:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/014.jpg"
        },
        {
          "time": "08:26:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/015.jpg"
        },
        {
          "time": "08:26:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/016.jpg"
        },
        {
          "time": "08:26:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/017.jpg"
        },
        {
          "time": "08:26:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/018.jpg"
        },
        {
          "time": "08:26:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/019.jpg"
        },
        {
          "time": "08:26:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/020.jpg"
        },
        {
          "time": "08:26:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/021.jpg"
        },
        {
          "time": "08:26:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/022.jpg"
        },
        {
          "time": "08:26:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/023.jpg"
        },
        {
          "time": "08:26:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/024.jpg"
        },
        {
          "time": "08:26:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/025.jpg"
        },
        {
          "time": "08:26:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/026.jpg"
        },
        {
          "time": "08:26:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/027.jpg"
        },
        {
          "time": "08:26:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/028.jpg"
        },
        {
          "time": "08:26:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/029.jpg"
        },
        {
          "time": "08:26:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/030.jpg"
        },
        {
          "time": "08:26:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/031.jpg"
        },
        {
          "time": "08:26:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_052/032.jpg"
        },
        {
          "time": "08:26:31",
          "message": "  [>] 이미지 32/32개 처리 완료.\n"
        },
        {
          "time": "08:26:32",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/26014/u-mpdthsji-kttg"
        },
        {
          "time": "08:26:32",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/26014/u-mpdthsji-kttg"
        },
        {
          "time": "08:26:50",
          "message": "  [i] 회차 제목: 균과 철 43화"
        },
        {
          "time": "08:26:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/001.jpg"
        },
        {
          "time": "08:26:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/002.jpg"
        },
        {
          "time": "08:26:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/003.jpg"
        },
        {
          "time": "08:26:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/004.jpg"
        },
        {
          "time": "08:26:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/005.jpg"
        },
        {
          "time": "08:26:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/006.jpg"
        },
        {
          "time": "08:26:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/007.jpg"
        },
        {
          "time": "08:26:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/008.jpg"
        },
        {
          "time": "08:26:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/009.jpg"
        },
        {
          "time": "08:26:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/010.jpg"
        },
        {
          "time": "08:27:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/011.jpg"
        },
        {
          "time": "08:27:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/012.jpg"
        },
        {
          "time": "08:27:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/013.jpg"
        },
        {
          "time": "08:27:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/014.jpg"
        },
        {
          "time": "08:27:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/015.jpg"
        },
        {
          "time": "08:27:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/016.jpg"
        },
        {
          "time": "08:27:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/017.jpg"
        },
        {
          "time": "08:27:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/018.jpg"
        },
        {
          "time": "08:27:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/019.jpg"
        },
        {
          "time": "08:27:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/020.jpg"
        },
        {
          "time": "08:27:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/021.jpg"
        },
        {
          "time": "08:27:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/022.jpg"
        },
        {
          "time": "08:27:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/023.jpg"
        },
        {
          "time": "08:27:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/024.jpg"
        },
        {
          "time": "08:27:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/025.jpg"
        },
        {
          "time": "08:27:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/026.jpg"
        },
        {
          "time": "08:27:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/027.jpg"
        },
        {
          "time": "08:27:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/028.jpg"
        },
        {
          "time": "08:27:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/029.jpg"
        },
        {
          "time": "08:27:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/030.jpg"
        },
        {
          "time": "08:27:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/031.jpg"
        },
        {
          "time": "08:27:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/032.jpg"
        },
        {
          "time": "08:27:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/033.jpg"
        },
        {
          "time": "08:27:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/034.jpg"
        },
        {
          "time": "08:27:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/035.jpg"
        },
        {
          "time": "08:27:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/036.jpg"
        },
        {
          "time": "08:27:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/037.jpg"
        },
        {
          "time": "08:27:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_26014/ep_053/038.jpg"
        },
        {
          "time": "08:27:31",
          "message": "  [>] 이미지 38/38개 처리 완료.\n"
        },
        {
          "time": "08:27:32",
          "message": "완료: 회차 53개 처리, 이미지 1442개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 53)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:51:12",
          "message": "작품 제목: 26014"
        },
        {
          "time": "06:01:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:01:52"
        },
        {
          "time": "06:01:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:01:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:29:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #496"
        },
        {
          "time": "23:29:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:29:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=균과 철 - 카타야마 아야카 | 뉴토끼, links=55"
        },
        {
          "time": "23:30:28",
          "message": "작품 제목: 균과 철 - 카타야마 아야카"
        },
        {
          "time": "23:30:28",
          "message": "메타데이터 태그 저장: 균과 철, 카타야마 아야카"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:36:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #90"
        },
        {
          "time": "13:36:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:36:26",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:36:26",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:46:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:46:37"
        },
        {
          "time": "13:46:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:46:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:40:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1463"
        },
        {
          "time": "13:40:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:40:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=균과 철 - 카타야마 아야카 | 뉴토끼, links=55"
        },
        {
          "time": "13:40:16",
          "message": "작품 제목: 균과 철 - 카타야마 아야카"
        },
        {
          "time": "13:40:16",
          "message": "메타데이터 태그 저장: 균과 철, 카타야마 아야카"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:18:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #31"
        },
        {
          "time": "17:18:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:19:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=균과 철 - 카타야마 아야카 | 뉴토끼, links=55"
        },
        {
          "time": "17:19:35",
          "message": "작품 제목: 균과 철 - 카타야마 아야카"
        },
        {
          "time": "17:19:36",
          "message": "메타데이터 태그 저장: 균과 철, 카타야마 아야카"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:30:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #31"
        },
        {
          "time": "14:30:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:31:40",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:31:40",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:31:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #32"
        },
        {
          "time": "14:31:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:31:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=균과 철 - 카타야마 아야카 | 뉴토끼, links=55"
        },
        {
          "time": "14:32:37",
          "message": "작품 제목: 균과 철 - 카타야마 아야카"
        },
        {
          "time": "14:32:37",
          "message": "메타데이터 태그 저장: 균과 철, 카타야마 아야카"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:12:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1238"
        },
        {
          "time": "08:12:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:13:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=균과 철 - 카타야마 아야카 | 뉴토끼, links=55"
        },
        {
          "time": "08:13:05",
          "message": "작품 제목: 균과 철 - 카타야마 아야카"
        },
        {
          "time": "08:13:05",
          "message": "메타데이터 태그 저장: 균과 철, 카타야마 아야카"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_26014",
        "target_id": "manhwa_26014",
        "title": "균과 철 - 카타야마 아야카",
        "episodes_found": 53,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 53,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_26014",
          "title": "균과 철 - 카타야마 아야카",
          "list_url": "https://newtoki1.org/manhwa/26014",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/26014"
          },
          "tags": [
            "균과 철",
            "카타야마 아야카"
          ],
          "description": "[아미가사]라고 하는 세계 정부에 의 해 인류는 지배당하고 있었다.완전한 관리사회 그것을 어지럽히는건 단 한명..단테뿐이었다",
          "metadata_path": "/downloads/manhwa_26014/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 53,
        "total": 53,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "e8be77ed0f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:23:09",
      "started_at": "2026-06-04T08:10:15",
      "finished_at": "2026-06-04T08:11:34",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/36611",
        "target_id": "manhwa_36611",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "하이미야 선배는 무섭지만 귀여워 - 카미야마 스무",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "07:18:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_020/004.jpg"
        },
        {
          "time": "07:18:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_020/005.jpg"
        },
        {
          "time": "07:18:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_020/006.jpg"
        },
        {
          "time": "07:18:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_020/007.jpg"
        },
        {
          "time": "07:18:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_020/008.jpg"
        },
        {
          "time": "07:18:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_020/009.jpg"
        },
        {
          "time": "07:18:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_020/010.jpg"
        },
        {
          "time": "07:18:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_020/011.jpg"
        },
        {
          "time": "07:18:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_020/012.jpg"
        },
        {
          "time": "07:18:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_020/013.jpg"
        },
        {
          "time": "07:18:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_020/014.jpg"
        },
        {
          "time": "07:18:52",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "07:18:53",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/36611/1815857"
        },
        {
          "time": "07:18:53",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/36611/1815857"
        },
        {
          "time": "07:19:11",
          "message": "  [i] 회차 제목: 하이미야 선배는 무섭지만 귀여워 25화 하이미야 선배는 무…만 귀여워 25화"
        },
        {
          "time": "07:19:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/001.jpg"
        },
        {
          "time": "07:19:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/002.jpg"
        },
        {
          "time": "07:19:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/003.jpg"
        },
        {
          "time": "07:19:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/004.jpg"
        },
        {
          "time": "07:19:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/005.jpg"
        },
        {
          "time": "07:19:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/006.jpg"
        },
        {
          "time": "07:19:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/007.jpg"
        },
        {
          "time": "07:19:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/008.jpg"
        },
        {
          "time": "07:19:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/009.jpg"
        },
        {
          "time": "07:19:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/010.jpg"
        },
        {
          "time": "07:19:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/011.jpg"
        },
        {
          "time": "07:19:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/012.jpg"
        },
        {
          "time": "07:19:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/013.jpg"
        },
        {
          "time": "07:19:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/014.jpg"
        },
        {
          "time": "07:19:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/015.jpg"
        },
        {
          "time": "07:19:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/016.jpg"
        },
        {
          "time": "07:19:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/017.jpg"
        },
        {
          "time": "07:19:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/018.jpg"
        },
        {
          "time": "07:19:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/019.jpg"
        },
        {
          "time": "07:19:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/020.jpg"
        },
        {
          "time": "07:19:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_021/021.jpg"
        },
        {
          "time": "07:19:33",
          "message": "  [>] 이미지 21/21개 처리 완료.\n"
        },
        {
          "time": "07:19:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/36611/1816852"
        },
        {
          "time": "07:19:34",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/36611/1816852"
        },
        {
          "time": "07:19:52",
          "message": "  [i] 회차 제목: 하이미야 선배는 무섭지만 귀여워 26화 하이미야 선배는 무…만 귀여워 26화"
        },
        {
          "time": "07:19:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/001.jpg"
        },
        {
          "time": "07:19:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/002.jpg"
        },
        {
          "time": "07:19:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/003.jpg"
        },
        {
          "time": "07:19:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/004.jpg"
        },
        {
          "time": "07:19:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/005.jpg"
        },
        {
          "time": "07:19:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/006.jpg"
        },
        {
          "time": "07:19:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/007.jpg"
        },
        {
          "time": "07:19:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/008.jpg"
        },
        {
          "time": "07:20:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/009.jpg"
        },
        {
          "time": "07:20:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/010.jpg"
        },
        {
          "time": "07:20:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/011.jpg"
        },
        {
          "time": "07:20:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/012.jpg"
        },
        {
          "time": "07:20:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/013.jpg"
        },
        {
          "time": "07:20:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/014.jpg"
        },
        {
          "time": "07:20:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/015.jpg"
        },
        {
          "time": "07:20:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/016.jpg"
        },
        {
          "time": "07:20:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_022/017.jpg"
        },
        {
          "time": "07:20:08",
          "message": "  [>] 이미지 17/17개 처리 완료.\n"
        },
        {
          "time": "07:20:10",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/36611/u-mpfcs8rb-1ta0"
        },
        {
          "time": "07:20:10",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/36611/u-mpfcs8rb-1ta0"
        },
        {
          "time": "07:20:28",
          "message": "  [i] 회차 제목: 하이미야 선배는 무섭지만 귀여워 27화"
        },
        {
          "time": "07:20:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/001.jpg"
        },
        {
          "time": "07:20:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/002.jpg"
        },
        {
          "time": "07:20:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/003.jpg"
        },
        {
          "time": "07:20:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/004.jpg"
        },
        {
          "time": "07:20:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/005.jpg"
        },
        {
          "time": "07:20:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/006.jpg"
        },
        {
          "time": "07:20:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/007.jpg"
        },
        {
          "time": "07:20:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/008.jpg"
        },
        {
          "time": "07:20:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/009.jpg"
        },
        {
          "time": "07:20:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/010.jpg"
        },
        {
          "time": "07:20:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/011.jpg"
        },
        {
          "time": "07:20:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/012.jpg"
        },
        {
          "time": "07:20:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/013.jpg"
        },
        {
          "time": "07:20:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/014.jpg"
        },
        {
          "time": "07:20:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/015.jpg"
        },
        {
          "time": "07:20:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/016.jpg"
        },
        {
          "time": "07:20:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/017.jpg"
        },
        {
          "time": "07:20:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/018.jpg"
        },
        {
          "time": "07:20:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_023/019.jpg"
        },
        {
          "time": "07:20:44",
          "message": "  [>] 이미지 19/19개 처리 완료.\n"
        },
        {
          "time": "07:20:45",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/36611/u-mpfct12m-7gmj"
        },
        {
          "time": "07:20:45",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/36611/u-mpfct12m-7gmj"
        },
        {
          "time": "07:21:04",
          "message": "  [i] 회차 제목: 하이미야 선배는 무섭지만 귀여워 28화"
        },
        {
          "time": "07:21:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/001.jpg"
        },
        {
          "time": "07:21:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/002.jpg"
        },
        {
          "time": "07:21:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/003.jpg"
        },
        {
          "time": "07:21:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/004.jpg"
        },
        {
          "time": "07:21:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/005.jpg"
        },
        {
          "time": "07:21:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/006.jpg"
        },
        {
          "time": "07:21:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/007.jpg"
        },
        {
          "time": "07:21:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/008.jpg"
        },
        {
          "time": "07:21:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/009.jpg"
        },
        {
          "time": "07:21:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/010.jpg"
        },
        {
          "time": "07:21:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/011.jpg"
        },
        {
          "time": "07:21:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/012.jpg"
        },
        {
          "time": "07:21:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/013.jpg"
        },
        {
          "time": "07:21:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/014.jpg"
        },
        {
          "time": "07:21:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/015.jpg"
        },
        {
          "time": "07:21:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/016.jpg"
        },
        {
          "time": "07:21:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_36611/ep_024/017.jpg"
        },
        {
          "time": "07:21:20",
          "message": "  [>] 이미지 17/17개 처리 완료.\n"
        },
        {
          "time": "07:21:21",
          "message": "완료: 회차 24개 처리, 이미지 369개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 24)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:51:58",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:47:38",
          "message": "작품 제목: 36611"
        },
        {
          "time": "12:58:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:58:36"
        },
        {
          "time": "12:58:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:58:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:28:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #495"
        },
        {
          "time": "23:28:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:29:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하이미야 선배는 무섭지만 귀여워 - 카미야마 스무 | 뉴토끼, links=26"
        },
        {
          "time": "23:29:09",
          "message": "작품 제목: 하이미야 선배는 무섭지만 귀여워 - 카미야마 스무"
        },
        {
          "time": "23:29:09",
          "message": "메타데이터 태그 저장: 카미야마 스무, 하이미야 선배는 무섭지만 귀여워"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:36:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #91"
        },
        {
          "time": "13:36:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:36:47",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:37:17",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:47:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:47:32"
        },
        {
          "time": "13:47:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:47:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:40:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1464"
        },
        {
          "time": "13:40:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:40:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하이미야 선배는 무섭지만 귀여워 - 카미야마 스무 | 뉴토끼, links=26"
        },
        {
          "time": "13:40:31",
          "message": "작품 제목: 하이미야 선배는 무섭지만 귀여워 - 카미야마 스무"
        },
        {
          "time": "13:40:31",
          "message": "메타데이터 태그 저장: 카미야마 스무, 하이미야 선배는 무섭지만 귀여워"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:18:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #30"
        },
        {
          "time": "17:18:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:18:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하이미야 선배는 무섭지만 귀여워 - 카미야마 스무 | 뉴토끼, links=26"
        },
        {
          "time": "17:18:47",
          "message": "작품 제목: 하이미야 선배는 무섭지만 귀여워 - 카미야마 스무"
        },
        {
          "time": "17:18:47",
          "message": "메타데이터 태그 저장: 카미야마 스무, 하이미야 선배는 무섭지만 귀여워"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:32:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #33"
        },
        {
          "time": "14:32:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:33:32",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:33:32",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:33:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #34"
        },
        {
          "time": "14:33:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:33:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하이미야 선배는 무섭지만 귀여워 - 카미야마 스무 | 뉴토끼, links=26"
        },
        {
          "time": "14:34:03",
          "message": "작품 제목: 하이미야 선배는 무섭지만 귀여워 - 카미야마 스무"
        },
        {
          "time": "14:34:04",
          "message": "메타데이터 태그 저장: 카미야마 스무, 하이미야 선배는 무섭지만 귀여워"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:10:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1237"
        },
        {
          "time": "08:10:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:11:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하이미야 선배는 무섭지만 귀여워 - 카미야마 스무 | 뉴토끼, links=26"
        },
        {
          "time": "08:11:33",
          "message": "작품 제목: 하이미야 선배는 무섭지만 귀여워 - 카미야마 스무"
        },
        {
          "time": "08:11:33",
          "message": "메타데이터 태그 저장: 카미야마 스무, 하이미야 선배는 무섭지만 귀여워"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:18",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_36611",
        "target_id": "manhwa_36611",
        "title": "하이미야 선배는 무섭지만 귀여워 - 카미야마 스무",
        "episodes_found": 24,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 24,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_36611",
          "title": "하이미야 선배는 무섭지만 귀여워 - 카미야마 스무",
          "list_url": "https://newtoki1.org/manhwa/36611",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/36611"
          },
          "tags": [
            "카미야마 스무",
            "하이미야 선배는 무섭지만 귀여워"
          ],
          "description": "우리 학교에 있는 하이미야 선배는 무섭다고 두려움의 대상이 되고 있다. 그 이유는, 그 강한 인상과 거침없는 말투가 원인인 듯한데… 잔뜩 뚫은 피어싱! 회색 롱 울프컷!! 그리고 위압감 있는 간사이벤!!! 하지만, 그런 무서운 선배가 왜인지 나에게만은 다정하게 대해준다――?! “무서워”",
          "metadata_path": "/downloads/manhwa_36611/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 24,
        "total": 24,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "9bc4a72eb6",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:21:32",
      "started_at": "2026-06-04T08:09:01",
      "finished_at": "2026-06-04T08:10:15",
      "config": {
        "list_url": "https://newtoki1.org/webtoon/17433",
        "target_id": "webtoon_17433",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "두 번은 안 당해 - UMS",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "06:57:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_081/047.webp"
        },
        {
          "time": "06:57:42",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_081/048.webp"
        },
        {
          "time": "06:57:42",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_081/049.webp"
        },
        {
          "time": "06:57:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_081/050.webp"
        },
        {
          "time": "06:57:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_081/051.webp"
        },
        {
          "time": "06:57:45",
          "message": "  [>] 이미지 51/51개 처리 완료.\n"
        },
        {
          "time": "06:57:46",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/17433/tt-It_wont_happen_twice-82"
        },
        {
          "time": "06:57:46",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/17433/tt-It_wont_happen_twice-82"
        },
        {
          "time": "06:58:06",
          "message": "  [i] 회차 제목: 두 번은 안 당해 2화 82화 최종화 - 모두를 지킨 두 번째 삶"
        },
        {
          "time": "06:58:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/001.webp"
        },
        {
          "time": "06:58:08",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/002.webp"
        },
        {
          "time": "06:58:09",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/003.webp"
        },
        {
          "time": "06:58:10",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/004.webp"
        },
        {
          "time": "06:58:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/005.webp"
        },
        {
          "time": "06:58:12",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/006.webp"
        },
        {
          "time": "06:58:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/007.webp"
        },
        {
          "time": "06:58:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/008.webp"
        },
        {
          "time": "06:58:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/009.webp"
        },
        {
          "time": "06:58:15",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/010.webp"
        },
        {
          "time": "06:58:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/011.webp"
        },
        {
          "time": "06:58:17",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/012.webp"
        },
        {
          "time": "06:58:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/013.webp"
        },
        {
          "time": "06:58:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/014.webp"
        },
        {
          "time": "06:58:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/015.webp"
        },
        {
          "time": "06:58:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/016.webp"
        },
        {
          "time": "06:58:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/017.webp"
        },
        {
          "time": "06:58:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/018.webp"
        },
        {
          "time": "06:58:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/019.webp"
        },
        {
          "time": "06:58:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/020.webp"
        },
        {
          "time": "06:58:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/021.webp"
        },
        {
          "time": "06:58:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/022.webp"
        },
        {
          "time": "06:58:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/023.webp"
        },
        {
          "time": "06:58:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/024.webp"
        },
        {
          "time": "06:58:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/025.webp"
        },
        {
          "time": "06:58:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/026.webp"
        },
        {
          "time": "06:58:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/027.webp"
        },
        {
          "time": "06:58:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/028.webp"
        },
        {
          "time": "06:58:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/029.webp"
        },
        {
          "time": "06:58:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/030.webp"
        },
        {
          "time": "06:58:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/031.webp"
        },
        {
          "time": "06:58:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/032.webp"
        },
        {
          "time": "06:58:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/033.webp"
        },
        {
          "time": "06:58:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/034.webp"
        },
        {
          "time": "06:58:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/035.webp"
        },
        {
          "time": "06:58:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/036.webp"
        },
        {
          "time": "06:58:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/037.webp"
        },
        {
          "time": "06:58:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/038.webp"
        },
        {
          "time": "06:58:40",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/039.webp"
        },
        {
          "time": "06:58:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/040.webp"
        },
        {
          "time": "06:58:42",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/041.webp"
        },
        {
          "time": "06:58:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/042.webp"
        },
        {
          "time": "06:58:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/043.webp"
        },
        {
          "time": "06:58:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/044.webp"
        },
        {
          "time": "06:58:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/045.webp"
        },
        {
          "time": "06:58:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/046.webp"
        },
        {
          "time": "06:58:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/047.webp"
        },
        {
          "time": "06:58:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/048.webp"
        },
        {
          "time": "06:58:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/049.webp"
        },
        {
          "time": "06:58:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/050.webp"
        },
        {
          "time": "06:58:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/051.webp"
        },
        {
          "time": "06:58:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/052.webp"
        },
        {
          "time": "06:58:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/053.webp"
        },
        {
          "time": "06:58:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/054.webp"
        },
        {
          "time": "06:58:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/055.webp"
        },
        {
          "time": "06:58:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/056.webp"
        },
        {
          "time": "06:58:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/057.webp"
        },
        {
          "time": "06:58:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/058.webp"
        },
        {
          "time": "06:58:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/059.webp"
        },
        {
          "time": "06:59:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/060.webp"
        },
        {
          "time": "06:59:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_082/061.webp"
        },
        {
          "time": "06:59:02",
          "message": "  [>] 이미지 61/61개 처리 완료.\n"
        },
        {
          "time": "06:59:03",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/17433/tt-It_wont_happen_twice-e0"
        },
        {
          "time": "06:59:03",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/17433/tt-It_wont_happen_twice-e0"
        },
        {
          "time": "06:59:23",
          "message": "  [i] 회차 제목: 두 번은 안 당해 1화 에필로그 - 후기"
        },
        {
          "time": "06:59:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/001.webp"
        },
        {
          "time": "06:59:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/002.webp"
        },
        {
          "time": "06:59:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/003.webp"
        },
        {
          "time": "06:59:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/004.webp"
        },
        {
          "time": "06:59:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/005.webp"
        },
        {
          "time": "06:59:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/006.webp"
        },
        {
          "time": "06:59:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/007.webp"
        },
        {
          "time": "06:59:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/008.webp"
        },
        {
          "time": "06:59:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/009.webp"
        },
        {
          "time": "06:59:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/010.webp"
        },
        {
          "time": "06:59:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/011.webp"
        },
        {
          "time": "06:59:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/012.webp"
        },
        {
          "time": "06:59:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/013.webp"
        },
        {
          "time": "06:59:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/014.webp"
        },
        {
          "time": "06:59:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/015.webp"
        },
        {
          "time": "06:59:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/016.webp"
        },
        {
          "time": "06:59:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/017.webp"
        },
        {
          "time": "06:59:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/018.webp"
        },
        {
          "time": "06:59:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_17433/ep_083/019.webp"
        },
        {
          "time": "06:59:40",
          "message": "  [>] 이미지 19/19개 처리 완료.\n"
        },
        {
          "time": "06:59:41",
          "message": "완료: 회차 83개 처리, 이미지 4044개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 83)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:52:26",
          "message": "작품 제목: 17433"
        },
        {
          "time": "06:02:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:02:38"
        },
        {
          "time": "06:02:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:02:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:28:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #494"
        },
        {
          "time": "23:28:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:28:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=두 번은 안 당해 - UMS | 뉴토끼, links=85"
        },
        {
          "time": "23:28:52",
          "message": "작품 제목: 두 번은 안 당해 - UMS"
        },
        {
          "time": "23:28:52",
          "message": "메타데이터 태그 저장: UMS, 두 번은 안 당해, 드라마, 성인"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:37:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #92"
        },
        {
          "time": "13:37:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:37:39",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:37:39",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:48:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:48:28"
        },
        {
          "time": "13:48:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:48:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:41:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1465"
        },
        {
          "time": "13:41:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:41:26",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "13:41:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1466"
        },
        {
          "time": "13:41:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:41:42",
          "message": "작품 제목: 17433"
        },
        {
          "time": "13:41:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=두 번은 안 당해 - UMS | 뉴토끼, links=85"
        },
        {
          "time": "13:41:50",
          "message": "작품 제목: 두 번은 안 당해 - UMS"
        },
        {
          "time": "13:41:50",
          "message": "메타데이터 태그 저장: UMS, 두 번은 안 당해, 드라마, 성인"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:18:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #29"
        },
        {
          "time": "17:18:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:18:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=두 번은 안 당해 - UMS | 뉴토끼, links=85"
        },
        {
          "time": "17:18:31",
          "message": "작품 제목: 두 번은 안 당해 - UMS"
        },
        {
          "time": "17:18:31",
          "message": "메타데이터 태그 저장: UMS, 두 번은 안 당해, 드라마, 성인"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:36:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #37"
        },
        {
          "time": "14:36:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:36:47",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:36:48",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:36:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #38"
        },
        {
          "time": "14:36:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:37:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=두 번은 안 당해 - UMS | 뉴토끼, links=85"
        },
        {
          "time": "14:37:04",
          "message": "작품 제목: 두 번은 안 당해 - UMS"
        },
        {
          "time": "14:37:05",
          "message": "메타데이터 태그 저장: UMS, 두 번은 안 당해, 드라마, 성인"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:09:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1235"
        },
        {
          "time": "08:09:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:10:00",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:10:00",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:10:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1236"
        },
        {
          "time": "08:10:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:10:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=두 번은 안 당해 - UMS | 뉴토끼, links=85"
        },
        {
          "time": "08:10:13",
          "message": "작품 제목: 두 번은 안 당해 - UMS"
        },
        {
          "time": "08:10:14",
          "message": "메타데이터 태그 저장: UMS, 두 번은 안 당해, 드라마, 성인"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_17433",
        "target_id": "webtoon_17433",
        "title": "두 번은 안 당해 - UMS",
        "episodes_found": 83,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 83,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_17433",
          "title": "두 번은 안 당해 - UMS",
          "list_url": "https://newtoki1.org/webtoon/17433",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/17433"
          },
          "tags": [
            "UMS",
            "두 번은 안 당해",
            "드라마",
            "성인"
          ],
          "description": "두 번은 안 당해 (UMS) [탑툰] #드라마 #성인",
          "metadata_path": "/downloads/webtoon_17433/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 83,
        "total": 83,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "00be7e1b0d",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-23T02:19:23",
      "started_at": "2026-06-04T08:07:54",
      "finished_at": "2026-06-04T08:09:01",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/24552",
        "target_id": "manhwa_24552",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "browser_ad_blocking": false,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "이세계 소프랜드 카구야 - 이노쿠마 시노부",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "05:16:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/013.jpg"
        },
        {
          "time": "05:16:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/014.jpg"
        },
        {
          "time": "05:16:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/015.jpg"
        },
        {
          "time": "05:16:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/016.jpg"
        },
        {
          "time": "05:16:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/017.jpg"
        },
        {
          "time": "05:16:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/018.jpg"
        },
        {
          "time": "05:16:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/019.jpg"
        },
        {
          "time": "05:16:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/020.jpg"
        },
        {
          "time": "05:16:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/021.jpg"
        },
        {
          "time": "05:16:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/022.jpg"
        },
        {
          "time": "05:16:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/023.jpg"
        },
        {
          "time": "05:16:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_034/024.jpg"
        },
        {
          "time": "05:16:39",
          "message": "  [>] 이미지 24/24개 처리 완료.\n"
        },
        {
          "time": "05:16:41",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/24552/1776171"
        },
        {
          "time": "05:16:41",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/24552/1776171"
        },
        {
          "time": "05:17:00",
          "message": "  [i] 회차 제목: 이세계 소프랜드 카구야 27화"
        },
        {
          "time": "05:17:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/001.jpg"
        },
        {
          "time": "05:17:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/002.jpg"
        },
        {
          "time": "05:17:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/003.jpg"
        },
        {
          "time": "05:17:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/004.jpg"
        },
        {
          "time": "05:17:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/005.jpg"
        },
        {
          "time": "05:17:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/006.jpg"
        },
        {
          "time": "05:17:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/007.jpg"
        },
        {
          "time": "05:17:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/008.jpg"
        },
        {
          "time": "05:17:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/009.jpg"
        },
        {
          "time": "05:17:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/010.jpg"
        },
        {
          "time": "05:17:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/011.jpg"
        },
        {
          "time": "05:17:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/012.jpg"
        },
        {
          "time": "05:17:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/013.jpg"
        },
        {
          "time": "05:17:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/014.jpg"
        },
        {
          "time": "05:17:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/015.jpg"
        },
        {
          "time": "05:17:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/016.jpg"
        },
        {
          "time": "05:17:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/017.jpg"
        },
        {
          "time": "05:17:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_035/018.jpg"
        },
        {
          "time": "05:17:19",
          "message": "  [>] 이미지 18/18개 처리 완료.\n"
        },
        {
          "time": "05:17:20",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/24552/1776346"
        },
        {
          "time": "05:17:20",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/24552/1776346"
        },
        {
          "time": "05:17:38",
          "message": "  [i] 회차 제목: 이세계 소프랜드 카구야 28화"
        },
        {
          "time": "05:17:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/001.jpg"
        },
        {
          "time": "05:17:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/002.jpg"
        },
        {
          "time": "05:17:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/003.jpg"
        },
        {
          "time": "05:17:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/004.jpg"
        },
        {
          "time": "05:17:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/005.jpg"
        },
        {
          "time": "05:17:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/006.jpg"
        },
        {
          "time": "05:17:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/007.jpg"
        },
        {
          "time": "05:17:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/008.jpg"
        },
        {
          "time": "05:17:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/009.jpg"
        },
        {
          "time": "05:17:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/010.jpg"
        },
        {
          "time": "05:17:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/011.jpg"
        },
        {
          "time": "05:17:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/012.jpg"
        },
        {
          "time": "05:17:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/013.jpg"
        },
        {
          "time": "05:17:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/014.jpg"
        },
        {
          "time": "05:17:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/015.jpg"
        },
        {
          "time": "05:17:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/016.jpg"
        },
        {
          "time": "05:17:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/017.jpg"
        },
        {
          "time": "05:19:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/018.jpg"
        },
        {
          "time": "05:19:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/019.jpg"
        },
        {
          "time": "05:19:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/020.jpg"
        },
        {
          "time": "05:19:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/021.jpg"
        },
        {
          "time": "05:19:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/022.jpg"
        },
        {
          "time": "05:19:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/023.jpg"
        },
        {
          "time": "05:19:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_036/024.jpg"
        },
        {
          "time": "05:19:16",
          "message": "  [>] 이미지 24/24개 처리 완료.\n"
        },
        {
          "time": "05:19:17",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/24552/1776533"
        },
        {
          "time": "05:19:17",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/24552/1776533"
        },
        {
          "time": "05:19:44",
          "message": "  [i] 회차 제목: 이세계 소프랜드 카구야 29화"
        },
        {
          "time": "05:19:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/001.jpg"
        },
        {
          "time": "05:19:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/002.jpg"
        },
        {
          "time": "05:19:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/003.jpg"
        },
        {
          "time": "05:19:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/004.jpg"
        },
        {
          "time": "05:19:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/005.jpg"
        },
        {
          "time": "05:19:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/006.jpg"
        },
        {
          "time": "05:19:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/007.jpg"
        },
        {
          "time": "05:19:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/008.jpg"
        },
        {
          "time": "05:19:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/009.jpg"
        },
        {
          "time": "05:19:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/010.jpg"
        },
        {
          "time": "05:19:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/011.jpg"
        },
        {
          "time": "05:19:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/012.jpg"
        },
        {
          "time": "05:19:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/013.jpg"
        },
        {
          "time": "05:19:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/014.jpg"
        },
        {
          "time": "05:19:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/015.jpg"
        },
        {
          "time": "05:20:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/016.jpg"
        },
        {
          "time": "05:20:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/017.jpg"
        },
        {
          "time": "05:20:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/018.jpg"
        },
        {
          "time": "05:20:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/019.jpg"
        },
        {
          "time": "05:20:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/020.jpg"
        },
        {
          "time": "05:20:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/021.jpg"
        },
        {
          "time": "05:20:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/022.jpg"
        },
        {
          "time": "05:20:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/023.jpg"
        },
        {
          "time": "05:20:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/024.jpg"
        },
        {
          "time": "05:20:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/025.jpg"
        },
        {
          "time": "05:20:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/026.jpg"
        },
        {
          "time": "05:20:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/027.jpg"
        },
        {
          "time": "05:20:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/028.jpg"
        },
        {
          "time": "05:20:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/029.jpg"
        },
        {
          "time": "05:20:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/030.jpg"
        },
        {
          "time": "05:20:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_24552/ep_037/031.jpg"
        },
        {
          "time": "05:20:16",
          "message": "  [>] 이미지 31/31개 처리 완료.\n"
        },
        {
          "time": "05:20:17",
          "message": "완료: 회차 37개 처리, 이미지 1050개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 37)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:53:05",
          "message": "작품 제목: 24552"
        },
        {
          "time": "06:03:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:03:24"
        },
        {
          "time": "06:03:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:03:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:28:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #493"
        },
        {
          "time": "23:28:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:28:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 소프랜드 카구야 - 이노쿠마 시노부 | 뉴토끼, links=39"
        },
        {
          "time": "23:28:37",
          "message": "작품 제목: 이세계 소프랜드 카구야 - 이노쿠마 시노부"
        },
        {
          "time": "23:28:37",
          "message": "메타데이터 태그 저장: 이노쿠마 시노부, 이세계 소프랜드 카구야"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:38:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #93"
        },
        {
          "time": "13:38:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:38:34",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:38:34",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:48:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:48:49"
        },
        {
          "time": "13:48:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:48:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:42:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1467"
        },
        {
          "time": "13:42:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:42:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 소프랜드 카구야 - 이노쿠마 시노부 | 뉴토끼, links=39"
        },
        {
          "time": "13:42:38",
          "message": "작품 제목: 이세계 소프랜드 카구야 - 이노쿠마 시노부"
        },
        {
          "time": "13:42:38",
          "message": "메타데이터 태그 저장: 이노쿠마 시노부, 이세계 소프랜드 카구야"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:17:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #28"
        },
        {
          "time": "17:17:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:18:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 소프랜드 카구야 - 이노쿠마 시노부 | 뉴토끼, links=39"
        },
        {
          "time": "17:18:14",
          "message": "작품 제목: 이세계 소프랜드 카구야 - 이노쿠마 시노부"
        },
        {
          "time": "17:18:14",
          "message": "메타데이터 태그 저장: 이노쿠마 시노부, 이세계 소프랜드 카구야"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:37:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #39"
        },
        {
          "time": "14:37:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:37:28",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:37:28",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:37:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #40"
        },
        {
          "time": "14:37:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:37:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 소프랜드 카구야 - 이노쿠마 시노부 | 뉴토끼, links=39"
        },
        {
          "time": "14:37:42",
          "message": "작품 제목: 이세계 소프랜드 카구야 - 이노쿠마 시노부"
        },
        {
          "time": "14:37:43",
          "message": "메타데이터 태그 저장: 이노쿠마 시노부, 이세계 소프랜드 카구야"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:07:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1233"
        },
        {
          "time": "08:07:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:08:48",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:08:48",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:08:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1234"
        },
        {
          "time": "08:08:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:08:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 소프랜드 카구야 - 이노쿠마 시노부 | 뉴토끼, links=39"
        },
        {
          "time": "08:08:59",
          "message": "작품 제목: 이세계 소프랜드 카구야 - 이노쿠마 시노부"
        },
        {
          "time": "08:09:00",
          "message": "메타데이터 태그 저장: 이노쿠마 시노부, 이세계 소프랜드 카구야"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_24552",
        "target_id": "manhwa_24552",
        "title": "이세계 소프랜드 카구야 - 이노쿠마 시노부",
        "episodes_found": 37,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 37,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_24552",
          "title": "이세계 소프랜드 카구야 - 이노쿠마 시노부",
          "list_url": "https://newtoki1.org/manhwa/24552",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/24552"
          },
          "tags": [
            "이노쿠마 시노부",
            "이세계 소프랜드 카구야"
          ],
          "description": "이세계 에로 판타지 개막!과거부터 용에 의한 피해에 시달렸던 왕국 토무르.그곳의 용사가 자주 찾는다는 가게 카구야.그 누구도 쉽게 생각할 수 없었던이세계 장르와 소프랜드의 콜라보.용사와 업소 아가씨의 전투(?)는그렇게 전설의 된다!",
          "metadata_path": "/downloads/manhwa_24552/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 37,
        "total": 37,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "40f8970d2b",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:54:05",
      "started_at": "2026-06-04T08:05:00",
      "finished_at": "2026-06-04T08:07:54",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/34911",
        "target_id": "manhwa_34911",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "여사친은 부탁하면 의외로 대준다 - 로쿠로",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:52:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:52:31"
        },
        {
          "time": "08:52:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:52:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:52:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:52:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:02:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:02:39"
        },
        {
          "time": "09:02:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:02:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:02:58",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:03:01",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:13:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:13:19"
        },
        {
          "time": "09:13:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:13:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:14:19",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:14:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:24:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:24:56"
        },
        {
          "time": "09:24:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:24:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:26:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:26:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:36:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:36:52"
        },
        {
          "time": "09:36:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:36:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:37:24",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:37:27",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:47:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:47:32"
        },
        {
          "time": "09:47:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:47:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:48:38",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:48:54",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:59:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:59:55"
        },
        {
          "time": "09:59:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:59:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:01:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:02:23",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:12:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:12:26"
        },
        {
          "time": "10:12:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:12:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:15:16",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:15:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:25:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:25:52"
        },
        {
          "time": "10:25:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:25:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:25:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:25:56",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:36:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:36:26"
        },
        {
          "time": "10:36:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:36:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:37:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:37:57",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:48:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:48:01"
        },
        {
          "time": "10:48:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:48:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:48:02",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:48:05",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:58:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:58:06"
        },
        {
          "time": "10:58:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:58:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:58:08",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:58:43",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:08:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:08:52"
        },
        {
          "time": "11:08:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:08:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:10:39",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:10:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:21:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:21:15"
        },
        {
          "time": "11:21:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:21:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:21:15",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:21:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:32:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:32:25"
        },
        {
          "time": "11:32:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:32:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:32:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:33:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:43:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:43:41"
        },
        {
          "time": "11:43:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:43:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:43:46",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:43:49",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:54:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:54:11"
        },
        {
          "time": "11:54:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:54:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:55:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:55:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:06:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:06:03"
        },
        {
          "time": "12:06:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:06:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:06:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:06:44",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:17:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:17:13"
        },
        {
          "time": "12:17:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:17:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:17:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:17:17",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:28:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:27:43"
        },
        {
          "time": "12:28:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:28:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:05",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:26:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #490"
        },
        {
          "time": "23:26:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:27:04",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "23:27:05",
          "message": "작품 제목: 34911"
        },
        {
          "time": "23:27:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #491"
        },
        {
          "time": "23:27:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:27:25",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=404: This page could not be found., links=0"
        },
        {
          "time": "23:27:25",
          "message": "작품 제목: 404: This page could not be found."
        },
        {
          "time": "23:27:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #492"
        },
        {
          "time": "23:27:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:27:46",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=404: This page could not be found., links=0"
        },
        {
          "time": "23:28:20",
          "message": "작품 제목: 404: This page could not be found."
        },
        {
          "time": "23:39:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T23:39:06"
        },
        {
          "time": "23:39:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:39:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:05:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #55"
        },
        {
          "time": "13:05:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:06:08",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:06:08",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:16:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:16:53"
        },
        {
          "time": "13:16:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:16:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:21:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1239"
        },
        {
          "time": "10:22:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:22:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여사친은 부탁하면 의외로 대준다 - 로쿠로 | 뉴토끼, links=38"
        },
        {
          "time": "10:22:04",
          "message": "작품 제목: 여사친은 부탁하면 의외로 대준다 - 로쿠로"
        },
        {
          "time": "10:22:04",
          "message": "메타데이터 태그 저장: 로쿠로, 여사친은 부탁하면 의외로 대준다"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:05:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #58"
        },
        {
          "time": "18:05:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:05:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여사친은 부탁하면 의외로 대준다 - 로쿠로 | 뉴토끼, links=38"
        },
        {
          "time": "18:05:56",
          "message": "작품 제목: 여사친은 부탁하면 의외로 대준다 - 로쿠로"
        },
        {
          "time": "18:05:56",
          "message": "메타데이터 태그 저장: 로쿠로, 여사친은 부탁하면 의외로 대준다"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:38:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #642"
        },
        {
          "time": "13:38:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:39:16",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:39:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #643"
        },
        {
          "time": "13:39:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:39:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여사친은 부탁하면 의외로 대준다 - 로쿠로 | 뉴토끼, links=38"
        },
        {
          "time": "13:40:32",
          "message": "작품 제목: 여사친은 부탁하면 의외로 대준다 - 로쿠로"
        },
        {
          "time": "13:40:33",
          "message": "메타데이터 태그 저장: 로쿠로, 여사친은 부탁하면 의외로 대준다"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:05:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1231"
        },
        {
          "time": "08:05:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:06:30",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:06:41",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:07:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1232"
        },
        {
          "time": "08:07:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:07:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여사친은 부탁하면 의외로 대준다 - 로쿠로 | 뉴토끼, links=38"
        },
        {
          "time": "08:07:52",
          "message": "작품 제목: 여사친은 부탁하면 의외로 대준다 - 로쿠로"
        },
        {
          "time": "08:07:53",
          "message": "메타데이터 태그 저장: 로쿠로, 여사친은 부탁하면 의외로 대준다"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34911",
        "target_id": "manhwa_34911",
        "title": "여사친은 부탁하면 의외로 대준다 - 로쿠로",
        "episodes_found": 36,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 36,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34911",
          "title": "여사친은 부탁하면 의외로 대준다 - 로쿠로",
          "list_url": "https://newtoki1.org/manhwa/34911",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34911"
          },
          "tags": [
            "로쿠로",
            "여사친은 부탁하면 의외로 대준다"
          ],
          "description": "나는 여친이 아니라 친구, 뭐야?, `제발 팬티 보여줘!!` `미, 보면 어떡해!?` 학교 제일의 미소녀 갤 하즈키 아오이와 평범한 고등학교 1학년 미나토 슈야. 두 집은 같은 아파트에서 같은 고등학교를 다니고 방과후에는 서로의 집을 오갈 정도로 친한 친구 사이. 언제나처럼 단둘이",
          "metadata_path": "/downloads/manhwa_34911/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 36,
        "total": 36,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "beb56f7014",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:49:00",
      "started_at": "2026-06-04T08:03:23",
      "finished_at": "2026-06-04T08:05:00",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35549",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35549",
        "viewer_image_mode": "auto",
        "display_title": "온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:28:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:29:00",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:29:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:39:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:39:11"
        },
        {
          "time": "08:39:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:39:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:42:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:42:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:52:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:52:35"
        },
        {
          "time": "08:52:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:52:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:52:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:53:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:03:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:03:11"
        },
        {
          "time": "09:03:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:03:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:03:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:03:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:14:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:14:05"
        },
        {
          "time": "09:14:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:14:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:14:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:14:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:24:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:24:56"
        },
        {
          "time": "09:24:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:24:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:26:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:26:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:36:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:36:52"
        },
        {
          "time": "09:36:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:36:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:37:28",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:38:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:48:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:48:38"
        },
        {
          "time": "09:48:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:48:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:48:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:48:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:59:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:59:55"
        },
        {
          "time": "09:59:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:59:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:02:24",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:02:59",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:13:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:13:03"
        },
        {
          "time": "10:13:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:13:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:15:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:16:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:26:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:26:26"
        },
        {
          "time": "10:26:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:26:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:26:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:27:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:37:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:37:17"
        },
        {
          "time": "10:37:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:37:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:37:58",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:38:01",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:48:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:48:01"
        },
        {
          "time": "10:48:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:48:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:48:06",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:49:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:59:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:59:10"
        },
        {
          "time": "10:59:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:59:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:59:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:59:44",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:09:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:09:59"
        },
        {
          "time": "11:09:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:09:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:10:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:11:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:21:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:21:51"
        },
        {
          "time": "11:21:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:21:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:21:51",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:22:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:32:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:32:46"
        },
        {
          "time": "11:32:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:32:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:33:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:33:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:43:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:43:41"
        },
        {
          "time": "11:43:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:43:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:43:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:44:27",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:54:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:54:47"
        },
        {
          "time": "11:54:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:54:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:55:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:55:34",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:06:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:06:03"
        },
        {
          "time": "12:06:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:06:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:06:44",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:07:19",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:17:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:17:19"
        },
        {
          "time": "12:17:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:17:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:17:20",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:17:27",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:31:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:31:21"
        },
        {
          "time": "12:31:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:31:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:05",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:23:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #488"
        },
        {
          "time": "23:23:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:23:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치 | 뉴토끼, links=9"
        },
        {
          "time": "23:23:18",
          "message": "작품 제목: 온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치"
        },
        {
          "time": "23:23:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #489"
        },
        {
          "time": "23:23:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:23:48",
          "message": "메타데이터 태그 저장: 온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다, 자구치"
        },
        {
          "time": "23:23:48",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:23:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 6-2화 | 뉴토끼, images=40"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:38:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #94"
        },
        {
          "time": "13:38:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:38:55",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:39:25",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:50:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:50:05"
        },
        {
          "time": "13:50:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:50:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:42:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1468"
        },
        {
          "time": "13:42:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:42:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치 | 뉴토끼, links=9"
        },
        {
          "time": "13:42:53",
          "message": "작품 제목: 온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치"
        },
        {
          "time": "13:42:53",
          "message": "메타데이터 태그 저장: 온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다, 자구치"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:17:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #27"
        },
        {
          "time": "17:17:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:17:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치 | 뉴토끼, links=9"
        },
        {
          "time": "17:17:58",
          "message": "작품 제목: 온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치"
        },
        {
          "time": "17:17:58",
          "message": "메타데이터 태그 저장: 온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다, 자구치"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:38:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #41"
        },
        {
          "time": "14:38:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:38:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치 | 뉴토끼, links=9"
        },
        {
          "time": "14:39:26",
          "message": "작품 제목: 온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치"
        },
        {
          "time": "14:39:26",
          "message": "메타데이터 태그 저장: 온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다, 자구치"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:03:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1229"
        },
        {
          "time": "08:03:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:04:17",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:04:17",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:04:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1230"
        },
        {
          "time": "08:04:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:04:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치 | 뉴토끼, links=9"
        },
        {
          "time": "08:04:58",
          "message": "작품 제목: 온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치"
        },
        {
          "time": "08:04:59",
          "message": "메타데이터 태그 저장: 온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다, 자구치"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35549",
        "target_id": "manhwa_35549",
        "title": "온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치",
        "episodes_found": 7,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 7,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35549",
          "title": "온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다 - 자구치",
          "list_url": "https://newtoki1.org/manhwa/35549",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35549"
          },
          "tags": [
            "온라인 수업이 되자 반에서 제일 예쁜 미소녀와 동거하게 됐다",
            "자구치"
          ],
          "description": "어떤 감염병이 만연한 탓에 기숙사가 폐쇄되어 망연자실해 있던 고등학생 요시노 카나타는, 한밤중에 공원에서 혼자 휴대폰을 휘두르는 기행을 보이는 반에서 제일 예쁜 미소녀 호시카와 하루카와 마주친다. 기계치라서 인터넷 접속 방법을 모르겠다는 호시카와의 도움 요청에 집을 방문한 요시노였지만,",
          "metadata_path": "/downloads/manhwa_35549/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 7,
        "total": 7,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3eee0bf8cf",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:48:09",
      "started_at": "2026-06-04T08:01:18",
      "finished_at": "2026-06-04T08:03:23",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35414",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35414",
        "viewer_image_mode": "auto",
        "display_title": "연애수업 - 타카하시 츠바사",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "12:26:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/017.png"
        },
        {
          "time": "12:26:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/018.png"
        },
        {
          "time": "12:26:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/019.png"
        },
        {
          "time": "12:26:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/020.png"
        },
        {
          "time": "12:26:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/021.png"
        },
        {
          "time": "12:26:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/022.png"
        },
        {
          "time": "12:26:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/023.png"
        },
        {
          "time": "12:26:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/024.png"
        },
        {
          "time": "12:26:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/025.png"
        },
        {
          "time": "12:26:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/026.png"
        },
        {
          "time": "12:26:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/027.png"
        },
        {
          "time": "12:26:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/028.png"
        },
        {
          "time": "12:26:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/029.png"
        },
        {
          "time": "12:26:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_35414/ep_007/030.png"
        },
        {
          "time": "12:26:45",
          "message": "  [>] 이미지 30개 처리 완료.\n"
        },
        {
          "time": "12:26:46",
          "message": "완료: 회차 7개 처리, 이미지 289개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 7)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 7)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:44:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:44:07",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:54:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:54:08"
        },
        {
          "time": "06:54:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:54:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:54:20",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:54:23",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:04:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:04:38"
        },
        {
          "time": "07:04:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:04:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:07:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:07:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:17:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:17:57"
        },
        {
          "time": "07:17:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:17:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:18:03",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:18:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:28:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:28:11"
        },
        {
          "time": "07:28:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:28:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:30:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:30:57",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:41:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:41:25"
        },
        {
          "time": "07:41:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:41:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:41:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:42:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:52:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:52:36"
        },
        {
          "time": "07:52:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:52:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:54:01",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:54:04",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:04:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:04:12"
        },
        {
          "time": "08:04:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:04:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:06:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:07:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:17:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:17:20"
        },
        {
          "time": "08:17:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:17:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:17:33",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:17:36",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:28:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:28:00"
        },
        {
          "time": "08:28:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:28:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:29:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:29:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:39:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:39:11"
        },
        {
          "time": "08:39:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:39:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:42:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:42:39",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:53:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:53:11"
        },
        {
          "time": "08:53:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:53:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:53:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:53:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:03:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:03:46"
        },
        {
          "time": "09:03:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:03:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:03:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:03:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:14:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:14:05"
        },
        {
          "time": "09:14:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:14:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:14:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:15:02",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:25:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:25:06"
        },
        {
          "time": "09:25:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:25:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:26:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:26:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:36:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:36:52"
        },
        {
          "time": "09:36:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:36:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:38:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:38:39",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:48:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:48:54"
        },
        {
          "time": "09:48:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:48:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:48:59",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:49:02",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:59:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:59:55"
        },
        {
          "time": "09:59:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:59:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:03:00",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:03:19",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:13:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:13:20"
        },
        {
          "time": "10:13:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:13:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:16:34",
          "message": "[!] 전체 중지 요청을 받았습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:22:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #487"
        },
        {
          "time": "23:22:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:23:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연애수업 - 타카하시 츠바사 | 뉴토끼, links=9"
        },
        {
          "time": "23:23:03",
          "message": "작품 제목: 연애수업 - 타카하시 츠바사"
        },
        {
          "time": "23:23:03",
          "message": "메타데이터 태그 저장: 연애수업, 타카하시 츠바사"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:39:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #95"
        },
        {
          "time": "13:39:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:39:47",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:39:47",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:50:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:50:05"
        },
        {
          "time": "13:50:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:50:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:42:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1469"
        },
        {
          "time": "13:42:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:43:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연애수업 - 타카하시 츠바사 | 뉴토끼, links=9"
        },
        {
          "time": "13:43:10",
          "message": "작품 제목: 연애수업 - 타카하시 츠바사"
        },
        {
          "time": "13:43:10",
          "message": "메타데이터 태그 저장: 연애수업, 타카하시 츠바사"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:17:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #26"
        },
        {
          "time": "17:17:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:17:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연애수업 - 타카하시 츠바사 | 뉴토끼, links=9"
        },
        {
          "time": "17:17:42",
          "message": "작품 제목: 연애수업 - 타카하시 츠바사"
        },
        {
          "time": "17:17:42",
          "message": "메타데이터 태그 저장: 연애수업, 타카하시 츠바사"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:39:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #42"
        },
        {
          "time": "14:39:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:40:22",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:40:22",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:40:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #43"
        },
        {
          "time": "14:40:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:40:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연애수업 - 타카하시 츠바사 | 뉴토끼, links=9"
        },
        {
          "time": "14:41:03",
          "message": "작품 제목: 연애수업 - 타카하시 츠바사"
        },
        {
          "time": "14:41:04",
          "message": "메타데이터 태그 저장: 연애수업, 타카하시 츠바사"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:02:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1228"
        },
        {
          "time": "08:02:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:03:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연애수업 - 타카하시 츠바사 | 뉴토끼, links=9"
        },
        {
          "time": "08:03:21",
          "message": "작품 제목: 연애수업 - 타카하시 츠바사"
        },
        {
          "time": "08:03:22",
          "message": "메타데이터 태그 저장: 연애수업, 타카하시 츠바사"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35414",
        "target_id": "manhwa_35414",
        "title": "연애수업 - 타카하시 츠바사",
        "episodes_found": 7,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 7,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35414",
          "title": "연애수업 - 타카하시 츠바사",
          "list_url": "https://newtoki1.org/manhwa/35414",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35414"
          },
          "tags": [
            "연애수업",
            "타카하시 츠바사"
          ],
          "description": "20××년, 연애 교육법 성립. 저출산 대책으로 '연애'가 필수 과목이 되었다. 여자에게 트라우마가 있는 고등학생·진노 보름달은, 어머니 때문에 낙제 직전에 빠진다. 동경의 히로인·나나세 아이에 접근할 수 없는 것인지, 그렇게 생각한 화살 앞, 같이 연애락 제생의 소꿉친구·아키아와 아카",
          "metadata_path": "/downloads/manhwa_35414/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 7,
        "total": 7,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "480be13f1c",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:46:35",
      "started_at": "2026-06-04T07:59:55",
      "finished_at": "2026-06-04T08:01:17",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/36850",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_36850",
        "viewer_image_mode": "auto",
        "display_title": "이상적인 여친 - 모리마리모",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "07:17:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:17:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:18:08",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:18:43",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:29:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:29:03"
        },
        {
          "time": "07:29:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:29:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:30:58",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:31:01",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:41:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:41:25"
        },
        {
          "time": "07:41:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:41:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:42:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:42:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:53:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:53:17"
        },
        {
          "time": "07:53:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:53:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:54:05",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:54:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:04:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:04:12"
        },
        {
          "time": "08:04:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:04:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:07:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:07:15",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:17:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:17:20"
        },
        {
          "time": "08:17:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:17:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:17:37",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:17:40",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:28:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:28:00"
        },
        {
          "time": "08:28:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:28:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:29:09",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:29:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:39:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:39:52"
        },
        {
          "time": "08:39:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:39:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:42:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:42:43",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:53:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:53:11"
        },
        {
          "time": "08:53:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:53:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:53:42",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:53:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:03:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:03:46"
        },
        {
          "time": "09:03:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:03:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:03:51",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:04:27",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:15:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:15:02"
        },
        {
          "time": "09:15:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:15:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:15:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:15:07",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:26:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:26:12"
        },
        {
          "time": "09:26:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:26:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:26:29",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:26:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:36:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:36:52"
        },
        {
          "time": "09:36:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:36:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:38:39",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:38:43",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:48:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:48:54"
        },
        {
          "time": "09:48:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:48:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:49:03",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:49:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:59:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:59:55"
        },
        {
          "time": "09:59:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:59:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:03:20",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:03:24",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:13:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:13:25"
        },
        {
          "time": "10:13:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:13:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:16:34",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:09:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #476"
        },
        {
          "time": "23:09:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:10:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 - 모리마리모 | 뉴토끼, links=39"
        },
        {
          "time": "23:10:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #477"
        },
        {
          "time": "23:10:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:10:11",
          "message": "작품 제목: 이상적인 여친 - 모리마리모"
        },
        {
          "time": "23:10:11",
          "message": "메타데이터 태그 저장: 모리마리모, 이상적인 여친"
        },
        {
          "time": "23:10:12",
          "message": "순회 계획을 저장했습니다: 6개 회차"
        },
        {
          "time": "23:10:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 31화 | 뉴토끼, images=31"
        },
        {
          "time": "23:11:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #478"
        },
        {
          "time": "23:11:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:12:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #479"
        },
        {
          "time": "23:12:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:12:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 32화 | 뉴토끼, images=32"
        },
        {
          "time": "23:13:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #480"
        },
        {
          "time": "23:13:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:14:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #481"
        },
        {
          "time": "23:14:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:15:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #482"
        },
        {
          "time": "23:15:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:15:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 34화 | 뉴토끼, images=37"
        },
        {
          "time": "23:18:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #483"
        },
        {
          "time": "23:18:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:18:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #484"
        },
        {
          "time": "23:18:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:18:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 35화 | 뉴토끼, images=40"
        },
        {
          "time": "23:21:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #485"
        },
        {
          "time": "23:21:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:21:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #486"
        },
        {
          "time": "23:21:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:21:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 36화 | 뉴토끼, images=33"
        },
        {
          "time": "23:34:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T23:34:44"
        },
        {
          "time": "23:34:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:34:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:04:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #54"
        },
        {
          "time": "13:04:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:05:16",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:05:16",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:15:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:15:32"
        },
        {
          "time": "13:15:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:15:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:19:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1235"
        },
        {
          "time": "10:19:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:19:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 - 모리마리모 | 뉴토끼, links=40"
        },
        {
          "time": "10:20:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1236"
        },
        {
          "time": "10:20:00",
          "message": "작품 제목: 이상적인 여친 - 모리마리모"
        },
        {
          "time": "10:20:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:20:00",
          "message": "메타데이터 태그 저장: 모리마리모, 이상적인 여친"
        },
        {
          "time": "10:20:00",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "10:20:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 33화 | 뉴토끼, img_tags=35, image_urls=35"
        },
        {
          "time": "10:20:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1237"
        },
        {
          "time": "10:20:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:21:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1238"
        },
        {
          "time": "10:21:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:21:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 37화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:05:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #59"
        },
        {
          "time": "18:05:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:06:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 - 모리마리모 | 뉴토끼, links=40"
        },
        {
          "time": "18:06:10",
          "message": "작품 제목: 이상적인 여친 - 모리마리모"
        },
        {
          "time": "18:06:10",
          "message": "메타데이터 태그 저장: 모리마리모, 이상적인 여친"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:37:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #641"
        },
        {
          "time": "13:37:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:38:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 - 모리마리모 | 뉴토끼, links=40"
        },
        {
          "time": "13:38:34",
          "message": "작품 제목: 이상적인 여친 - 모리마리모"
        },
        {
          "time": "13:38:35",
          "message": "메타데이터 태그 저장: 모리마리모, 이상적인 여친"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:01:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1227"
        },
        {
          "time": "08:01:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:01:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이상적인 여친 - 모리마리모 | 뉴토끼, links=40"
        },
        {
          "time": "08:01:16",
          "message": "작품 제목: 이상적인 여친 - 모리마리모"
        },
        {
          "time": "08:01:17",
          "message": "메타데이터 태그 저장: 모리마리모, 이상적인 여친"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_36850",
        "target_id": "manhwa_36850",
        "title": "이상적인 여친 - 모리마리모",
        "episodes_found": 38,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 38,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_36850",
          "title": "이상적인 여친 - 모리마리모",
          "list_url": "https://newtoki1.org/manhwa/36850",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/36850"
          },
          "tags": [
            "모리마리모",
            "이상적인 여친"
          ],
          "description": "`내 옆에서 걷는 사라 양은 아무튼 눈에 띈다. 스쳐 지나가는 남자 10명 중 10명이 돌아볼 수준으로... 그런 모두가 선망하는 아가씨와 나는 사귀고 있다.`",
          "metadata_path": "/downloads/manhwa_36850/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 38,
        "total": 38,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "a5db535f41",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:45:37",
      "started_at": "2026-06-04T07:59:17",
      "finished_at": "2026-06-04T07:59:55",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/16977",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_16977",
        "viewer_image_mode": "auto",
        "display_title": "엘리트 여사원의 성욕 처리 방법 - 우메미야 코우",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "10:00:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:00:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:04:01",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:04:04",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:14:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:14:35"
        },
        {
          "time": "10:14:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:14:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:16:34",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:41:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #446"
        },
        {
          "time": "22:41:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:42:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 - 우메미야 코우 | 뉴토끼, links=20"
        },
        {
          "time": "22:42:00",
          "message": "작품 제목: 엘리트 여사원의 성욕 처리 방법 - 우메미야 코우"
        },
        {
          "time": "22:42:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #447"
        },
        {
          "time": "22:42:00",
          "message": "메타데이터 태그 저장: 드라마, 성인, 엘리트 여사원의 성욕 처리 방법, 우메미야 코우"
        },
        {
          "time": "22:42:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:42:01",
          "message": "순회 계획을 저장했습니다: 16개 회차"
        },
        {
          "time": "22:42:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #448"
        },
        {
          "time": "22:42:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:42:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #449"
        },
        {
          "time": "22:42:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:43:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #450"
        },
        {
          "time": "22:43:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:44:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #451"
        },
        {
          "time": "22:44:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:44:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #452"
        },
        {
          "time": "22:44:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:45:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #453"
        },
        {
          "time": "22:45:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:45:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #454"
        },
        {
          "time": "22:45:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:46:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #455"
        },
        {
          "time": "22:46:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:46:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #456"
        },
        {
          "time": "22:46:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:47:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #457"
        },
        {
          "time": "22:47:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:47:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #458"
        },
        {
          "time": "22:47:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:47:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #459"
        },
        {
          "time": "22:47:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:47:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 11화 8화 | 뉴토끼, images=48"
        },
        {
          "time": "22:51:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #460"
        },
        {
          "time": "22:51:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:51:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #461"
        },
        {
          "time": "22:51:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:51:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 10화 9화 | 뉴토끼, images=32"
        },
        {
          "time": "22:52:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #462"
        },
        {
          "time": "22:52:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:52:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 9화 10화 | 뉴토끼, images=48"
        },
        {
          "time": "22:56:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #463"
        },
        {
          "time": "22:56:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:56:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #464"
        },
        {
          "time": "22:56:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:57:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 8화 11화 | 뉴토끼, images=33"
        },
        {
          "time": "22:58:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #465"
        },
        {
          "time": "22:58:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:58:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #466"
        },
        {
          "time": "22:58:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:59:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 7화 12화 | 뉴토끼, images=34"
        },
        {
          "time": "22:59:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #467"
        },
        {
          "time": "22:59:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:00:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #468"
        },
        {
          "time": "23:00:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:00:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 6화 13화 | 뉴토끼, images=34"
        },
        {
          "time": "23:01:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #469"
        },
        {
          "time": "23:01:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:02:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #470"
        },
        {
          "time": "23:02:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:02:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 5화 14화 | 뉴토끼, images=33"
        },
        {
          "time": "23:03:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #471"
        },
        {
          "time": "23:03:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:04:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #472"
        },
        {
          "time": "23:04:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:04:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 4화 15화 | 뉴토끼, images=34"
        },
        {
          "time": "23:06:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #473"
        },
        {
          "time": "23:06:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:06:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #474"
        },
        {
          "time": "23:06:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:07:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #475"
        },
        {
          "time": "23:07:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:07:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 2화 17화 | 뉴토끼, images=48"
        },
        {
          "time": "23:22:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T23:22:48"
        },
        {
          "time": "23:22:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:22:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:03:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #53"
        },
        {
          "time": "13:03:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:04:10",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:04:26",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:15:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:15:10"
        },
        {
          "time": "13:15:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:15:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:07:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1223"
        },
        {
          "time": "10:07:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:07:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 - 우메미야 코우 | 뉴토끼, links=20"
        },
        {
          "time": "10:07:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1224"
        },
        {
          "time": "10:07:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:07:16",
          "message": "작품 제목: 엘리트 여사원의 성욕 처리 방법 - 우메미야 코우"
        },
        {
          "time": "10:07:16",
          "message": "메타데이터 태그 저장: 드라마, 성인, 엘리트 여사원의 성욕 처리 방법, 우메미야 코우"
        },
        {
          "time": "10:07:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 17화 2화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "10:07:48",
          "message": "순회 계획을 저장했습니다: 7개 회차"
        },
        {
          "time": "10:09:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1225"
        },
        {
          "time": "10:09:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:09:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1226"
        },
        {
          "time": "10:09:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:10:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 16화 3화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "10:10:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1227"
        },
        {
          "time": "10:10:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:10:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 15화 4화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "10:12:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1228"
        },
        {
          "time": "10:12:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:12:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1229"
        },
        {
          "time": "10:12:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:13:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 14화 5화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "10:13:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1230"
        },
        {
          "time": "10:13:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:13:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 13화 6화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "10:15:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1231"
        },
        {
          "time": "10:15:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:15:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1232"
        },
        {
          "time": "10:15:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:16:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 12화 7화 | 뉴토끼, img_tags=51, image_urls=51"
        },
        {
          "time": "10:17:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1233"
        },
        {
          "time": "10:17:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:17:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1234"
        },
        {
          "time": "10:17:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:18:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 3화 16화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:06:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #60"
        },
        {
          "time": "18:06:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:06:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 - 우메미야 코우 | 뉴토끼, links=20"
        },
        {
          "time": "18:06:58",
          "message": "작품 제목: 엘리트 여사원의 성욕 처리 방법 - 우메미야 코우"
        },
        {
          "time": "18:06:58",
          "message": "메타데이터 태그 저장: 드라마, 성인, 엘리트 여사원의 성욕 처리 방법, 우메미야 코우"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:36:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #639"
        },
        {
          "time": "13:36:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:36:23",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:36:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #640"
        },
        {
          "time": "13:36:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:36:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 - 우메미야 코우 | 뉴토끼, links=20"
        },
        {
          "time": "13:36:38",
          "message": "작품 제목: 엘리트 여사원의 성욕 처리 방법 - 우메미야 코우"
        },
        {
          "time": "13:36:38",
          "message": "메타데이터 태그 저장: 드라마, 성인, 엘리트 여사원의 성욕 처리 방법, 우메미야 코우"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:59:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1225"
        },
        {
          "time": "07:59:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:59:39",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:59:39",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:59:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1226"
        },
        {
          "time": "07:59:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:59:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=엘리트 여사원의 성욕 처리 방법 - 우메미야 코우 | 뉴토끼, links=20"
        },
        {
          "time": "07:59:53",
          "message": "작품 제목: 엘리트 여사원의 성욕 처리 방법 - 우메미야 코우"
        },
        {
          "time": "07:59:54",
          "message": "메타데이터 태그 저장: 드라마, 성인, 엘리트 여사원의 성욕 처리 방법, 우메미야 코우"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_16977",
        "target_id": "webtoon_16977",
        "title": "엘리트 여사원의 성욕 처리 방법 - 우메미야 코우",
        "episodes_found": 18,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 18,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_16977",
          "title": "엘리트 여사원의 성욕 처리 방법 - 우메미야 코우",
          "list_url": "https://newtoki1.org/webtoon/16977",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/16977"
          },
          "tags": [
            "드라마",
            "성인",
            "엘리트 여사원의 성욕 처리 방법",
            "우메미야 코우"
          ],
          "description": "엘리트 여사원의 성욕 처리 방법 (우메미야 코우) [봄툰] #드라마 #성인",
          "metadata_path": "/downloads/webtoon_16977/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 18,
        "total": 18,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "310b6e87a7",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:43:09",
      "started_at": "2026-06-04T07:57:37",
      "finished_at": "2026-06-04T07:59:17",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35348",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35348",
        "viewer_image_mode": "auto",
        "display_title": "성스러운 소녀와 비밀스러운 일 - 히라메키 본진",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "10:37:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/001.jpg"
        },
        {
          "time": "10:37:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/002.jpg"
        },
        {
          "time": "10:37:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/003.jpg"
        },
        {
          "time": "10:37:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/004.jpg"
        },
        {
          "time": "10:37:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/005.jpg"
        },
        {
          "time": "10:37:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/006.jpg"
        },
        {
          "time": "10:37:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/007.jpg"
        },
        {
          "time": "10:37:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/008.jpg"
        },
        {
          "time": "10:37:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/009.jpg"
        },
        {
          "time": "10:37:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/010.jpg"
        },
        {
          "time": "10:37:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/011.jpg"
        },
        {
          "time": "10:37:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/012.jpg"
        },
        {
          "time": "10:37:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/013.jpg"
        },
        {
          "time": "10:37:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/014.jpg"
        },
        {
          "time": "10:37:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/015.jpg"
        },
        {
          "time": "10:37:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/016.jpg"
        },
        {
          "time": "10:37:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/017.jpg"
        },
        {
          "time": "10:37:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_35348/ep_093/018.jpg"
        },
        {
          "time": "10:37:39",
          "message": "  [>] 이미지 18개 처리 완료.\n"
        },
        {
          "time": "10:37:40",
          "message": "완료: 회차 93개 처리, 이미지 1641개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 93)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 93)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:45:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:45:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:55:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:55:56"
        },
        {
          "time": "06:55:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:55:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:56:02",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:56:05",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:06:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:06:05"
        },
        {
          "time": "07:06:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:06:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:08:19",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:08:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:18:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:18:43"
        },
        {
          "time": "07:18:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:18:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:19:56",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:19:59",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:30:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:30:09"
        },
        {
          "time": "07:30:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:30:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:31:46",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:31:49",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:42:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:42:06"
        },
        {
          "time": "07:42:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:42:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:43:24",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:43:27",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:53:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:53:53"
        },
        {
          "time": "07:53:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:53:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:54:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:55:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:06:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:06:25"
        },
        {
          "time": "08:06:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:06:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:07:57",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:08:00",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:18:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:18:27"
        },
        {
          "time": "08:18:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:18:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:18:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:18:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:28:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:28:52"
        },
        {
          "time": "08:28:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:28:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:29:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:29:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:39:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:39:52"
        },
        {
          "time": "08:39:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:39:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:43:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:43:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:54:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:54:02"
        },
        {
          "time": "08:54:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:54:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:54:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:54:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:04:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:04:27"
        },
        {
          "time": "09:04:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:04:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:04:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:04:39",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:15:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:15:02"
        },
        {
          "time": "09:15:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:15:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:15:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:15:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:26:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:26:12"
        },
        {
          "time": "09:26:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:26:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:26:42",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:27:19",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:37:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:37:23"
        },
        {
          "time": "09:37:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:37:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:39:42",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:40:17",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:50:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:50:17"
        },
        {
          "time": "09:50:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:50:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:50:19",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:50:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:00:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:00:31"
        },
        {
          "time": "10:00:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:00:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:04:05",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:04:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:14:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:14:35"
        },
        {
          "time": "10:14:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:14:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:16:34",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:41:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #445"
        },
        {
          "time": "22:41:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:41:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=성스러운 소녀와 비밀스러운 일 - 히라메키 본진 | 뉴토끼, links=95"
        },
        {
          "time": "22:41:42",
          "message": "작품 제목: 성스러운 소녀와 비밀스러운 일 - 히라메키 본진"
        },
        {
          "time": "22:41:42",
          "message": "메타데이터 태그 저장: 성스러운 소녀와 비밀스러운 일, 히라메키 본진"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:39:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #96"
        },
        {
          "time": "13:39:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:40:10",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:40:11",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:51:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:51:12"
        },
        {
          "time": "13:51:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:51:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:43:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1470"
        },
        {
          "time": "13:43:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:43:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=성스러운 소녀와 비밀스러운 일 - 히라메키 본진 | 뉴토끼, links=95"
        },
        {
          "time": "13:43:25",
          "message": "작품 제목: 성스러운 소녀와 비밀스러운 일 - 히라메키 본진"
        },
        {
          "time": "13:43:25",
          "message": "메타데이터 태그 저장: 성스러운 소녀와 비밀스러운 일, 히라메키 본진"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:17:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #25"
        },
        {
          "time": "17:17:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:17:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=성스러운 소녀와 비밀스러운 일 - 히라메키 본진 | 뉴토끼, links=95"
        },
        {
          "time": "17:17:27",
          "message": "작품 제목: 성스러운 소녀와 비밀스러운 일 - 히라메키 본진"
        },
        {
          "time": "17:17:27",
          "message": "메타데이터 태그 저장: 성스러운 소녀와 비밀스러운 일, 히라메키 본진"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:41:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #44"
        },
        {
          "time": "14:41:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:41:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=성스러운 소녀와 비밀스러운 일 - 히라메키 본진 | 뉴토끼, links=95"
        },
        {
          "time": "14:41:54",
          "message": "작품 제목: 성스러운 소녀와 비밀스러운 일 - 히라메키 본진"
        },
        {
          "time": "14:41:54",
          "message": "메타데이터 태그 저장: 성스러운 소녀와 비밀스러운 일, 히라메키 본진"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:58:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1224"
        },
        {
          "time": "07:58:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:59:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=성스러운 소녀와 비밀스러운 일 - 히라메키 본진 | 뉴토끼, links=95"
        },
        {
          "time": "07:59:16",
          "message": "작품 제목: 성스러운 소녀와 비밀스러운 일 - 히라메키 본진"
        },
        {
          "time": "07:59:16",
          "message": "메타데이터 태그 저장: 성스러운 소녀와 비밀스러운 일, 히라메키 본진"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35348",
        "target_id": "manhwa_35348",
        "title": "성스러운 소녀와 비밀스러운 일 - 히라메키 본진",
        "episodes_found": 93,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 93,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35348",
          "title": "성스러운 소녀와 비밀스러운 일 - 히라메키 본진",
          "list_url": "https://newtoki1.org/manhwa/35348",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35348"
          },
          "tags": [
            "성스러운 소녀와 비밀스러운 일",
            "히라메키 본진"
          ],
          "description": "「섹시한 것을 가르쳐주세요」 - 어느 날, 이세계로 옮겨진 타이가 여신을 섬기는 자매들 앞에 나타난다. 이 세상에 돌아가기 위해서는 실천적인 성교육 기술을 전수하지 않으면 안 된다!",
          "metadata_path": "/downloads/manhwa_35348/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 93,
        "total": 93,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3977080f90",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:42:40",
      "started_at": "2026-06-04T07:56:50",
      "finished_at": "2026-06-04T07:57:37",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/34116",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_34116",
        "viewer_image_mode": "auto",
        "display_title": "기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:50:25",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34116/1814995"
        },
        {
          "time": "09:50:32",
          "message": "  [i] 회차 제목: 기사단장 엘프님도 소녀가 되고 싶어 19화 기사단장 엘프 씨도…이고 싶다 19화"
        },
        {
          "time": "09:50:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/001.jpg"
        },
        {
          "time": "09:50:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/002.jpg"
        },
        {
          "time": "09:50:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/003.jpg"
        },
        {
          "time": "09:50:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/004.jpg"
        },
        {
          "time": "09:50:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/005.jpg"
        },
        {
          "time": "09:50:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/006.jpg"
        },
        {
          "time": "09:50:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/007.jpg"
        },
        {
          "time": "09:50:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/008.jpg"
        },
        {
          "time": "09:50:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/009.jpg"
        },
        {
          "time": "09:50:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/010.jpg"
        },
        {
          "time": "09:50:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/011.jpg"
        },
        {
          "time": "09:50:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/012.jpg"
        },
        {
          "time": "09:50:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/013.jpg"
        },
        {
          "time": "09:50:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/014.jpg"
        },
        {
          "time": "09:50:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/015.jpg"
        },
        {
          "time": "09:50:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_34116/ep_019/016.jpg"
        },
        {
          "time": "09:50:50",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "09:50:51",
          "message": "완료: 회차 19개 처리, 이미지 321개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 19)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 19)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:45:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:45:34",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:55:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:55:56"
        },
        {
          "time": "06:55:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:55:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:56:06",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:56:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:06:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:06:46"
        },
        {
          "time": "07:06:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:06:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:08:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:08:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:18:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:18:43"
        },
        {
          "time": "07:18:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:18:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:20:01",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:20:04",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:30:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:30:09"
        },
        {
          "time": "07:30:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:30:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:31:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:31:53",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:42:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:42:06"
        },
        {
          "time": "07:42:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:42:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:43:28",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:44:04",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:54:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:54:04"
        },
        {
          "time": "07:54:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:54:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:55:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:55:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:06:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:06:25"
        },
        {
          "time": "08:06:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:06:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:08:01",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:08:04",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:18:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:18:27"
        },
        {
          "time": "08:18:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:18:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:18:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:19:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:29:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:29:17"
        },
        {
          "time": "08:29:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:29:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:29:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:31:00",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:41:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:41:35"
        },
        {
          "time": "08:41:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:41:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:43:59",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:44:02",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:54:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:54:02"
        },
        {
          "time": "08:54:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:54:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:54:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:54:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:04:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:04:27"
        },
        {
          "time": "09:04:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:04:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:04:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:05:18",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:15:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:15:20"
        },
        {
          "time": "09:15:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:15:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:15:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:15:24",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:26:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:26:12"
        },
        {
          "time": "09:26:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:26:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:27:20",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:27:55",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:38:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:38:35"
        },
        {
          "time": "09:38:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:38:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:40:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:40:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:50:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:50:22"
        },
        {
          "time": "09:50:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:50:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:50:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:50:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:00:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:00:31"
        },
        {
          "time": "10:00:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:00:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:04:09",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:04:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:14:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:14:35"
        },
        {
          "time": "10:14:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:14:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:16:34",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:41:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #444"
        },
        {
          "time": "22:41:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:41:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무 | 뉴토끼, links=21"
        },
        {
          "time": "22:41:25",
          "message": "작품 제목: 기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무"
        },
        {
          "time": "22:41:25",
          "message": "메타데이터 태그 저장: 기사단장 엘프님도 소녀가 되고 싶어, 오노 츠토무"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:40:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #97"
        },
        {
          "time": "13:40:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:40:32",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:41:03",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:51:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:51:12"
        },
        {
          "time": "13:51:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:51:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:44:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1471"
        },
        {
          "time": "13:44:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:44:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무 | 뉴토끼, links=21"
        },
        {
          "time": "13:44:15",
          "message": "작품 제목: 기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무"
        },
        {
          "time": "13:44:15",
          "message": "메타데이터 태그 저장: 기사단장 엘프님도 소녀가 되고 싶어, 오노 츠토무"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:16:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "17:16:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:16:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무 | 뉴토끼, links=21"
        },
        {
          "time": "17:17:12",
          "message": "작품 제목: 기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무"
        },
        {
          "time": "17:17:12",
          "message": "메타데이터 태그 저장: 기사단장 엘프님도 소녀가 되고 싶어, 오노 츠토무"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:42:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #45"
        },
        {
          "time": "14:42:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:42:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무 | 뉴토끼, links=21"
        },
        {
          "time": "14:42:44",
          "message": "작품 제목: 기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무"
        },
        {
          "time": "14:42:45",
          "message": "메타데이터 태그 저장: 기사단장 엘프님도 소녀가 되고 싶어, 오노 츠토무"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:57:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1223"
        },
        {
          "time": "07:57:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:57:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무 | 뉴토끼, links=21"
        },
        {
          "time": "07:57:36",
          "message": "작품 제목: 기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무"
        },
        {
          "time": "07:57:37",
          "message": "메타데이터 태그 저장: 기사단장 엘프님도 소녀가 되고 싶어, 오노 츠토무"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34116",
        "target_id": "manhwa_34116",
        "title": "기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무",
        "episodes_found": 19,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 19,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34116",
          "title": "기사단장 엘프님도 소녀가 되고 싶어 - 오노 츠토무",
          "list_url": "https://newtoki1.org/manhwa/34116",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34116"
          },
          "tags": [
            "기사단장 엘프님도 소녀가 되고 싶어",
            "오노 츠토무"
          ],
          "description": "역사 있는 왕국의 기사단은 여인금제! 그런 기사단에 임시대장으로 온 것은 엘프의 여성!? 최강&쿨하지만 사실은 소녀인 순진 엘프의 기사단장 길가씨의 나날을 즐겨주세요!!",
          "metadata_path": "/downloads/manhwa_34116/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 19,
        "total": 19,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "a85821ed9c",
      "status": "failed",
      "display_status": "failed",
      "created_at": "2026-05-17T07:42:36",
      "started_at": "2026-06-05T16:25:18",
      "finished_at": "2026-06-05T16:27:35",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "이세계 용근 기사단장 - 임수아,팀 하루살이",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/16077",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_16077",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "02:48:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1665"
        },
        {
          "time": "02:48:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:49:02",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16077, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06bdc2"
        },
        {
          "time": "04:36:43",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-05T04:36:12"
        },
        {
          "time": "04:59:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1812"
        },
        {
          "time": "04:59:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:59:23",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:59:23",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:59:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1813"
        },
        {
          "time": "04:59:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:59:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 - 임수아,팀 하루살이 | 뉴토끼, links=97"
        },
        {
          "time": "04:59:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1814"
        },
        {
          "time": "05:00:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:00:11",
          "message": "작품 제목: 이세계 용근 기사단장 - 임수아,팀 하루살이"
        },
        {
          "time": "05:00:12",
          "message": "메타데이터 태그 저장: 성인, 이세계 용근 기사단장, 임수아, 팀 하루살이"
        },
        {
          "time": "05:00:12",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "05:00:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1815"
        },
        {
          "time": "05:00:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:00:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1816"
        },
        {
          "time": "05:00:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:01:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 37화 휴재 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "05:01:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1817"
        },
        {
          "time": "05:01:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:01:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1818"
        },
        {
          "time": "05:01:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:57:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T05:57:10"
        },
        {
          "time": "05:57:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:57:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:48:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2004"
        },
        {
          "time": "06:48:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:48:38",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:48:38",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:48:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2005"
        },
        {
          "time": "06:48:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:48:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 - 임수아,팀 하루살이 | 뉴토끼, links=97"
        },
        {
          "time": "06:48:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2006"
        },
        {
          "time": "06:49:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:49:29",
          "message": "작품 제목: 이세계 용근 기사단장 - 임수아,팀 하루살이"
        },
        {
          "time": "06:49:30",
          "message": "메타데이터 태그 저장: 성인, 이세계 용근 기사단장, 임수아, 팀 하루살이"
        },
        {
          "time": "06:49:30",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "06:49:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2007"
        },
        {
          "time": "06:49:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:50:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2008"
        },
        {
          "time": "06:50:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:50:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2009"
        },
        {
          "time": "06:50:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:50:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2010"
        },
        {
          "time": "06:50:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:51:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2011"
        },
        {
          "time": "06:51:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:52:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2012"
        },
        {
          "time": "06:52:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:52:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 37화 휴재 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "07:51:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T07:51:26"
        },
        {
          "time": "07:51:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:51:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:37:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2204"
        },
        {
          "time": "08:37:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:37:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 - 임수아,팀 하루살이 | 뉴토끼, links=97"
        },
        {
          "time": "08:38:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2205"
        },
        {
          "time": "08:38:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:38:02",
          "message": "작품 제목: 이세계 용근 기사단장 - 임수아,팀 하루살이"
        },
        {
          "time": "08:38:03",
          "message": "메타데이터 태그 저장: 성인, 이세계 용근 기사단장, 임수아, 팀 하루살이"
        },
        {
          "time": "08:38:03",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "08:38:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2206"
        },
        {
          "time": "08:38:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:38:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2207"
        },
        {
          "time": "08:38:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:38:58",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 37화 휴재 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "08:38:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2208"
        },
        {
          "time": "08:39:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:39:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2209"
        },
        {
          "time": "08:39:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:40:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T09:40:10"
        },
        {
          "time": "09:40:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:40:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:30:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2396"
        },
        {
          "time": "10:30:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:31:08",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:31:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:31:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2397"
        },
        {
          "time": "10:31:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:31:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 - 임수아,팀 하루살이 | 뉴토끼, links=97"
        },
        {
          "time": "10:31:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2398"
        },
        {
          "time": "10:31:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:31:50",
          "message": "작품 제목: 이세계 용근 기사단장 - 임수아,팀 하루살이"
        },
        {
          "time": "10:31:51",
          "message": "메타데이터 태그 저장: 성인, 이세계 용근 기사단장, 임수아, 팀 하루살이"
        },
        {
          "time": "10:31:51",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "10:32:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2399"
        },
        {
          "time": "10:32:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:32:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2400"
        },
        {
          "time": "10:32:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:33:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 37화 휴재 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "10:33:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2401"
        },
        {
          "time": "10:33:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:33:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2402"
        },
        {
          "time": "10:34:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:36:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T11:36:49"
        },
        {
          "time": "11:36:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:36:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:28:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2592"
        },
        {
          "time": "12:28:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:28:29",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:28:29",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:28:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2593"
        },
        {
          "time": "12:28:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:28:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 - 임수아,팀 하루살이 | 뉴토끼, links=97"
        },
        {
          "time": "12:29:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2594"
        },
        {
          "time": "12:29:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:29:22",
          "message": "작품 제목: 이세계 용근 기사단장 - 임수아,팀 하루살이"
        },
        {
          "time": "12:29:22",
          "message": "메타데이터 태그 저장: 성인, 이세계 용근 기사단장, 임수아, 팀 하루살이"
        },
        {
          "time": "12:29:23",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "12:29:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2595"
        },
        {
          "time": "12:29:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:30:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2596"
        },
        {
          "time": "12:30:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:30:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 37화 휴재 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "12:30:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2597"
        },
        {
          "time": "12:30:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:31:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2598"
        },
        {
          "time": "12:31:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:25:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T13:25:37"
        },
        {
          "time": "13:25:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:13:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2786"
        },
        {
          "time": "14:13:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:13:42",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:13:42",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:13:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2787"
        },
        {
          "time": "14:13:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:13:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 - 임수아,팀 하루살이 | 뉴토끼, links=97"
        },
        {
          "time": "14:15:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2788"
        },
        {
          "time": "14:15:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:15:33",
          "message": "작품 제목: 이세계 용근 기사단장 - 임수아,팀 하루살이"
        },
        {
          "time": "14:15:34",
          "message": "메타데이터 태그 저장: 성인, 이세계 용근 기사단장, 임수아, 팀 하루살이"
        },
        {
          "time": "14:15:34",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "14:15:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2789"
        },
        {
          "time": "14:15:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:16:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2790"
        },
        {
          "time": "14:16:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:17:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이세계 용근 기사단장 37화 휴재 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "14:18:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2791"
        },
        {
          "time": "14:18:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:18:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2792"
        },
        {
          "time": "14:18:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:16:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T15:16:18"
        },
        {
          "time": "15:16:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:16:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "16:26:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "16:26:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:26:42",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16077, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0708a0"
        },
        {
          "time": "16:26:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "16:26:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:27:13",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16077, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0708aa"
        },
        {
          "time": "16:27:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "16:27:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:27:34",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/16077, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0708b2"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_16077",
        "target_id": "webtoon_16077",
        "title": "",
        "episodes_found": 0,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 0,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": "목록 페이지 검증 실패: 대기 또는 브라우저 검증 페이지가 로드됨",
        "metadata": {}
      },
      "error": "목록 페이지 검증 실패: 대기 또는 브라우저 검증 페이지가 로드됨",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": true,
        "type": "browser_verification",
        "severity": "warning",
        "time": "16:27:34",
        "message": "브라우저 검증 페이지가 남아 있습니다."
      },
      "progress": {
        "done": 0,
        "total": 0,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3661074be5",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:42:08",
      "started_at": "2026-06-04T07:49:48",
      "finished_at": "2026-06-04T07:51:31",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/34511",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_34511",
        "viewer_image_mode": "auto",
        "display_title": "연애편지와 13살의 여배우 - 쟈가",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "07:55:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_34511/ep_062/026.jpg"
        },
        {
          "time": "07:55:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_34511/ep_062/027.jpg"
        },
        {
          "time": "07:55:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_34511/ep_062/028.jpg"
        },
        {
          "time": "07:55:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_34511/ep_062/029.jpg"
        },
        {
          "time": "07:55:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_34511/ep_062/030.jpg"
        },
        {
          "time": "07:55:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_34511/ep_062/031.jpg"
        },
        {
          "time": "07:55:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_34511/ep_062/032.jpg"
        },
        {
          "time": "07:55:21",
          "message": "  [>] 이미지 32개 처리 완료.\n"
        },
        {
          "time": "07:55:22",
          "message": "완료: 회차 62개 처리, 이미지 1633개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 62)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 62)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:45:35",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:46:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:56:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:56:42"
        },
        {
          "time": "06:56:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:56:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:56:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:57:18",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:07:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:07:22"
        },
        {
          "time": "07:07:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:07:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:08:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:09:04",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:19:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:19:19"
        },
        {
          "time": "07:19:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:19:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:20:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:21:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:31:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:31:41"
        },
        {
          "time": "07:31:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:31:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:31:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:31:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:42:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:42:06"
        },
        {
          "time": "07:42:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:42:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:44:05",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:44:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:54:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:54:08"
        },
        {
          "time": "07:54:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:54:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:55:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:55:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:06:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:06:25"
        },
        {
          "time": "08:06:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:06:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:08:05",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:08:43",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:19:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:19:13"
        },
        {
          "time": "08:19:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:19:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:19:15",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:19:39",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:29:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:29:48"
        },
        {
          "time": "08:29:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:29:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:31:01",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:31:04",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:41:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:41:35"
        },
        {
          "time": "08:41:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:41:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:44:03",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:44:39",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:54:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:54:39"
        },
        {
          "time": "08:54:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:54:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:54:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:54:43",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:05:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:05:18"
        },
        {
          "time": "09:05:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:05:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:05:19",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:05:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:15:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:15:24"
        },
        {
          "time": "09:15:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:15:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:15:25",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:15:28",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:26:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:26:12"
        },
        {
          "time": "09:26:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:26:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:27:56",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:28:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:38:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:38:35"
        },
        {
          "time": "09:38:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:38:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:40:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:40:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:50:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:50:26"
        },
        {
          "time": "09:50:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:50:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:50:28",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:50:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:00:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:00:31"
        },
        {
          "time": "10:00:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:00:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:04:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:05:17",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:15:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:15:52"
        },
        {
          "time": "10:15:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:15:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:16:34",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:38:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #438"
        },
        {
          "time": "22:38:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:38:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연애편지와 13살의 여배우 - 쟈가 | 뉴토끼, links=64"
        },
        {
          "time": "22:38:58",
          "message": "작품 제목: 연애편지와 13살의 여배우 - 쟈가"
        },
        {
          "time": "22:38:58",
          "message": "메타데이터 태그 저장: 연애편지와 13살의 여배우, 쟈가"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:41:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #98"
        },
        {
          "time": "13:41:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:42:19",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:42:50",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:53:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:53:20"
        },
        {
          "time": "13:53:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:53:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:44:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1472"
        },
        {
          "time": "13:44:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:45:07",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "13:45:08",
          "message": "작품 제목: 34511"
        },
        {
          "time": "13:45:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1473"
        },
        {
          "time": "13:45:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:45:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연애편지와 13살의 여배우 - 쟈가 | 뉴토끼, links=64"
        },
        {
          "time": "13:45:43",
          "message": "작품 제목: 연애편지와 13살의 여배우 - 쟈가"
        },
        {
          "time": "13:45:43",
          "message": "메타데이터 태그 저장: 연애편지와 13살의 여배우, 쟈가"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:15:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "17:15:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:15:55",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "17:15:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "17:15:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:15:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연애편지와 13살의 여배우 - 쟈가 | 뉴토끼, links=64"
        },
        {
          "time": "17:16:26",
          "message": "작품 제목: 연애편지와 13살의 여배우 - 쟈가"
        },
        {
          "time": "17:16:26",
          "message": "메타데이터 태그 저장: 연애편지와 13살의 여배우, 쟈가"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:43:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #46"
        },
        {
          "time": "14:43:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:43:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연애편지와 13살의 여배우 - 쟈가 | 뉴토끼, links=64"
        },
        {
          "time": "14:43:35",
          "message": "작품 제목: 연애편지와 13살의 여배우 - 쟈가"
        },
        {
          "time": "14:43:36",
          "message": "메타데이터 태그 저장: 연애편지와 13살의 여배우, 쟈가"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:50:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1213"
        },
        {
          "time": "07:50:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:51:18",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:51:19",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:51:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1214"
        },
        {
          "time": "07:51:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:51:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연애편지와 13살의 여배우 - 쟈가 | 뉴토끼, links=64"
        },
        {
          "time": "07:51:29",
          "message": "작품 제목: 연애편지와 13살의 여배우 - 쟈가"
        },
        {
          "time": "07:51:30",
          "message": "메타데이터 태그 저장: 연애편지와 13살의 여배우, 쟈가"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34511",
        "target_id": "manhwa_34511",
        "title": "연애편지와 13살의 여배우 - 쟈가",
        "episodes_found": 62,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 62,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34511",
          "title": "연애편지와 13살의 여배우 - 쟈가",
          "list_url": "https://newtoki1.org/manhwa/34511",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34511"
          },
          "tags": [
            "연애편지와 13살의 여배우",
            "쟈가"
          ],
          "description": "연예 기획사 경리부에서 일하던 잇시키 후미는 어느 날, 영업부로 부서 이동을 하라는 말을 전해 듣게 된다. 담당하게 된 13살의 아역 배우인 하가 후미노는 묘하게 잇시키가 마음에 든 거 같고...? 어린 나이지만 어른보다 어른스럽게 행동하는 프로 배우인 아역 배우 소녀와 그 매니저가",
          "metadata_path": "/downloads/manhwa_34511/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 62,
        "total": 62,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3e20f274e0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:41:44",
      "started_at": "2026-06-04T07:48:35",
      "finished_at": "2026-06-04T07:49:48",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/33000",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_33000",
        "viewer_image_mode": "auto",
        "display_title": "정서를 엉망으로 망치는 여자 - 세미마루",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "23:51:19",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "23:51:19",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "23:51:39",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/33000\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "00:03:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T00:03:03"
        },
        {
          "time": "00:03:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:03:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:45:02",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "01:46:24",
          "message": "기존 완료 기록을 적용합니다: 29개 회차"
        },
        {
          "time": "01:46:24",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "01:46:24",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "01:46:24",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "01:46:24",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "01:46:24",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "01:46:24",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "01:46:44",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/33000\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "01:56:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T01:56:57"
        },
        {
          "time": "01:56:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:56:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:06:28",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "05:07:47",
          "message": "기존 완료 기록을 적용합니다: 29개 회차"
        },
        {
          "time": "05:07:47",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "05:07:47",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "05:07:47",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "05:07:48",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "05:07:48",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "05:07:48",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "05:08:08",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/33000\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "05:19:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T05:19:26"
        },
        {
          "time": "05:19:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:19:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "21:24:42",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "21:26:21",
          "message": "기존 완료 기록을 적용합니다: 29개 회차"
        },
        {
          "time": "21:26:21",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "21:26:21",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "21:26:21",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "21:26:21",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "21:26:21",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "21:26:21",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "21:26:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "21:26:37",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "21:26:37",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "21:26:37",
          "message": "메타데이터 저장: /downloads/manhwa_33000/metadata.yaml"
        },
        {
          "time": "21:26:37",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "21:26:37",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "21:37:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T21:37:24"
        },
        {
          "time": "21:37:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:37:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "22:53:39",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "22:55:11",
          "message": "기존 완료 기록을 적용합니다: 29개 회차"
        },
        {
          "time": "22:55:12",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "22:55:12",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "22:55:12",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "22:55:12",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "22:55:12",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "22:55:12",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "22:55:25",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "22:55:28",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "22:55:28",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "22:55:28",
          "message": "메타데이터 저장: /downloads/manhwa_33000/metadata.yaml"
        },
        {
          "time": "22:55:28",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "22:55:28",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "23:06:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T23:06:10"
        },
        {
          "time": "23:06:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:06:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:25:44",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "00:27:15",
          "message": "기존 완료 기록을 적용합니다: 29개 회차"
        },
        {
          "time": "00:27:15",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "00:27:15",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:27:15",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:27:15",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:27:15",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "00:27:15",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33000"
        },
        {
          "time": "00:27:34",
          "message": "작품 제목: 정서를 엉망으로 망치는 여자 - 세미마루"
        },
        {
          "time": "00:27:34",
          "message": "메타데이터 저장: /downloads/manhwa_33000/metadata.yaml"
        },
        {
          "time": "00:27:34",
          "message": "메타데이터 태그 저장: 세미마루, 정서를 엉망으로 망치는 여자"
        },
        {
          "time": "00:27:34",
          "message": "기존 완료 회차 29개 제외"
        },
        {
          "time": "00:27:34",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:27:34",
          "message": "총 30개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "00:27:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33000/1777358"
        },
        {
          "time": "00:27:34",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33000/1777358"
        },
        {
          "time": "00:27:43",
          "message": "  [i] 회차 제목: 정서를 엉망으로 망치는 여자 22화 정서를 엉망으로 망…치는 여자 22화"
        },
        {
          "time": "00:27:43",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/001.jpg"
        },
        {
          "time": "00:27:43",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/002.jpg"
        },
        {
          "time": "00:27:43",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/003.jpg"
        },
        {
          "time": "00:27:43",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/004.jpg"
        },
        {
          "time": "00:27:44",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/005.jpg"
        },
        {
          "time": "00:27:44",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/006.jpg"
        },
        {
          "time": "00:27:44",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/007.jpg"
        },
        {
          "time": "00:27:44",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/008.jpg"
        },
        {
          "time": "00:27:44",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/009.jpg"
        },
        {
          "time": "00:27:44",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/010.jpg"
        },
        {
          "time": "00:27:44",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/011.jpg"
        },
        {
          "time": "00:27:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_33000/ep_027/012.jpg"
        },
        {
          "time": "00:27:51",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/013.jpg"
        },
        {
          "time": "00:27:52",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/014.jpg"
        },
        {
          "time": "00:27:52",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/015.jpg"
        },
        {
          "time": "00:27:52",
          "message": "    [=] 이미 존재함: /downloads/manhwa_33000/ep_027/016.jpg"
        },
        {
          "time": "00:27:52",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "00:27:53",
          "message": "완료: 회차 1개 처리, 이미지 1개 저장, 15개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:08:09",
          "message": "작품 제목: 33000"
        },
        {
          "time": "06:18:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:18:44"
        },
        {
          "time": "06:18:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:18:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:38:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #437"
        },
        {
          "time": "22:38:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:38:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=정서를 엉망으로 망치는 여자 - 세미마루 | 뉴토끼, links=32"
        },
        {
          "time": "22:38:42",
          "message": "작품 제목: 정서를 엉망으로 망치는 여자 - 세미마루"
        },
        {
          "time": "22:38:42",
          "message": "메타데이터 태그 저장: 세미마루, 정서를 엉망으로 망치는 여자"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:43:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #99"
        },
        {
          "time": "13:43:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:43:42",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:43:52",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:54:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:54:21"
        },
        {
          "time": "13:54:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:54:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:46:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1474"
        },
        {
          "time": "13:46:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:46:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=정서를 엉망으로 망치는 여자 - 세미마루 | 뉴토끼, links=32"
        },
        {
          "time": "13:46:49",
          "message": "작품 제목: 정서를 엉망으로 망치는 여자 - 세미마루"
        },
        {
          "time": "13:46:49",
          "message": "메타데이터 태그 저장: 세미마루, 정서를 엉망으로 망치는 여자"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:14:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "17:14:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:15:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=정서를 엉망으로 망치는 여자 - 세미마루 | 뉴토끼, links=32"
        },
        {
          "time": "17:15:00",
          "message": "작품 제목: 정서를 엉망으로 망치는 여자 - 세미마루"
        },
        {
          "time": "17:15:00",
          "message": "메타데이터 태그 저장: 세미마루, 정서를 엉망으로 망치는 여자"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:43:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #47"
        },
        {
          "time": "14:43:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:43:58",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:43:59",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:43:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #48"
        },
        {
          "time": "14:43:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:44:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=정서를 엉망으로 망치는 여자 - 세미마루 | 뉴토끼, links=32"
        },
        {
          "time": "14:44:43",
          "message": "작품 제목: 정서를 엉망으로 망치는 여자 - 세미마루"
        },
        {
          "time": "14:44:44",
          "message": "메타데이터 태그 저장: 세미마루, 정서를 엉망으로 망치는 여자"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:48:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1211"
        },
        {
          "time": "07:48:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:48:57",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:48:57",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:48:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1212"
        },
        {
          "time": "07:48:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:49:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=정서를 엉망으로 망치는 여자 - 세미마루 | 뉴토끼, links=32"
        },
        {
          "time": "07:49:47",
          "message": "작품 제목: 정서를 엉망으로 망치는 여자 - 세미마루"
        },
        {
          "time": "07:49:47",
          "message": "메타데이터 태그 저장: 세미마루, 정서를 엉망으로 망치는 여자"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_33000",
        "target_id": "manhwa_33000",
        "title": "정서를 엉망으로 망치는 여자 - 세미마루",
        "episodes_found": 30,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 30,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_33000",
          "title": "정서를 엉망으로 망치는 여자 - 세미마루",
          "list_url": "https://newtoki1.org/manhwa/33000",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/33000"
          },
          "tags": [
            "세미마루",
            "정서를 엉망으로 망치는 여자"
          ],
          "description": "정서를 엉망으로 망치는 여자 (세미마루)",
          "metadata_path": "/downloads/manhwa_33000/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 30,
        "total": 30,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3a9b9a78c0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:40:57",
      "started_at": "2026-06-04T07:47:56",
      "finished_at": "2026-06-04T07:48:35",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/12741",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_12741",
        "viewer_image_mode": "auto",
        "display_title": "동정에게 가버리는 갸루 아내 - Hamihe",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:41:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:41:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:44:39",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:44:43",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:54:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:54:43"
        },
        {
          "time": "08:54:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:54:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:54:44",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:55:19",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:05:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:05:22"
        },
        {
          "time": "09:05:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:05:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:05:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:05:59",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:15:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:15:59"
        },
        {
          "time": "09:15:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:15:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:16:00",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:16:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:26:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:26:12"
        },
        {
          "time": "09:26:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:26:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:28:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:28:51",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:39:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:39:21"
        },
        {
          "time": "09:39:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:39:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:40:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:41:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:51:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:51:03"
        },
        {
          "time": "09:51:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:51:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:51:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:51:07",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:01:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:01:12"
        },
        {
          "time": "10:01:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:01:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:05:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:05:53",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:16:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:16:26"
        },
        {
          "time": "10:16:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:16:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:16:34",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:32:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #422"
        },
        {
          "time": "22:32:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:32:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 - Hamihe | 뉴토끼, links=11"
        },
        {
          "time": "22:32:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #423"
        },
        {
          "time": "22:32:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:32:31",
          "message": "작품 제목: 동정에게 가버리는 갸루 아내 - Hamihe"
        },
        {
          "time": "22:32:31",
          "message": "메타데이터 태그 저장: Hamihe, 동정에게 가버리는 갸루 아내, 성인"
        },
        {
          "time": "22:32:32",
          "message": "순회 계획을 저장했습니다: 7개 회차"
        },
        {
          "time": "22:32:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #424"
        },
        {
          "time": "22:32:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:33:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #425"
        },
        {
          "time": "22:33:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:33:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #426"
        },
        {
          "time": "22:33:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:33:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #427"
        },
        {
          "time": "22:33:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:34:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #428"
        },
        {
          "time": "22:34:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:35:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #429"
        },
        {
          "time": "22:35:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:36:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #430"
        },
        {
          "time": "22:36:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:36:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #431"
        },
        {
          "time": "22:36:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:36:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #432"
        },
        {
          "time": "22:36:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:37:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #433"
        },
        {
          "time": "22:37:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:37:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #434"
        },
        {
          "time": "22:37:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:37:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #435"
        },
        {
          "time": "22:37:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:38:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #436"
        },
        {
          "time": "22:38:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:09:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T23:09:55"
        },
        {
          "time": "23:09:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:09:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:02:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #51"
        },
        {
          "time": "13:02:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:02:23",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:02:23",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:13:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:13:19"
        },
        {
          "time": "13:13:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:13:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:46:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1202"
        },
        {
          "time": "09:46:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:46:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 - Hamihe | 뉴토끼, links=11"
        },
        {
          "time": "09:46:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1203"
        },
        {
          "time": "09:46:57",
          "message": "작품 제목: 동정에게 가버리는 갸루 아내 - Hamihe"
        },
        {
          "time": "09:46:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:46:57",
          "message": "메타데이터 태그 저장: Hamihe, 동정에게 가버리는 갸루 아내, 성인"
        },
        {
          "time": "09:46:57",
          "message": "순회 계획을 저장했습니다: 7개 회차"
        },
        {
          "time": "09:47:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 8화 0002 - 동정에게 가버리는 갸루 아내 2화 | 뉴토끼, img_tags=44, image_urls=44"
        },
        {
          "time": "09:48:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1204"
        },
        {
          "time": "09:48:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:49:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1205"
        },
        {
          "time": "09:49:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:50:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 7화 0003 - 동정에게 가버리는 갸루 아내 3화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "09:51:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1206"
        },
        {
          "time": "09:51:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:51:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1207"
        },
        {
          "time": "09:51:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:52:04",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 6화 0004 - 동정에게 가버리는 갸루 아내 4화 | 뉴토끼, img_tags=52, image_urls=52"
        },
        {
          "time": "09:54:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1208"
        },
        {
          "time": "09:54:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:54:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1209"
        },
        {
          "time": "09:54:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:54:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1210"
        },
        {
          "time": "09:54:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:55:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 4화 0006 - 동정에게 가버리는 갸루 아내 6화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "09:56:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1211"
        },
        {
          "time": "09:56:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:56:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1212"
        },
        {
          "time": "09:56:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:57:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 3화 0007 - 동정에게 가버리는 갸루 아내 7화 | 뉴토끼, img_tags=49, image_urls=49"
        },
        {
          "time": "10:00:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1213"
        },
        {
          "time": "10:00:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:00:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1214"
        },
        {
          "time": "10:00:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:01:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 2화 0008 - 동정에게 가버리는 갸루 아내 8화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "10:01:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1215"
        },
        {
          "time": "10:01:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:01:49",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 5화 0005 - 동정에게 가버리는 갸루 아내 5화 | 뉴토끼, img_tags=53, image_urls=53"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:06:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #61"
        },
        {
          "time": "18:06:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:07:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 - Hamihe | 뉴토끼, links=11"
        },
        {
          "time": "18:07:33",
          "message": "작품 제목: 동정에게 가버리는 갸루 아내 - Hamihe"
        },
        {
          "time": "18:07:33",
          "message": "메타데이터 태그 저장: Hamihe, 동정에게 가버리는 갸루 아내, 성인"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #637"
        },
        {
          "time": "13:34:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:34:36",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:34:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #638"
        },
        {
          "time": "13:34:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:34:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 - Hamihe | 뉴토끼, links=11"
        },
        {
          "time": "13:35:25",
          "message": "작품 제목: 동정에게 가버리는 갸루 아내 - Hamihe"
        },
        {
          "time": "13:35:26",
          "message": "메타데이터 태그 저장: Hamihe, 동정에게 가버리는 갸루 아내, 성인"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:47:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1209"
        },
        {
          "time": "07:47:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:48:18",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:48:19",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:48:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1210"
        },
        {
          "time": "07:48:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:48:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=동정에게 가버리는 갸루 아내 - Hamihe | 뉴토끼, links=11"
        },
        {
          "time": "07:48:34",
          "message": "작품 제목: 동정에게 가버리는 갸루 아내 - Hamihe"
        },
        {
          "time": "07:48:34",
          "message": "메타데이터 태그 저장: Hamihe, 동정에게 가버리는 갸루 아내, 성인"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_12741",
        "target_id": "webtoon_12741",
        "title": "동정에게 가버리는 갸루 아내 - Hamihe",
        "episodes_found": 9,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 9,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_12741",
          "title": "동정에게 가버리는 갸루 아내 - Hamihe",
          "list_url": "https://newtoki1.org/webtoon/12741",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/12741"
          },
          "tags": [
            "Hamihe",
            "동정에게 가버리는 갸루 아내",
            "성인"
          ],
          "description": "동정에게 가버리는 갸루 아내 (Hamihe) [네이버] #성인",
          "metadata_path": "/downloads/webtoon_12741/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 9,
        "total": 9,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "792cc23d77",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:40:52",
      "started_at": "2026-06-04T07:46:44",
      "finished_at": "2026-06-04T07:47:56",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/32640",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_32640",
        "viewer_image_mode": "auto",
        "display_title": "갸루쌤 - 우에노 메구루",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "06:37:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/004.jpg"
        },
        {
          "time": "06:37:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/005.jpg"
        },
        {
          "time": "06:37:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/006.jpg"
        },
        {
          "time": "06:38:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/007.jpg"
        },
        {
          "time": "06:38:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/008.jpg"
        },
        {
          "time": "06:38:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/009.jpg"
        },
        {
          "time": "06:38:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/010.jpg"
        },
        {
          "time": "06:38:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/011.jpg"
        },
        {
          "time": "06:38:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/012.jpg"
        },
        {
          "time": "06:38:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/013.jpg"
        },
        {
          "time": "06:38:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/014.jpg"
        },
        {
          "time": "06:38:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/015.jpg"
        },
        {
          "time": "06:38:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/016.jpg"
        },
        {
          "time": "06:38:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/017.jpg"
        },
        {
          "time": "06:38:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/018.jpg"
        },
        {
          "time": "06:38:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/019.jpg"
        },
        {
          "time": "06:38:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_080/020.jpg"
        },
        {
          "time": "06:38:37",
          "message": "  [>] 이미지 20개 처리 완료.\n"
        },
        {
          "time": "06:38:38",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/32640/1747725"
        },
        {
          "time": "06:38:38",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/32640/1747725"
        },
        {
          "time": "06:38:47",
          "message": "  [i] 회차 제목: 갸루쌤 81화"
        },
        {
          "time": "06:38:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/001.jpg"
        },
        {
          "time": "06:38:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/002.jpg"
        },
        {
          "time": "06:38:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/003.jpg"
        },
        {
          "time": "06:38:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/004.jpg"
        },
        {
          "time": "06:38:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/005.jpg"
        },
        {
          "time": "06:38:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/006.jpg"
        },
        {
          "time": "06:38:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/007.jpg"
        },
        {
          "time": "06:38:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/008.jpg"
        },
        {
          "time": "06:38:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/009.jpg"
        },
        {
          "time": "06:38:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/010.jpg"
        },
        {
          "time": "06:39:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/011.jpg"
        },
        {
          "time": "06:39:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/012.jpg"
        },
        {
          "time": "06:39:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/013.jpg"
        },
        {
          "time": "06:39:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/014.jpg"
        },
        {
          "time": "06:39:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/015.jpg"
        },
        {
          "time": "06:39:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/016.jpg"
        },
        {
          "time": "06:39:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/017.jpg"
        },
        {
          "time": "06:39:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/018.jpg"
        },
        {
          "time": "06:39:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/019.jpg"
        },
        {
          "time": "06:39:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/020.jpg"
        },
        {
          "time": "06:39:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/021.jpg"
        },
        {
          "time": "06:39:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/022.jpg"
        },
        {
          "time": "06:39:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/023.jpg"
        },
        {
          "time": "06:39:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/024.jpg"
        },
        {
          "time": "06:39:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/025.jpg"
        },
        {
          "time": "06:39:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/026.jpg"
        },
        {
          "time": "06:39:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/027.jpg"
        },
        {
          "time": "06:39:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/028.jpg"
        },
        {
          "time": "06:39:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/029.jpg"
        },
        {
          "time": "06:39:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/030.jpg"
        },
        {
          "time": "06:39:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/031.jpg"
        },
        {
          "time": "06:39:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/032.jpg"
        },
        {
          "time": "06:39:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/033.jpg"
        },
        {
          "time": "06:39:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/034.jpg"
        },
        {
          "time": "06:39:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_081/035.jpg"
        },
        {
          "time": "06:39:31",
          "message": "  [>] 이미지 35개 처리 완료.\n"
        },
        {
          "time": "06:39:32",
          "message": "완료: 회차 81개 처리, 이미지 1342개 저장, 0개 건너뜀"
        },
        {
          "time": "06:58:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-18T06:58:23"
        },
        {
          "time": "06:58:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:58:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:37:30",
          "message": "대기열 순서를 변경했습니다: 94 -> 1"
        },
        {
          "time": "14:40:45",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "14:41:56",
          "message": "기존 완료 기록을 적용합니다: 80개 회차"
        },
        {
          "time": "14:41:56",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "14:41:56",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "14:41:57",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "14:41:57",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "14:41:57",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/32640"
        },
        {
          "time": "14:41:57",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/32640"
        },
        {
          "time": "14:42:05",
          "message": "작품 제목: 갸루쌤 - 우에노 메구루"
        },
        {
          "time": "14:42:06",
          "message": "메타데이터 저장: /downloads/manhwa_32640/metadata.yaml"
        },
        {
          "time": "14:42:06",
          "message": "메타데이터 태그 저장: 갸루쌤, 우에노 메구루"
        },
        {
          "time": "14:42:06",
          "message": "기존 완료 회차 80개 제외"
        },
        {
          "time": "14:42:07",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "14:42:08",
          "message": "총 81개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "14:42:08",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/32640/1723693"
        },
        {
          "time": "14:42:08",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/32640/1723693"
        },
        {
          "time": "14:42:36",
          "message": "  [i] 회차 제목: 갸루쌤 54화"
        },
        {
          "time": "14:43:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/001.jpg"
        },
        {
          "time": "14:43:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/002.jpg"
        },
        {
          "time": "14:43:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/003.jpg"
        },
        {
          "time": "14:43:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/004.jpg"
        },
        {
          "time": "14:43:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/005.jpg"
        },
        {
          "time": "14:43:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/006.jpg"
        },
        {
          "time": "14:43:23",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/007.jpg"
        },
        {
          "time": "14:43:23",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/008.jpg"
        },
        {
          "time": "14:43:23",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/009.jpg"
        },
        {
          "time": "14:43:23",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/010.jpg"
        },
        {
          "time": "14:43:24",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/011.jpg"
        },
        {
          "time": "14:43:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_32640/ep_054/012.jpg"
        },
        {
          "time": "14:43:25",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/013.jpg"
        },
        {
          "time": "14:43:25",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/014.jpg"
        },
        {
          "time": "14:43:26",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/015.jpg"
        },
        {
          "time": "14:43:27",
          "message": "    [=] 이미 존재함: /downloads/manhwa_32640/ep_054/016.jpg"
        },
        {
          "time": "14:43:27",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "14:43:28",
          "message": "완료: 회차 1개 처리, 이미지 1개 저장, 15개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:31:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:31:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:41:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:41:56"
        },
        {
          "time": "06:41:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:41:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:32:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #421"
        },
        {
          "time": "22:32:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:32:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루쌤 - 우에노 메구루 | 뉴토끼, links=83"
        },
        {
          "time": "22:32:16",
          "message": "작품 제목: 갸루쌤 - 우에노 메구루"
        },
        {
          "time": "22:32:16",
          "message": "메타데이터 태그 저장: 갸루쌤, 우에노 메구루"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:45:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #100"
        },
        {
          "time": "13:45:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:46:16",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:46:16",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:56:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:56:30"
        },
        {
          "time": "13:56:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:56:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:47:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1475"
        },
        {
          "time": "13:47:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:47:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루쌤 - 우에노 메구루 | 뉴토끼, links=83"
        },
        {
          "time": "13:47:25",
          "message": "작품 제목: 갸루쌤 - 우에노 메구루"
        },
        {
          "time": "13:47:25",
          "message": "메타데이터 태그 저장: 갸루쌤, 우에노 메구루"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:14:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "17:14:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:14:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루쌤 - 우에노 메구루 | 뉴토끼, links=83"
        },
        {
          "time": "17:14:44",
          "message": "작품 제목: 갸루쌤 - 우에노 메구루"
        },
        {
          "time": "17:14:44",
          "message": "메타데이터 태그 저장: 갸루쌤, 우에노 메구루"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:44:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #49"
        },
        {
          "time": "14:44:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:45:08",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:45:08",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:45:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #50"
        },
        {
          "time": "14:45:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:45:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루쌤 - 우에노 메구루 | 뉴토끼, links=83"
        },
        {
          "time": "14:45:24",
          "message": "작품 제목: 갸루쌤 - 우에노 메구루"
        },
        {
          "time": "14:45:25",
          "message": "메타데이터 태그 저장: 갸루쌤, 우에노 메구루"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:47:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1207"
        },
        {
          "time": "07:47:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:47:40",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:47:40",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:47:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1208"
        },
        {
          "time": "07:47:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:47:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루쌤 - 우에노 메구루 | 뉴토끼, links=83"
        },
        {
          "time": "07:47:55",
          "message": "작품 제목: 갸루쌤 - 우에노 메구루"
        },
        {
          "time": "07:47:56",
          "message": "메타데이터 태그 저장: 갸루쌤, 우에노 메구루"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_32640",
        "target_id": "manhwa_32640",
        "title": "갸루쌤 - 우에노 메구루",
        "episodes_found": 81,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 81,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_32640",
          "title": "갸루쌤 - 우에노 메구루",
          "list_url": "https://newtoki1.org/manhwa/32640",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/32640"
          },
          "tags": [
            "갸루쌤",
            "우에노 메구루"
          ],
          "description": "도S갸루의 체육교사로 내가 개발되어 가는데...! 고등학교에 입학한 소라의 담임은, 폭유로 매우 섹시한 흑갸루 교사. 그것은, 첫사랑의 청초한 옆집 누나 스즈네의 변해버린 모습이었다! 날마다 고조되는 선생님의 교육적 지도. 허공은 지금까지 몰랐던 쾌감에 눈을 떠버리게 되는데...!?",
          "metadata_path": "/downloads/manhwa_32640/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 81,
        "total": 81,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "7ea953b52b",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:40:45",
      "started_at": "2026-06-04T07:44:25",
      "finished_at": "2026-06-04T07:46:44",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/11377",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_11377",
        "viewer_image_mode": "auto",
        "display_title": "갸루 밥(쿠킹 걸) - 타이요우 마리이",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:31:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:31:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:31:09",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:31:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:41:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:41:35"
        },
        {
          "time": "08:41:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:41:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:44:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:45:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:55:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:55:20"
        },
        {
          "time": "08:55:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:55:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:55:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:55:24",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:05:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:05:59"
        },
        {
          "time": "09:05:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:05:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:06:00",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:06:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:16:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:16:03"
        },
        {
          "time": "09:16:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:16:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:16:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:17:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:27:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:27:19"
        },
        {
          "time": "09:27:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:27:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:28:52",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:29:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:39:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:39:21"
        },
        {
          "time": "09:39:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:39:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:41:05",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:41:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:51:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:51:08"
        },
        {
          "time": "09:51:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:51:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:51:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:51:48",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:02:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:02:23"
        },
        {
          "time": "10:02:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:02:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:05:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:06:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:16:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:16:37"
        },
        {
          "time": "10:16:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:16:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:16:39",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:16:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:27:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:27:03"
        },
        {
          "time": "10:27:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:27:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:27:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:27:07",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:37:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:37:17"
        },
        {
          "time": "10:37:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:37:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:38:02",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:38:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:49:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:49:10"
        },
        {
          "time": "10:49:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:49:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:49:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:50:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:00:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:00:47"
        },
        {
          "time": "11:00:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:00:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:00:48",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:01:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:11:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:11:22"
        },
        {
          "time": "11:11:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:11:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:11:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:12:27",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:22:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:22:27"
        },
        {
          "time": "11:22:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:22:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:22:28",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:23:02",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:33:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:33:22"
        },
        {
          "time": "11:33:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:33:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:33:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:34:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:44:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:44:27"
        },
        {
          "time": "11:44:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:44:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:44:28",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:45:34",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:55:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:55:34"
        },
        {
          "time": "11:55:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:55:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:55:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:55:39",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:06:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:06:03"
        },
        {
          "time": "12:06:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:06:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:07:20",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:07:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:17:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:17:50"
        },
        {
          "time": "12:17:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:17:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:18:06",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:31:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:31:21"
        },
        {
          "time": "12:31:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:31:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:05",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:30:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #420"
        },
        {
          "time": "22:30:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:30:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루 밥(쿠킹 걸) - 타이요우 마리이 | 뉴토끼, links=71"
        },
        {
          "time": "22:32:00",
          "message": "작품 제목: 갸루 밥(쿠킹 걸) - 타이요우 마리이"
        },
        {
          "time": "22:32:00",
          "message": "메타데이터 태그 저장: 갸루 밥(쿠킹 걸, 타이요우 마리이"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:46:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #101"
        },
        {
          "time": "13:46:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:46:37",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:46:37",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:57:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:57:25"
        },
        {
          "time": "13:57:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:57:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:47:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1476"
        },
        {
          "time": "13:47:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:48:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루 밥(쿠킹 걸) - 타이요우 마리이 | 뉴토끼, links=71"
        },
        {
          "time": "13:48:13",
          "message": "작품 제목: 갸루 밥(쿠킹 걸) - 타이요우 마리이"
        },
        {
          "time": "13:48:13",
          "message": "메타데이터 태그 저장: 갸루 밥(쿠킹 걸, 타이요우 마리이"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:13:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "17:13:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:13:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루 밥(쿠킹 걸) - 타이요우 마리이 | 뉴토끼, links=71"
        },
        {
          "time": "17:14:28",
          "message": "작품 제목: 갸루 밥(쿠킹 걸) - 타이요우 마리이"
        },
        {
          "time": "17:14:28",
          "message": "메타데이터 태그 저장: 갸루 밥(쿠킹 걸, 타이요우 마리이"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:45:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #51"
        },
        {
          "time": "14:45:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:45:48",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:45:48",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:45:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #52"
        },
        {
          "time": "14:45:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:46:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루 밥(쿠킹 걸) - 타이요우 마리이 | 뉴토끼, links=71"
        },
        {
          "time": "14:46:36",
          "message": "작품 제목: 갸루 밥(쿠킹 걸) - 타이요우 마리이"
        },
        {
          "time": "14:46:37",
          "message": "메타데이터 태그 저장: 갸루 밥(쿠킹 걸, 타이요우 마리이"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:45:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1205"
        },
        {
          "time": "07:45:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:45:56",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:45:56",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:45:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1206"
        },
        {
          "time": "07:45:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:46:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루 밥(쿠킹 걸) - 타이요우 마리이 | 뉴토끼, links=71"
        },
        {
          "time": "07:46:43",
          "message": "작품 제목: 갸루 밥(쿠킹 걸) - 타이요우 마리이"
        },
        {
          "time": "07:46:43",
          "message": "메타데이터 태그 저장: 갸루 밥(쿠킹 걸, 타이요우 마리이"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_11377",
        "target_id": "manhwa_11377",
        "title": "갸루 밥(쿠킹 걸) - 타이요우 마리이",
        "episodes_found": 69,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 69,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_11377",
          "title": "갸루 밥(쿠킹 걸) - 타이요우 마리이",
          "list_url": "https://newtoki1.org/manhwa/11377",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/11377"
          },
          "tags": [
            "갸루 밥(쿠킹 걸",
            "타이요우 마리이"
          ],
          "description": "새로운 학교에 부임한 지 3개월, 아이들과 쉽게 친해지지 못해 아쉬워하던 가정과목 교사 야베 신지는 엉뚱한 부탁을 계기로 학교 최고의 날라리 여고생 오카자키 미쿠와 `둘만`의 요리 연구부를 만들게 된다. 단둘이 보내는 시간, 미쿠의 의미심장한 행동에 야베 선생님은 당황스러워하는 것 같",
          "metadata_path": "/downloads/manhwa_11377/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 69,
        "total": 69,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "cfde4f32c1",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:40:40",
      "started_at": "2026-06-04T07:42:43",
      "finished_at": "2026-06-04T07:44:25",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35018",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35018",
        "viewer_image_mode": "auto",
        "display_title": "갸루 아내의 비밀 - 쿠도",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:31:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:31:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:31:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:31:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:41:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:41:35"
        },
        {
          "time": "08:41:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:41:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:45:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:45:56",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:55:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:55:56"
        },
        {
          "time": "08:55:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:55:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:55:57",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:56:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:06:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:06:31"
        },
        {
          "time": "09:06:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:06:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:06:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:07:05",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:17:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:17:10"
        },
        {
          "time": "09:17:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:17:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:17:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:17:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:27:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:27:19"
        },
        {
          "time": "09:27:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:27:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:29:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:29:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:40:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:40:17"
        },
        {
          "time": "09:40:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:40:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:41:09",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:41:44",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:51:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:51:48"
        },
        {
          "time": "09:51:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:51:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:51:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:51:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:02:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:02:23"
        },
        {
          "time": "10:02:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:02:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:06:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:06:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:16:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:16:37"
        },
        {
          "time": "10:16:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:16:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:16:44",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:16:47",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:27:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:27:03"
        },
        {
          "time": "10:27:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:27:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:27:08",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:27:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:37:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:37:17"
        },
        {
          "time": "10:37:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:37:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:38:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:38:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:49:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:49:10"
        },
        {
          "time": "10:49:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:49:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:50:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:50:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:00:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:00:47"
        },
        {
          "time": "11:00:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:00:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:01:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:01:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:12:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:12:27"
        },
        {
          "time": "11:12:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:12:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:12:29",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:13:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:23:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:23:03"
        },
        {
          "time": "11:23:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:23:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:23:05",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:23:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:33:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:33:22"
        },
        {
          "time": "11:33:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:33:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:34:03",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:34:49",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:45:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:45:34"
        },
        {
          "time": "11:45:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:45:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:45:35",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:45:38",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:55:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:55:39"
        },
        {
          "time": "11:55:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:55:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:55:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:56:17",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:06:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:06:44"
        },
        {
          "time": "12:06:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:06:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:07:51",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:08:05",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:21:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:21:06"
        },
        {
          "time": "12:21:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:21:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:21:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:37:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:37:30"
        },
        {
          "time": "12:37:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:37:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:05",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:30:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #419"
        },
        {
          "time": "22:30:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:30:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루 아내의 비밀 - 쿠도 | 뉴토끼, links=45"
        },
        {
          "time": "22:30:43",
          "message": "작품 제목: 갸루 아내의 비밀 - 쿠도"
        },
        {
          "time": "22:30:43",
          "message": "메타데이터 태그 저장: 갸루 아내의 비밀, 쿠도"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:46:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #102"
        },
        {
          "time": "13:46:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:46:58",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:47:32",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:58:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:58:12"
        },
        {
          "time": "13:58:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:58:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:48:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1477"
        },
        {
          "time": "13:48:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:48:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루 아내의 비밀 - 쿠도 | 뉴토끼, links=45"
        },
        {
          "time": "13:48:28",
          "message": "작품 제목: 갸루 아내의 비밀 - 쿠도"
        },
        {
          "time": "13:48:28",
          "message": "메타데이터 태그 저장: 갸루 아내의 비밀, 쿠도"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:13:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "17:13:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:13:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루 아내의 비밀 - 쿠도 | 뉴토끼, links=45"
        },
        {
          "time": "17:13:37",
          "message": "작품 제목: 갸루 아내의 비밀 - 쿠도"
        },
        {
          "time": "17:13:37",
          "message": "메타데이터 태그 저장: 갸루 아내의 비밀, 쿠도"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:46:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #53"
        },
        {
          "time": "14:46:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:47:32",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:47:43",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:48:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #54"
        },
        {
          "time": "14:48:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:48:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루 아내의 비밀 - 쿠도 | 뉴토끼, links=45"
        },
        {
          "time": "14:48:10",
          "message": "작품 제목: 갸루 아내의 비밀 - 쿠도"
        },
        {
          "time": "14:48:11",
          "message": "메타데이터 태그 저장: 갸루 아내의 비밀, 쿠도"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:43:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1203"
        },
        {
          "time": "07:43:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:44:14",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:44:14",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:44:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1204"
        },
        {
          "time": "07:44:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:44:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루 아내의 비밀 - 쿠도 | 뉴토끼, links=45"
        },
        {
          "time": "07:44:23",
          "message": "작품 제목: 갸루 아내의 비밀 - 쿠도"
        },
        {
          "time": "07:44:23",
          "message": "메타데이터 태그 저장: 갸루 아내의 비밀, 쿠도"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35018",
        "target_id": "manhwa_35018",
        "title": "갸루 아내의 비밀 - 쿠도",
        "episodes_found": 43,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 43,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35018",
          "title": "갸루 아내의 비밀 - 쿠도",
          "list_url": "https://newtoki1.org/manhwa/35018",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35018"
          },
          "tags": [
            "갸루 아내의 비밀",
            "쿠도"
          ],
          "description": "겨울 눈 (후유키)는 미인으로 멋진 걸! 그렇지만 「남편」의 앞만 보여주는 비밀의 모습이 있어… SNS 누계 37만 좋다! 의 귀여운 「걸 아내」와의 러브 코미디!",
          "metadata_path": "/downloads/manhwa_35018/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 43,
        "total": 43,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "f40d1678ae",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:40:35",
      "started_at": "2026-06-04T07:41:01",
      "finished_at": "2026-06-04T07:42:43",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/23634",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_23634",
        "viewer_image_mode": "auto",
        "display_title": "갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:19:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:20:51",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:21:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:31:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:31:26"
        },
        {
          "time": "08:31:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:31:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:31:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:31:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:41:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:41:35"
        },
        {
          "time": "08:41:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:41:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:45:57",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:46:00",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:56:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:56:31"
        },
        {
          "time": "08:56:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:56:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:56:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:57:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:07:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:07:06"
        },
        {
          "time": "09:07:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:07:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:07:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:07:36",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:17:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:17:36"
        },
        {
          "time": "09:17:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:17:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:17:37",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:18:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:28:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:28:51"
        },
        {
          "time": "09:28:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:28:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:29:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:29:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:40:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:40:17"
        },
        {
          "time": "09:40:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:40:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:41:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:41:48",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:51:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:51:48"
        },
        {
          "time": "09:51:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:51:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:51:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:52:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:02:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:02:59"
        },
        {
          "time": "10:02:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:02:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:06:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:07:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:17:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:17:10"
        },
        {
          "time": "10:17:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:17:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:17:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:17:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:27:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:27:29"
        },
        {
          "time": "10:27:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:27:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:27:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:28:04",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:38:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:38:06"
        },
        {
          "time": "10:38:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:38:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:38:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:38:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:49:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:49:10"
        },
        {
          "time": "10:49:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:49:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:50:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:50:57",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:01:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:01:22"
        },
        {
          "time": "11:01:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:01:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:01:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:01:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:12:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:12:27"
        },
        {
          "time": "11:12:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:12:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:13:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:13:07",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:23:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:23:08"
        },
        {
          "time": "11:23:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:23:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:23:09",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:23:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:33:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:33:22"
        },
        {
          "time": "11:33:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:33:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:34:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:34:53",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:45:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:45:34"
        },
        {
          "time": "11:45:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:45:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:45:39",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:45:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:56:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:56:17"
        },
        {
          "time": "11:56:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:56:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:56:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:56:55",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:07:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:07:19"
        },
        {
          "time": "12:07:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:07:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:08:06",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:08:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:21:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:21:06"
        },
        {
          "time": "12:21:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:21:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:24:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:40:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:40:05"
        },
        {
          "time": "12:40:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:40:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:05",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:30:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #418"
        },
        {
          "time": "22:30:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:30:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토 | 뉴토끼, links=35"
        },
        {
          "time": "22:30:28",
          "message": "작품 제목: 갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토"
        },
        {
          "time": "22:30:28",
          "message": "메타데이터 태그 저장: 갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~, 쿠로토"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:48:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #103"
        },
        {
          "time": "13:48:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:48:28",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:48:28",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:58:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:58:33"
        },
        {
          "time": "13:58:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:58:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:48:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1478"
        },
        {
          "time": "13:48:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:48:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토 | 뉴토끼, links=35"
        },
        {
          "time": "13:48:43",
          "message": "작품 제목: 갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토"
        },
        {
          "time": "13:48:43",
          "message": "메타데이터 태그 저장: 갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~, 쿠로토"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:12:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "17:12:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:12:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토 | 뉴토끼, links=35"
        },
        {
          "time": "17:13:22",
          "message": "작품 제목: 갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토"
        },
        {
          "time": "17:13:22",
          "message": "메타데이터 태그 저장: 갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~, 쿠로토"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:48:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #55"
        },
        {
          "time": "14:48:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:49:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토 | 뉴토끼, links=35"
        },
        {
          "time": "14:50:37",
          "message": "작품 제목: 갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토"
        },
        {
          "time": "14:50:37",
          "message": "메타데이터 태그 저장: 갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~, 쿠로토"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:41:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1201"
        },
        {
          "time": "07:41:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:41:56",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:41:57",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:41:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1202"
        },
        {
          "time": "07:41:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:42:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토 | 뉴토끼, links=35"
        },
        {
          "time": "07:42:42",
          "message": "작품 제목: 갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토"
        },
        {
          "time": "07:42:42",
          "message": "메타데이터 태그 저장: 갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~, 쿠로토"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23634",
        "target_id": "manhwa_23634",
        "title": "갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토",
        "episodes_found": 33,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 33,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23634",
          "title": "갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~ - 쿠로토",
          "list_url": "https://newtoki1.org/manhwa/23634",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23634"
          },
          "tags": [
            "갸루마마와 헉헉퍽퍽SEX~유부녀의 초절 테크닉에 진심절정!~",
            "쿠로토"
          ],
          "description": "쿠로토(黑斗)의 만화. 제목이나 소재로 보면 음지작으로 보이나 양지에서 연재되는 작품이다.",
          "metadata_path": "/downloads/manhwa_23634/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 33,
        "total": 33,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "2535be14ff",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:40:30",
      "started_at": "2026-06-04T07:39:13",
      "finished_at": "2026-06-04T07:41:01",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35475",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35475",
        "viewer_image_mode": "auto",
        "display_title": "뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:32:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:32:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:32:02",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:32:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:42:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:42:31"
        },
        {
          "time": "08:42:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:42:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:46:01",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:46:37",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:57:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:57:06"
        },
        {
          "time": "08:57:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:57:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:57:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:57:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:07:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:07:36"
        },
        {
          "time": "09:07:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:07:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:07:37",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:07:40",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:18:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:18:42"
        },
        {
          "time": "09:18:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:18:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:18:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:18:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:28:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:28:51"
        },
        {
          "time": "09:28:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:28:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:29:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:30:23",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:40:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:40:25"
        },
        {
          "time": "09:40:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:40:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:41:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:41:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:51:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:51:53"
        },
        {
          "time": "09:51:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:51:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:52:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:53:05",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:03:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:03:20"
        },
        {
          "time": "10:03:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:03:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:07:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:07:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:17:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:17:46"
        },
        {
          "time": "10:17:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:17:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:17:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:18:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:28:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:28:21"
        },
        {
          "time": "10:28:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:28:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:28:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:28:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:38:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:38:25"
        },
        {
          "time": "10:38:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:38:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:38:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:38:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:49:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:49:10"
        },
        {
          "time": "10:49:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:49:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:50:58",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:51:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:01:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:01:33"
        },
        {
          "time": "11:01:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:01:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:01:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:02:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:12:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:12:27"
        },
        {
          "time": "11:12:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:12:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:13:08",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:13:44",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:23:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:23:44"
        },
        {
          "time": "11:23:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:23:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:23:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:24:19",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:34:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:34:49"
        },
        {
          "time": "11:34:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:34:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:34:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:34:57",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:45:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:45:34"
        },
        {
          "time": "11:45:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:45:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:45:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:46:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:56:55"
        },
        {
          "time": "11:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:56:56",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:57:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:07:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:07:50"
        },
        {
          "time": "12:07:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:07:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:08:42",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:09:00",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:21:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:21:06"
        },
        {
          "time": "12:21:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:21:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:28:20",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:41:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:41:37"
        },
        {
          "time": "12:41:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:41:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:05",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:29:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #417"
        },
        {
          "time": "22:29:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:30:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미 | 뉴토끼, links=15"
        },
        {
          "time": "22:30:11",
          "message": "작품 제목: 뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미"
        },
        {
          "time": "22:30:12",
          "message": "메타데이터 태그 저장: 뒷자리의 갸루에게 호감을 사고 말았다, 슈야 마로미"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:48:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #104"
        },
        {
          "time": "13:48:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:48:49",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:48:49",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:58:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:58:56"
        },
        {
          "time": "13:58:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:58:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:49:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1479"
        },
        {
          "time": "13:49:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:49:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미 | 뉴토끼, links=15"
        },
        {
          "time": "13:49:33",
          "message": "작품 제목: 뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미"
        },
        {
          "time": "13:49:33",
          "message": "메타데이터 태그 저장: 뒷자리의 갸루에게 호감을 사고 말았다, 슈야 마로미"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:12:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "17:12:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:12:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미 | 뉴토끼, links=15"
        },
        {
          "time": "17:12:16",
          "message": "작품 제목: 뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미"
        },
        {
          "time": "17:12:16",
          "message": "메타데이터 태그 저장: 뒷자리의 갸루에게 호감을 사고 말았다, 슈야 마로미"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #56"
        },
        {
          "time": "14:51:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:51:33",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:51:34",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:51:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #57"
        },
        {
          "time": "14:51:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:51:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미 | 뉴토끼, links=15"
        },
        {
          "time": "14:51:48",
          "message": "작품 제목: 뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미"
        },
        {
          "time": "14:51:49",
          "message": "메타데이터 태그 저장: 뒷자리의 갸루에게 호감을 사고 말았다, 슈야 마로미"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:39:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1199"
        },
        {
          "time": "07:39:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:40:09",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:40:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:40:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1200"
        },
        {
          "time": "07:40:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:40:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미 | 뉴토끼, links=15"
        },
        {
          "time": "07:40:59",
          "message": "작품 제목: 뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미"
        },
        {
          "time": "07:41:00",
          "message": "메타데이터 태그 저장: 뒷자리의 갸루에게 호감을 사고 말았다, 슈야 마로미"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35475",
        "target_id": "manhwa_35475",
        "title": "뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미",
        "episodes_found": 13,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 13,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35475",
          "title": "뒷자리의 갸루에게 호감을 사고 말았다 - 슈야 마로미",
          "list_url": "https://newtoki1.org/manhwa/35475",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35475"
          },
          "tags": [
            "뒷자리의 갸루에게 호감을 사고 말았다",
            "슈야 마로미"
          ],
          "description": "아무런 접점도 없는 그녀에게 호감을 샀다...것 만으로 나의 학교생활이 격변!? 뒷자리의 동급생으로, 학교 제일의 미소녀 갸루 유우자키 시노. 공부만 하고 친구가 하나도 없는 나날을 보내는 내가 그녀를 도와준 것은 그저 변덕에 지나지 않았다. 그럴 리가 방과 후가 기다려졌다! ……네,",
          "metadata_path": "/downloads/manhwa_35475/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 13,
        "total": 13,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "103ee1ceee",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:40:25",
      "started_at": "2026-06-04T07:38:02",
      "finished_at": "2026-06-04T07:39:13",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/25178",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_25178",
        "viewer_image_mode": "auto",
        "display_title": "흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:22:38",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:32:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:32:38"
        },
        {
          "time": "08:32:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:32:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:32:39",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:32:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:42:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:42:43"
        },
        {
          "time": "08:42:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:42:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:46:37",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:47:18",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:57:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:57:18"
        },
        {
          "time": "08:57:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:57:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:57:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:57:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:07:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:07:36"
        },
        {
          "time": "09:07:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:07:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:07:41",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:07:44",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:18:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:18:42"
        },
        {
          "time": "09:18:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:18:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:18:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:18:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:28:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:28:51"
        },
        {
          "time": "09:28:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:28:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:30:24",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:30:27",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:41:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:41:03"
        },
        {
          "time": "09:41:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:41:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:41:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:42:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:53:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:53:05"
        },
        {
          "time": "09:53:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:53:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:53:06",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:53:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:03:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:03:20"
        },
        {
          "time": "10:03:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:03:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:07:46",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:08:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:18:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:18:22"
        },
        {
          "time": "10:18:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:18:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:18:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:18:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:28:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:28:26"
        },
        {
          "time": "10:28:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:28:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:28:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:29:01",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:39:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:39:01"
        },
        {
          "time": "10:39:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:39:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:39:03",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:39:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:50:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:50:16"
        },
        {
          "time": "10:50:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:50:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:51:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:52:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:02:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:02:09"
        },
        {
          "time": "11:02:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:02:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:02:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:02:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:12:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:12:27"
        },
        {
          "time": "11:12:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:12:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:13:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:14:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:24:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:24:20"
        },
        {
          "time": "11:24:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:24:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:24:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:24:24",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:34:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:34:49"
        },
        {
          "time": "11:34:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:34:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:34:58",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:35:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:45:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:45:38"
        },
        {
          "time": "11:45:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:45:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:46:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:46:24",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:56:55"
        },
        {
          "time": "11:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:57:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:57:51",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:08:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:08:05"
        },
        {
          "time": "12:08:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:08:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:21:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:21:06"
        },
        {
          "time": "12:21:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:21:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:31:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:44:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:44:35"
        },
        {
          "time": "12:44:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:44:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:05",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:29:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #416"
        },
        {
          "time": "22:29:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:29:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포 | 뉴토끼, links=16"
        },
        {
          "time": "22:29:56",
          "message": "작품 제목: 흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포"
        },
        {
          "time": "22:29:56",
          "message": "메타데이터 태그 저장: 오리시마 유포포, 흑갸루가 되어서 친구와 해봤다"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:48:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #105"
        },
        {
          "time": "13:48:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:49:11",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:49:11",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:59:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:59:18"
        },
        {
          "time": "13:59:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:59:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:49:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1480"
        },
        {
          "time": "13:49:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:49:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포 | 뉴토끼, links=16"
        },
        {
          "time": "13:50:19",
          "message": "작품 제목: 흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포"
        },
        {
          "time": "13:50:19",
          "message": "메타데이터 태그 저장: 오리시마 유포포, 흑갸루가 되어서 친구와 해봤다"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:11:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "17:11:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:11:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포 | 뉴토끼, links=16"
        },
        {
          "time": "17:11:25",
          "message": "작품 제목: 흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포"
        },
        {
          "time": "17:11:25",
          "message": "메타데이터 태그 저장: 오리시마 유포포, 흑갸루가 되어서 친구와 해봤다"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:52:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #58"
        },
        {
          "time": "14:52:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:52:45",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:52:46",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:52:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #59"
        },
        {
          "time": "14:52:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:52:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포 | 뉴토끼, links=16"
        },
        {
          "time": "14:53:00",
          "message": "작품 제목: 흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포"
        },
        {
          "time": "14:53:01",
          "message": "메타데이터 태그 저장: 오리시마 유포포, 흑갸루가 되어서 친구와 해봤다"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:38:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1197"
        },
        {
          "time": "07:38:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:38:24",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:38:24",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:38:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1198"
        },
        {
          "time": "07:38:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:38:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포 | 뉴토끼, links=16"
        },
        {
          "time": "07:39:12",
          "message": "작품 제목: 흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포"
        },
        {
          "time": "07:39:12",
          "message": "메타데이터 태그 저장: 오리시마 유포포, 흑갸루가 되어서 친구와 해봤다"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_25178",
        "target_id": "manhwa_25178",
        "title": "흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포",
        "episodes_found": 14,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 14,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_25178",
          "title": "흑갸루가 되어서 친구와 해봤다 - 오리시마 유포포",
          "list_url": "https://newtoki1.org/manhwa/25178",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/25178"
          },
          "tags": [
            "오리시마 유포포",
            "흑갸루가 되어서 친구와 해봤다"
          ],
          "description": "`여자가 된 너랑 한다는 게 엄청 흥분돼.` 절친의 손길에 흠뻑 젖는 그곳. 이 자식, 이렇게 테크닉이 좋았냐고…! 시온과 루이는 헌팅을 실패해본 적이 없는 황금 페어. 시온은 오늘도 여자와 놀고 난 뒤 루이와 만나려고 뒤를 돈 순간, 알 수 없는 약을 뒤집어쓰고 정신을 잃었다가 문득",
          "metadata_path": "/downloads/manhwa_25178/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 14,
        "total": 14,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "6ef5e538ed",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:40:20",
      "started_at": "2026-06-04T07:36:52",
      "finished_at": "2026-06-04T07:38:02",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/33313",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_33313",
        "viewer_image_mode": "auto",
        "display_title": "이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:20:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:22:39",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:23:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:33:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:33:15"
        },
        {
          "time": "08:33:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:33:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:33:16",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:33:54",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:43:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:43:58"
        },
        {
          "time": "08:43:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:43:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:47:19",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:47:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:57:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:57:22"
        },
        {
          "time": "08:57:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:57:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:57:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:57:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:07:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:07:36"
        },
        {
          "time": "09:07:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:07:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:07:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:08:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:18:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:18:42"
        },
        {
          "time": "09:18:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:18:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:18:51",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:19:28",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:29:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:29:42"
        },
        {
          "time": "09:29:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:29:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:30:28",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:30:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:41:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:41:03"
        },
        {
          "time": "09:41:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:41:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:42:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:42:34",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:53:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:53:05"
        },
        {
          "time": "09:53:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:53:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:53:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:53:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:03:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:03:20"
        },
        {
          "time": "10:03:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:03:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:08:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:08:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:18:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:18:26"
        },
        {
          "time": "10:18:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:18:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:18:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:18:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:29:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:29:01"
        },
        {
          "time": "10:29:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:29:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:29:02",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:29:05",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:39:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:39:41"
        },
        {
          "time": "10:39:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:39:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:39:44",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:39:47",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:50:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:50:16"
        },
        {
          "time": "10:50:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:50:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:52:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:52:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:02:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:02:13"
        },
        {
          "time": "11:02:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:02:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:02:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:02:17",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:12:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:12:27"
        },
        {
          "time": "11:12:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:12:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:14:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:14:56",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:24:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:24:56"
        },
        {
          "time": "11:24:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:24:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:24:57",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:25:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:35:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:35:35"
        },
        {
          "time": "11:35:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:35:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:35:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:36:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:46:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:46:20"
        },
        {
          "time": "11:46:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:46:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:46:25",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:46:28",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:56:55"
        },
        {
          "time": "11:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:57:52",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:58:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:08:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:08:41"
        },
        {
          "time": "12:08:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:08:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:09:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:09:17",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:21:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:21:06"
        },
        {
          "time": "12:21:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:21:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:34:29",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:53:49",
          "message": "작품 제목: 33313"
        },
        {
          "time": "13:03:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:03:55"
        },
        {
          "time": "13:03:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:03:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:29:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #415"
        },
        {
          "time": "22:29:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:29:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로 | 뉴토끼, links=56"
        },
        {
          "time": "22:29:40",
          "message": "작품 제목: 이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로"
        },
        {
          "time": "22:29:40",
          "message": "메타데이터 태그 저장: 노리 고로, 이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:49:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #106"
        },
        {
          "time": "13:49:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:50:05",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:50:05",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:00:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:00:12"
        },
        {
          "time": "14:00:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:00:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:50:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1481"
        },
        {
          "time": "13:50:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:50:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로 | 뉴토끼, links=56"
        },
        {
          "time": "13:50:36",
          "message": "작품 제목: 이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로"
        },
        {
          "time": "13:50:36",
          "message": "메타데이터 태그 저장: 노리 고로, 이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:10:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "17:10:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:11:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로 | 뉴토끼, links=56"
        },
        {
          "time": "17:11:08",
          "message": "작품 제목: 이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로"
        },
        {
          "time": "17:11:08",
          "message": "메타데이터 태그 저장: 노리 고로, 이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:53:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #60"
        },
        {
          "time": "14:53:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:53:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로 | 뉴토끼, links=56"
        },
        {
          "time": "14:53:50",
          "message": "작품 제목: 이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로"
        },
        {
          "time": "14:53:51",
          "message": "메타데이터 태그 저장: 노리 고로, 이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:36:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1195"
        },
        {
          "time": "07:36:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:37:14",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:37:15",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:37:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1196"
        },
        {
          "time": "07:37:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:37:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로 | 뉴토끼, links=56"
        },
        {
          "time": "07:38:01",
          "message": "작품 제목: 이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로"
        },
        {
          "time": "07:38:01",
          "message": "메타데이터 태그 저장: 노리 고로, 이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_33313",
        "target_id": "manhwa_33313",
        "title": "이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로",
        "episodes_found": 54,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 54,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_33313",
          "title": "이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~ - 노리 고로",
          "list_url": "https://newtoki1.org/manhwa/33313",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/33313"
          },
          "tags": [
            "노리 고로",
            "이마이즈미네 집은 아무래도 갸루의 아지트가 된 모양이다~Deep~"
          ],
          "description": "사연이 있어 홀로 살고 있는 학생 이마이즈미 군.그런 그에게는 누구에게도 말할 수 없는 비밀이.그것은 학원에서 상위 카스트에 위치하는 갸루 하자자키 코도자카 사사키의 3명과 함께 살고 있는것...버릇도 없고 버릇도 있는 갸루들이랑 그냥 놀고 ,그저 매일 같이 몸을 쌓는 날들.나태하고 야",
          "metadata_path": "/downloads/manhwa_33313/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 54,
        "total": 54,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3b0cb57ce1",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:40:15",
      "started_at": "2026-06-04T07:35:41",
      "finished_at": "2026-06-04T07:36:52",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/11873",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_11873",
        "viewer_image_mode": "auto",
        "display_title": "장난치는갸루 안죠 양 - 사오리",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:21:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:25:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:25:15",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:35:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:35:41"
        },
        {
          "time": "08:35:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:35:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:35:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:35:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:45:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:45:56"
        },
        {
          "time": "08:45:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:45:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:48:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:48:55",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:58:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:58:55"
        },
        {
          "time": "08:58:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:58:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:58:56",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:58:59",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:09:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:09:34"
        },
        {
          "time": "09:09:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:09:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:09:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:10:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:20:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:20:45"
        },
        {
          "time": "09:20:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:20:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:20:46",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:21:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:32:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:32:16"
        },
        {
          "time": "09:32:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:32:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:32:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:32:36",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:43:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:43:11"
        },
        {
          "time": "09:43:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:43:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:43:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:43:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:54:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:54:17"
        },
        {
          "time": "09:54:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:54:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:54:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:55:28",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:05:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:05:53"
        },
        {
          "time": "10:05:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:05:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:10:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:10:45",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:21:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:21:10"
        },
        {
          "time": "10:21:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:21:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:21:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:21:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:31:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:31:15"
        },
        {
          "time": "10:31:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:31:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:31:16",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:31:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:41:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:41:23"
        },
        {
          "time": "10:41:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:41:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:41:25",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:41:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:51:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:51:33"
        },
        {
          "time": "10:51:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:51:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:53:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:54:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:04:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:04:06"
        },
        {
          "time": "11:04:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:04:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:04:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:04:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:14:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:14:20"
        },
        {
          "time": "11:14:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:14:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:16:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:16:17",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:26:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:26:47"
        },
        {
          "time": "11:26:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:26:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:26:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:27:23",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:37:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:37:23"
        },
        {
          "time": "11:37:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:37:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:37:25",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:37:43",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:47:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:47:43"
        },
        {
          "time": "11:47:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:47:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:47:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:48:02",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:58:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:58:06"
        },
        {
          "time": "11:58:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:58:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:58:20",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:58:23",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:08:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:08:41"
        },
        {
          "time": "12:08:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:08:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:11:06",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:11:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:24:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:24:40"
        },
        {
          "time": "12:24:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:24:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:42:18",
          "message": "작품 제목: theajack.github.io"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:53:41",
          "message": "작품 제목: 11873"
        },
        {
          "time": "13:03:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:03:48"
        },
        {
          "time": "13:03:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:03:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:29:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #414"
        },
        {
          "time": "22:29:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:29:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=장난치는갸루 안죠 양 - 사오리 | 뉴토끼, links=217"
        },
        {
          "time": "22:29:22",
          "message": "작품 제목: 장난치는갸루 안죠 양 - 사오리"
        },
        {
          "time": "22:29:22",
          "message": "메타데이터 태그 저장: 사오리, 장난치는갸루 안죠 양"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:50:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #107"
        },
        {
          "time": "13:50:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:51:01",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:51:12",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:01:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:01:26"
        },
        {
          "time": "14:01:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:01:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:51:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1482"
        },
        {
          "time": "13:51:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:51:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=장난치는갸루 안죠 양 - 사오리 | 뉴토끼, links=217"
        },
        {
          "time": "13:51:25",
          "message": "작품 제목: 장난치는갸루 안죠 양 - 사오리"
        },
        {
          "time": "13:51:26",
          "message": "메타데이터 태그 저장: 사오리, 장난치는갸루 안죠 양"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:09:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "17:09:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:09:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=장난치는갸루 안죠 양 - 사오리 | 뉴토끼, links=217"
        },
        {
          "time": "17:09:33",
          "message": "작품 제목: 장난치는갸루 안죠 양 - 사오리"
        },
        {
          "time": "17:10:07",
          "message": "메타데이터 태그 저장: 사오리, 장난치는갸루 안죠 양"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:56:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #63"
        },
        {
          "time": "14:56:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:56:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=장난치는갸루 안죠 양 - 사오리 | 뉴토끼, links=217"
        },
        {
          "time": "14:57:00",
          "message": "작품 제목: 장난치는갸루 안죠 양 - 사오리"
        },
        {
          "time": "14:57:01",
          "message": "메타데이터 태그 저장: 사오리, 장난치는갸루 안죠 양"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:36:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1193"
        },
        {
          "time": "07:36:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:36:34",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:36:35",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:36:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1194"
        },
        {
          "time": "07:36:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:36:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=장난치는갸루 안죠 양 - 사오리 | 뉴토끼, links=217"
        },
        {
          "time": "07:36:51",
          "message": "작품 제목: 장난치는갸루 안죠 양 - 사오리"
        },
        {
          "time": "07:36:51",
          "message": "메타데이터 태그 저장: 사오리, 장난치는갸루 안죠 양"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_11873",
        "target_id": "manhwa_11873",
        "title": "장난치는갸루 안죠 양 - 사오리",
        "episodes_found": 215,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 215,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_11873",
          "title": "장난치는갸루 안죠 양 - 사오리",
          "list_url": "https://newtoki1.org/manhwa/11873",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/11873"
          },
          "tags": [
            "사오리",
            "장난치는갸루 안죠 양"
          ],
          "description": "성실하지만 반에서 그다지 눈에 띄지 않는 세토에게 언제나 잘 나가는 안죠 양이 일일이 야하게 날아온다.항상 아슬아슬 두근두근 사춘기 피치 러브코메디.",
          "metadata_path": "/downloads/manhwa_11873/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 215,
        "total": 215,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "bcd7d85531",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:40:11",
      "started_at": "2026-06-04T07:32:55",
      "finished_at": "2026-06-04T07:35:41",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35347",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35347",
        "viewer_image_mode": "auto",
        "display_title": "건방진 갸루 누나를 참교육 시키는 이야기 - 에가키 누마",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:55:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:05:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:05:53"
        },
        {
          "time": "10:05:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:05:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:10:46",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:10:49",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:21:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:21:10"
        },
        {
          "time": "10:21:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:21:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:21:16",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:21:19",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:31:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:31:20"
        },
        {
          "time": "10:31:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:31:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:31:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:31:55",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:41:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:41:55"
        },
        {
          "time": "10:41:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:41:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:41:58",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:42:01",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:52:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:52:09"
        },
        {
          "time": "10:52:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:52:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:54:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:54:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:04:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:04:11"
        },
        {
          "time": "11:04:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:04:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:04:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:04:15",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:14:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:14:20"
        },
        {
          "time": "11:14:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:14:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:16:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:16:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:26:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:26:47"
        },
        {
          "time": "11:26:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:26:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:27:24",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:27:59",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:37:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:37:59"
        },
        {
          "time": "11:37:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:37:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:38:00",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:38:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:48:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:48:03"
        },
        {
          "time": "11:48:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:48:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:48:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:48:07",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:58:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:58:10"
        },
        {
          "time": "11:58:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:58:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:58:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:58:27",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:08:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:08:41"
        },
        {
          "time": "12:08:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:08:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:11:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:11:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:24:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:24:40"
        },
        {
          "time": "12:24:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:24:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:42:24",
          "message": "작품 제목: theajack.github.io"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:53:34",
          "message": "작품 제목: 35347"
        },
        {
          "time": "13:03:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:03:48"
        },
        {
          "time": "13:03:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:03:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:27:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #411"
        },
        {
          "time": "22:27:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:27:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=건방진 갸루 누나를 참교육 시키는 이야기 - 에가키 누마 | 뉴토끼, links=50"
        },
        {
          "time": "22:27:50",
          "message": "작품 제목: 건방진 갸루 누나를 참교육 시키는 이야기 - 에가키 누마"
        },
        {
          "time": "22:27:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #412"
        },
        {
          "time": "22:27:50",
          "message": "메타데이터 태그 저장: 건방진 갸루 누나를 참교육 시키는 이야기, 에가키 누마"
        },
        {
          "time": "22:27:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:27:51",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "22:28:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #413"
        },
        {
          "time": "22:28:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:41:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T22:41:09"
        },
        {
          "time": "22:41:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:41:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:01:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #50"
        },
        {
          "time": "13:01:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:01:27",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:01:27",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:11:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:11:31"
        },
        {
          "time": "13:11:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:45:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1200"
        },
        {
          "time": "09:45:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:45:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=건방진 갸루 누나를 참교육 시키는 이야기 - 에가키 누마 | 뉴토끼, links=50"
        },
        {
          "time": "09:45:37",
          "message": "작품 제목: 건방진 갸루 누나를 참교육 시키는 이야기 - 에가키 누마"
        },
        {
          "time": "09:45:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1201"
        },
        {
          "time": "09:45:37",
          "message": "메타데이터 태그 저장: 건방진 갸루 누나를 참교육 시키는 이야기, 에가키 누마"
        },
        {
          "time": "09:45:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:45:37",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "09:45:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=건방진 갸루 누나를 참교육 시키는 이야기 32.5화 건방진 갸루 누나를…이야기 32.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:07:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #62"
        },
        {
          "time": "18:07:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:07:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=건방진 갸루 누나를 참교육 시키는 이야기 - 에가키 누마 | 뉴토끼, links=50"
        },
        {
          "time": "18:07:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #63"
        },
        {
          "time": "18:07:49",
          "message": "작품 제목: 건방진 갸루 누나를 참교육 시키는 이야기 - 에가키 누마"
        },
        {
          "time": "18:07:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:07:50",
          "message": "메타데이터 태그 저장: 건방진 갸루 누나를 참교육 시키는 이야기, 에가키 누마"
        },
        {
          "time": "18:07:50",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "18:08:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=건방진 갸루 누나를 참교육 시키는 이야기 32.5화 건방진 갸루 누나를…이야기 32.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:32:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #634"
        },
        {
          "time": "13:32:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:33:32",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:33:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #635"
        },
        {
          "time": "13:33:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:33:52",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "13:33:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #636"
        },
        {
          "time": "13:33:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:06:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-03T14:06:08"
        },
        {
          "time": "14:06:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:06:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "17:17:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #284"
        },
        {
          "time": "17:17:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:18:06",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "17:18:06",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "17:18:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #285"
        },
        {
          "time": "17:18:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:18:27",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/35347, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0605b1"
        },
        {
          "time": "17:18:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #286"
        },
        {
          "time": "17:18:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:18:48",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/35347, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0605b7"
        },
        {
          "time": "17:19:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #287"
        },
        {
          "time": "17:19:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:19:41",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/35347, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0605cb"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:33:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1188"
        },
        {
          "time": "07:33:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:33:50",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:33:51",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:33:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1189"
        },
        {
          "time": "07:33:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:34:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=건방진 갸루 누나를 참교육 시키는 이야기 - 에가키 누마 | 뉴토끼, links=50"
        },
        {
          "time": "07:34:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1190"
        },
        {
          "time": "07:34:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:34:06",
          "message": "작품 제목: 건방진 갸루 누나를 참교육 시키는 이야기 - 에가키 누마"
        },
        {
          "time": "07:34:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1191"
        },
        {
          "time": "07:34:27",
          "message": "메타데이터 태그 저장: 건방진 갸루 누나를 참교육 시키는 이야기, 에가키 누마"
        },
        {
          "time": "07:34:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:35:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1192"
        },
        {
          "time": "07:35:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:35:32",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "07:35:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=건방진 갸루 누나를 참교육 시키는 이야기 32.5화 건방진 갸루 누나를…이야기 32.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35347",
        "target_id": "manhwa_35347",
        "title": "건방진 갸루 누나를 참교육 시키는 이야기 - 에가키 누마",
        "episodes_found": 48,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 47,
        "images_found": 2,
        "images_downloaded": 0,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35347",
          "title": "건방진 갸루 누나를 참교육 시키는 이야기 - 에가키 누마",
          "list_url": "https://newtoki1.org/manhwa/35347",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35347"
          },
          "tags": [
            "건방진 갸루 누나를 참교육 시키는 이야기",
            "에가키 누마"
          ],
          "description": "주인공. 공부를 상당히 잘해서 명문 고등학교에 재학중이다. 바로 옆 통신제 고등학교에 다니는 누나를 마음에 안들어한다. 그도 그럴게 누나의 행실이 학교에 매우 나쁘게 소문나있기 때문. 누나와는 피가 이어저있지 않다. 사실 입으로는 누나를 싫어한다고는 하지만, 누나를 걱정해서 배달기사로",
          "metadata_path": "/downloads/manhwa_35347/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 36,
          "url": "https://newtoki1.org/manhwa/35347/1793564",
          "title": "건방진 갸루 누나를 참교육 시키는 이야기 32.5화 건방진 갸루 누나를…이야기 32.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "dec25e1dfb",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:39:16",
      "started_at": "2026-06-04T07:31:17",
      "finished_at": "2026-06-04T07:32:55",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35762",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35762",
        "viewer_image_mode": "auto",
        "display_title": "고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:21:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:23:51",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:25:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:35:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:35:06"
        },
        {
          "time": "08:35:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:35:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:35:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:35:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:45:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:45:56"
        },
        {
          "time": "08:45:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:45:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:47:39",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:47:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:57:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:57:42"
        },
        {
          "time": "08:57:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:57:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:57:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:57:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:08:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:08:22"
        },
        {
          "time": "09:08:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:08:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:08:33",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:08:37",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:18:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:18:42"
        },
        {
          "time": "09:18:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:18:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:19:33",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:20:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:30:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:30:23"
        },
        {
          "time": "09:30:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:30:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:30:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:31:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:41:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:41:44"
        },
        {
          "time": "09:41:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:41:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:43:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:43:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:53:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:53:42"
        },
        {
          "time": "09:53:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:53:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:53:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:54:17",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:05:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:05:17"
        },
        {
          "time": "10:05:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:05:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:08:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:09:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:19:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:19:33"
        },
        {
          "time": "10:19:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:19:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:19:33",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:19:37",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:29:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:29:37"
        },
        {
          "time": "10:29:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:29:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:29:38",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:29:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:39:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:39:41"
        },
        {
          "time": "10:39:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:39:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:39:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:39:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:50:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:50:16"
        },
        {
          "time": "10:50:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:50:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:52:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:52:53",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:03:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:03:25"
        },
        {
          "time": "11:03:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:03:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:03:25",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:03:28",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:13:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:13:44"
        },
        {
          "time": "11:13:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:13:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:15:02",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:15:37",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:25:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:25:37"
        },
        {
          "time": "11:25:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:25:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:25:38",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:25:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:36:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:36:11"
        },
        {
          "time": "11:36:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:36:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:36:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:36:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:46:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:46:50"
        },
        {
          "time": "11:46:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:46:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:46:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:46:54",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:56:55"
        },
        {
          "time": "11:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:58:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:58:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:08:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:08:41"
        },
        {
          "time": "12:08:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:08:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:09:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:10:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:21:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:21:06"
        },
        {
          "time": "12:21:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:21:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:40:56",
          "message": "작품 제목: theajack.github.io"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:52:55",
          "message": "작품 제목: 35762"
        },
        {
          "time": "13:03:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:03:00"
        },
        {
          "time": "13:03:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:03:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:27:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #410"
        },
        {
          "time": "22:27:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:27:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠 | 뉴토끼, links=36"
        },
        {
          "time": "22:27:34",
          "message": "작품 제목: 고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠"
        },
        {
          "time": "22:27:34",
          "message": "메타데이터 태그 저장: 고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다, 토가와 리츠"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:51:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #108"
        },
        {
          "time": "13:51:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:51:33",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:52:08",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:02:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:02:17"
        },
        {
          "time": "14:02:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:02:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:52:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1483"
        },
        {
          "time": "13:52:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:52:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠 | 뉴토끼, links=36"
        },
        {
          "time": "13:52:33",
          "message": "작품 제목: 고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠"
        },
        {
          "time": "13:52:33",
          "message": "메타데이터 태그 저장: 고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다, 토가와 리츠"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:08:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "17:08:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:08:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠 | 뉴토끼, links=36"
        },
        {
          "time": "17:08:36",
          "message": "작품 제목: 고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠"
        },
        {
          "time": "17:08:36",
          "message": "메타데이터 태그 저장: 고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다, 토가와 리츠"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:57:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #64"
        },
        {
          "time": "14:57:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:57:24",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:57:24",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:57:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #65"
        },
        {
          "time": "14:57:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:57:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠 | 뉴토끼, links=36"
        },
        {
          "time": "14:57:38",
          "message": "작품 제목: 고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠"
        },
        {
          "time": "14:57:38",
          "message": "메타데이터 태그 저장: 고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다, 토가와 리츠"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:31:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1187"
        },
        {
          "time": "07:31:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:32:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠 | 뉴토끼, links=36"
        },
        {
          "time": "07:32:54",
          "message": "작품 제목: 고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠"
        },
        {
          "time": "07:32:54",
          "message": "메타데이터 태그 저장: 고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다, 토가와 리츠"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35762",
        "target_id": "manhwa_35762",
        "title": "고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠",
        "episodes_found": 34,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 34,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35762",
          "title": "고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 - 토가와 리츠",
          "list_url": "https://newtoki1.org/manhwa/35762",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35762"
          },
          "tags": [
            "고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다",
            "토가와 리츠"
          ],
          "description": "고교시절 오만했던 여왕님과의 동거생활은 의외로 나쁘지 않다 (토가와 리츠)",
          "metadata_path": "/downloads/manhwa_35762/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 34,
        "total": 34,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "d4a51a191d",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:38:43",
      "started_at": "2026-06-04T07:29:35",
      "finished_at": "2026-06-04T07:31:17",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/36848",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_36848",
        "viewer_image_mode": "auto",
        "display_title": "시골 소꿉친구 엄마 - 나스무스빔",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:10:56",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:10:59",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:21:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:21:26"
        },
        {
          "time": "08:21:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:21:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:25:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:25:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:35:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:35:41"
        },
        {
          "time": "08:35:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:35:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:35:42",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:35:45",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:45:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:45:56"
        },
        {
          "time": "08:45:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:45:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:47:42",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:48:19",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:58:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:58:20"
        },
        {
          "time": "08:58:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:58:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:58:20",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:58:23",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:08:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:08:33"
        },
        {
          "time": "09:08:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:08:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:08:37",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:09:34",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:20:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:20:09"
        },
        {
          "time": "09:20:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:20:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:20:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:20:45",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:31:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:31:14"
        },
        {
          "time": "09:31:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:31:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:31:15",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:32:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:42:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:42:30"
        },
        {
          "time": "09:42:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:42:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:43:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:43:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:54:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:54:17"
        },
        {
          "time": "09:54:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:54:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:54:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:54:53",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:05:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:05:17"
        },
        {
          "time": "10:05:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:05:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:09:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:10:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:20:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:20:35"
        },
        {
          "time": "10:20:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:20:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:20:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:21:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:31:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:31:10"
        },
        {
          "time": "10:31:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:31:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:31:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:31:15",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:41:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:41:15"
        },
        {
          "time": "10:41:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:41:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:41:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:41:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:51:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:51:33"
        },
        {
          "time": "10:51:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:51:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:52:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:52:57",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:03:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:03:31"
        },
        {
          "time": "11:03:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:03:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:03:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:04:05",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:14:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:14:20"
        },
        {
          "time": "11:14:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:14:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:15:37",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:16:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:26:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:26:13"
        },
        {
          "time": "11:26:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:26:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:26:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:26:47",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:36:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:36:47"
        },
        {
          "time": "11:36:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:36:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:36:51",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:36:54",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:46:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:46:54"
        },
        {
          "time": "11:46:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:46:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:46:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:46:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:57:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:57:31"
        },
        {
          "time": "11:57:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:57:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:58:15",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:58:18",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:08:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:08:41"
        },
        {
          "time": "12:08:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:08:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:10:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:11:05",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:21:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:21:06"
        },
        {
          "time": "12:21:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:21:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:41:37",
          "message": "작품 제목: theajack.github.io"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:52:48",
          "message": "작품 제목: 36848"
        },
        {
          "time": "13:02:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:02:54"
        },
        {
          "time": "13:02:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:02:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:27:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #409"
        },
        {
          "time": "22:27:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:27:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시골 소꿉친구 엄마 - 나스무스빔 | 뉴토끼, links=3"
        },
        {
          "time": "22:27:18",
          "message": "작품 제목: 시골 소꿉친구 엄마 - 나스무스빔"
        },
        {
          "time": "22:27:18",
          "message": "메타데이터 태그 저장: 나스무스빔, 시골 소꿉친구 엄마"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:53:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #109"
        },
        {
          "time": "13:53:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:53:20",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:53:20",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:03:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:03:50"
        },
        {
          "time": "14:03:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:03:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:53:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1484"
        },
        {
          "time": "13:53:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:53:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시골 소꿉친구 엄마 - 나스무스빔 | 뉴토끼, links=3"
        },
        {
          "time": "13:53:23",
          "message": "작품 제목: 시골 소꿉친구 엄마 - 나스무스빔"
        },
        {
          "time": "13:53:24",
          "message": "메타데이터 태그 저장: 나스무스빔, 시골 소꿉친구 엄마"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:07:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "17:07:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:08:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시골 소꿉친구 엄마 - 나스무스빔 | 뉴토끼, links=3"
        },
        {
          "time": "17:08:00",
          "message": "작품 제목: 시골 소꿉친구 엄마 - 나스무스빔"
        },
        {
          "time": "17:08:00",
          "message": "메타데이터 태그 저장: 나스무스빔, 시골 소꿉친구 엄마"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:58:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #66"
        },
        {
          "time": "14:58:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:58:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시골 소꿉친구 엄마 - 나스무스빔 | 뉴토끼, links=3"
        },
        {
          "time": "14:58:44",
          "message": "작품 제목: 시골 소꿉친구 엄마 - 나스무스빔"
        },
        {
          "time": "14:58:44",
          "message": "메타데이터 태그 저장: 나스무스빔, 시골 소꿉친구 엄마"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:30:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1186"
        },
        {
          "time": "07:30:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:31:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시골 소꿉친구 엄마 - 나스무스빔 | 뉴토끼, links=3"
        },
        {
          "time": "07:31:16",
          "message": "작품 제목: 시골 소꿉친구 엄마 - 나스무스빔"
        },
        {
          "time": "07:31:16",
          "message": "메타데이터 태그 저장: 나스무스빔, 시골 소꿉친구 엄마"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_36848",
        "target_id": "manhwa_36848",
        "title": "시골 소꿉친구 엄마 - 나스무스빔",
        "episodes_found": 1,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 1,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_36848",
          "title": "시골 소꿉친구 엄마 - 나스무스빔",
          "list_url": "https://newtoki1.org/manhwa/36848",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/36848"
          },
          "tags": [
            "나스무스빔",
            "시골 소꿉친구 엄마"
          ],
          "description": "시골 소꿉친구 엄마 (나스무스빔)",
          "metadata_path": "/downloads/manhwa_36848/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "1e870ab9e0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:38:32",
      "started_at": "2026-06-04T07:28:23",
      "finished_at": "2026-06-04T07:29:35",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35033",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35033",
        "viewer_image_mode": "auto",
        "display_title": "시골의 흑갸루 여고생과 결혼했습니다 - 카즈치",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:23:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:33:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:33:54"
        },
        {
          "time": "08:33:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:33:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:33:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:33:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:43:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:43:58"
        },
        {
          "time": "08:43:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:43:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:47:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:47:38",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:57:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:57:38"
        },
        {
          "time": "08:57:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:57:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:57:39",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:57:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:07:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:07:44"
        },
        {
          "time": "09:07:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:07:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:08:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:08:32",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:18:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:18:42"
        },
        {
          "time": "09:18:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:18:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:19:29",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:19:32",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:29:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:29:42"
        },
        {
          "time": "09:29:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:29:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:30:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:30:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:41:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:41:03"
        },
        {
          "time": "09:41:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:41:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:42:35",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:43:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:53:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:53:13"
        },
        {
          "time": "09:53:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:53:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:53:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:53:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:04:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:04:01"
        },
        {
          "time": "10:04:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:04:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:08:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:08:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:18:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:18:30"
        },
        {
          "time": "10:18:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:18:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:18:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:19:02",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:29:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:29:05"
        },
        {
          "time": "10:29:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:29:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:29:05",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:29:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:39:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:39:41"
        },
        {
          "time": "10:39:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:39:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:39:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:39:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:50:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:50:16"
        },
        {
          "time": "10:50:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:50:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:52:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:52:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:02:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:02:50"
        },
        {
          "time": "11:02:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:02:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:02:51",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:03:24",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:13:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:13:44"
        },
        {
          "time": "11:13:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:13:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:14:57",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:15:00",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:25:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:25:31"
        },
        {
          "time": "11:25:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:25:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:25:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:25:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:35:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:35:35"
        },
        {
          "time": "11:35:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:35:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:36:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:36:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:46:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:46:46"
        },
        {
          "time": "11:46:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:46:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:46:46",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:46:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:56:55"
        },
        {
          "time": "11:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:58:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:58:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:08:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:08:41"
        },
        {
          "time": "12:08:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:08:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:09:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:09:53",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:21:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:21:06"
        },
        {
          "time": "12:21:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:21:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:37:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:40:05",
          "message": "작품 제목: 시골의 흑갸루 여고생과 결혼했습니다 - 카즈치"
        },
        {
          "time": "12:40:05",
          "message": "메타데이터 태그 저장: 시골의 흑갸루 여고생과 결혼했습니다, 카즈치"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:26:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #408"
        },
        {
          "time": "22:26:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:26:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시골의 흑갸루 여고생과 결혼했습니다 - 카즈치 | 뉴토끼, links=48"
        },
        {
          "time": "22:27:03",
          "message": "작품 제목: 시골의 흑갸루 여고생과 결혼했습니다 - 카즈치"
        },
        {
          "time": "22:27:03",
          "message": "메타데이터 태그 저장: 시골의 흑갸루 여고생과 결혼했습니다, 카즈치"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:53:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #110"
        },
        {
          "time": "13:53:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:53:42",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:54:21",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:05:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:05:07"
        },
        {
          "time": "14:05:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:05:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:53:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1485"
        },
        {
          "time": "13:53:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:54:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시골의 흑갸루 여고생과 결혼했습니다 - 카즈치 | 뉴토끼, links=48"
        },
        {
          "time": "13:54:13",
          "message": "작품 제목: 시골의 흑갸루 여고생과 결혼했습니다 - 카즈치"
        },
        {
          "time": "13:54:13",
          "message": "메타데이터 태그 저장: 시골의 흑갸루 여고생과 결혼했습니다, 카즈치"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:07:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "17:07:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:07:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시골의 흑갸루 여고생과 결혼했습니다 - 카즈치 | 뉴토끼, links=48"
        },
        {
          "time": "17:07:39",
          "message": "작품 제목: 시골의 흑갸루 여고생과 결혼했습니다 - 카즈치"
        },
        {
          "time": "17:07:40",
          "message": "메타데이터 태그 저장: 시골의 흑갸루 여고생과 결혼했습니다, 카즈치"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:58:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #67"
        },
        {
          "time": "14:58:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:59:07",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:59:08",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:59:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #68"
        },
        {
          "time": "14:59:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:59:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시골의 흑갸루 여고생과 결혼했습니다 - 카즈치 | 뉴토끼, links=48"
        },
        {
          "time": "14:59:22",
          "message": "작품 제목: 시골의 흑갸루 여고생과 결혼했습니다 - 카즈치"
        },
        {
          "time": "14:59:22",
          "message": "메타데이터 태그 저장: 시골의 흑갸루 여고생과 결혼했습니다, 카즈치"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:28:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1184"
        },
        {
          "time": "07:28:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:28:45",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:28:45",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:28:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1185"
        },
        {
          "time": "07:28:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:28:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시골의 흑갸루 여고생과 결혼했습니다 - 카즈치 | 뉴토끼, links=48"
        },
        {
          "time": "07:29:33",
          "message": "작품 제목: 시골의 흑갸루 여고생과 결혼했습니다 - 카즈치"
        },
        {
          "time": "07:29:34",
          "message": "메타데이터 태그 저장: 시골의 흑갸루 여고생과 결혼했습니다, 카즈치"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35033",
        "target_id": "manhwa_35033",
        "title": "시골의 흑갸루 여고생과 결혼했습니다 - 카즈치",
        "episodes_found": 46,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 46,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35033",
          "title": "시골의 흑갸루 여고생과 결혼했습니다 - 카즈치",
          "list_url": "https://newtoki1.org/manhwa/35033",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35033"
          },
          "tags": [
            "시골의 흑갸루 여고생과 결혼했습니다",
            "카즈치"
          ],
          "description": "코이치와 이치카의 결혼.",
          "metadata_path": "/downloads/manhwa_35033/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 46,
        "total": 46,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "de72c2e9d0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:37:21",
      "started_at": "2026-06-04T07:27:02",
      "finished_at": "2026-06-04T07:28:23",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/18096",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_18096",
        "viewer_image_mode": "auto",
        "display_title": "코스프레 여친 - 로데옹,물벼락",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:22:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:25:20",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:26:23",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:36:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:36:23"
        },
        {
          "time": "08:36:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:36:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:36:24",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:36:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:47:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:47:18"
        },
        {
          "time": "08:47:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:47:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:49:06",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:49:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:59:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:59:41"
        },
        {
          "time": "08:59:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:59:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:59:42",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:59:45",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:10:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:10:10"
        },
        {
          "time": "09:10:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:10:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:10:15",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:10:18",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:20:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:20:45"
        },
        {
          "time": "09:20:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:20:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:21:25",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:21:28",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:32:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:32:16"
        },
        {
          "time": "09:32:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:32:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:33:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:33:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:43:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:43:42"
        },
        {
          "time": "09:43:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:43:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:43:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:44:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:54:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:54:17"
        },
        {
          "time": "09:54:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:54:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:55:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:55:37",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:05:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:05:53"
        },
        {
          "time": "10:05:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:05:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:10:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:11:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:21:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:21:26"
        },
        {
          "time": "10:21:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:21:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:21:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:22:01",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:32:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:32:01"
        },
        {
          "time": "10:32:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:32:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:32:02",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:32:05",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:42:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:42:05"
        },
        {
          "time": "10:42:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:42:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:42:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:42:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:52:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:52:13"
        },
        {
          "time": "10:52:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:52:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:54:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:54:15",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:04:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:04:15"
        },
        {
          "time": "11:04:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:04:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:04:16",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:04:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:14:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:14:56"
        },
        {
          "time": "11:14:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:14:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:16:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:16:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:26:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:26:47"
        },
        {
          "time": "11:26:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:26:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:28:00",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:28:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:38:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:38:03"
        },
        {
          "time": "11:38:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:38:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:38:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:38:39",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:48:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:48:39"
        },
        {
          "time": "11:48:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:48:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:48:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:49:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:59:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:59:14"
        },
        {
          "time": "11:59:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:59:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:59:15",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:59:18",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:09:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:09:53"
        },
        {
          "time": "12:09:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:09:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:11:46",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:12:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:24:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:24:40"
        },
        {
          "time": "12:24:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:24:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:42:29",
          "message": "작품 제목: theajack.github.io"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:52:43",
          "message": "작품 제목: 18096"
        },
        {
          "time": "13:02:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:02:47"
        },
        {
          "time": "13:02:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:02:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:25:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #407"
        },
        {
          "time": "22:25:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:25:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=코스프레 여친 - 로데옹,물벼락 | 뉴토끼, links=22"
        },
        {
          "time": "22:26:07",
          "message": "작품 제목: 코스프레 여친 - 로데옹,물벼락"
        },
        {
          "time": "22:26:07",
          "message": "메타데이터 태그 저장: 드라마, 로데옹, 물벼락, 성인, 코스프레 여친"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:54:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #111"
        },
        {
          "time": "13:54:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:55:17",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:55:17",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:05:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:05:28"
        },
        {
          "time": "14:05:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:05:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:54:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1486"
        },
        {
          "time": "13:54:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:55:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=코스프레 여친 - 로데옹,물벼락 | 뉴토끼, links=22"
        },
        {
          "time": "13:55:00",
          "message": "작품 제목: 코스프레 여친 - 로데옹,물벼락"
        },
        {
          "time": "13:55:00",
          "message": "메타데이터 태그 저장: 드라마, 로데옹, 물벼락, 성인, 코스프레 여친"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:07:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "17:07:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:07:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=코스프레 여친 - 로데옹,물벼락 | 뉴토끼, links=22"
        },
        {
          "time": "17:07:17",
          "message": "작품 제목: 코스프레 여친 - 로데옹,물벼락"
        },
        {
          "time": "17:07:17",
          "message": "메타데이터 태그 저장: 드라마, 로데옹, 물벼락, 성인, 코스프레 여친"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:59:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #69"
        },
        {
          "time": "14:59:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:00:20",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "15:00:20",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "15:00:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #70"
        },
        {
          "time": "15:00:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:00:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=코스프레 여친 - 로데옹,물벼락 | 뉴토끼, links=22"
        },
        {
          "time": "15:01:01",
          "message": "작품 제목: 코스프레 여친 - 로데옹,물벼락"
        },
        {
          "time": "15:01:02",
          "message": "메타데이터 태그 저장: 드라마, 로데옹, 물벼락, 성인, 코스프레 여친"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:27:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1183"
        },
        {
          "time": "07:27:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:27:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=코스프레 여친 - 로데옹,물벼락 | 뉴토끼, links=22"
        },
        {
          "time": "07:28:22",
          "message": "작품 제목: 코스프레 여친 - 로데옹,물벼락"
        },
        {
          "time": "07:28:22",
          "message": "메타데이터 태그 저장: 드라마, 로데옹, 물벼락, 성인, 코스프레 여친"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_18096",
        "target_id": "webtoon_18096",
        "title": "코스프레 여친 - 로데옹,물벼락",
        "episodes_found": 20,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 20,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_18096",
          "title": "코스프레 여친 - 로데옹,물벼락",
          "list_url": "https://newtoki1.org/webtoon/18096",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/18096"
          },
          "tags": [
            "드라마",
            "로데옹",
            "물벼락",
            "성인",
            "코스프레 여친"
          ],
          "description": "코스프레 여친 (로데옹,물벼락) [레진] #드라마 #성인",
          "metadata_path": "/downloads/webtoon_18096/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 20,
        "total": 20,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "e5c81e8104",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:36:10",
      "started_at": "2026-06-04T07:24:44",
      "finished_at": "2026-06-04T07:27:02",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/16287",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_16287",
        "viewer_image_mode": "auto",
        "display_title": "미시학개론 - 아뵤4,자연빵",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "00:27:09",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/16287/1585510"
        },
        {
          "time": "00:27:16",
          "message": "  [i] 회차 제목: 미시학개론 7화 84화"
        },
        {
          "time": "00:27:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_084/001.jpg"
        },
        {
          "time": "00:27:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_084/002.jpg"
        },
        {
          "time": "00:27:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_084/003.jpg"
        },
        {
          "time": "00:27:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_084/004.jpg"
        },
        {
          "time": "00:27:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_084/005.jpg"
        },
        {
          "time": "00:27:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_084/006.jpg"
        },
        {
          "time": "00:27:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_084/007.jpg"
        },
        {
          "time": "00:27:44",
          "message": "  [>] 이미지 7개 처리 완료.\n"
        },
        {
          "time": "00:27:46",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/16287/1586599"
        },
        {
          "time": "00:27:46",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/16287/1586599"
        },
        {
          "time": "00:27:52",
          "message": "  [i] 회차 제목: 미시학개론 6화 85화"
        },
        {
          "time": "00:27:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_085/001.jpg"
        },
        {
          "time": "00:27:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_085/002.jpg"
        },
        {
          "time": "00:28:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_085/003.jpg"
        },
        {
          "time": "00:28:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_085/004.jpg"
        },
        {
          "time": "00:28:12",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_085/005.jpg"
        },
        {
          "time": "00:28:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_085/006.jpg"
        },
        {
          "time": "00:28:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_085/007.jpg"
        },
        {
          "time": "00:28:22",
          "message": "  [>] 이미지 7개 처리 완료.\n"
        },
        {
          "time": "00:28:23",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/16287/1587831"
        },
        {
          "time": "00:28:23",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/16287/1587831"
        },
        {
          "time": "00:28:30",
          "message": "  [i] 회차 제목: 미시학개론 5화 86화"
        },
        {
          "time": "00:28:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/001.jpg"
        },
        {
          "time": "00:28:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/002.jpg"
        },
        {
          "time": "00:28:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/003.jpg"
        },
        {
          "time": "00:28:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/004.jpg"
        },
        {
          "time": "00:28:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/005.jpg"
        },
        {
          "time": "00:28:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/006.jpg"
        },
        {
          "time": "00:28:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/007.jpg"
        },
        {
          "time": "00:28:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/008.jpg"
        },
        {
          "time": "00:28:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/009.jpg"
        },
        {
          "time": "00:28:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/010.jpg"
        },
        {
          "time": "00:28:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/011.jpg"
        },
        {
          "time": "00:28:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/012.jpg"
        },
        {
          "time": "00:28:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/013.jpg"
        },
        {
          "time": "00:28:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/014.jpg"
        },
        {
          "time": "00:28:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/015.jpg"
        },
        {
          "time": "00:28:47",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/016.jpg"
        },
        {
          "time": "00:28:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/017.jpg"
        },
        {
          "time": "00:28:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/018.jpg"
        },
        {
          "time": "00:28:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/019.jpg"
        },
        {
          "time": "00:28:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/020.jpg"
        },
        {
          "time": "00:28:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/021.jpg"
        },
        {
          "time": "00:28:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/022.jpg"
        },
        {
          "time": "00:28:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/023.jpg"
        },
        {
          "time": "00:28:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/024.jpg"
        },
        {
          "time": "00:28:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/025.jpg"
        },
        {
          "time": "00:28:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/026.jpg"
        },
        {
          "time": "00:28:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/027.jpg"
        },
        {
          "time": "00:28:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/028.jpg"
        },
        {
          "time": "00:29:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/029.jpg"
        },
        {
          "time": "00:29:01",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/030.jpg"
        },
        {
          "time": "00:29:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/031.jpg"
        },
        {
          "time": "00:29:03",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/032.jpg"
        },
        {
          "time": "00:29:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/033.jpg"
        },
        {
          "time": "00:29:05",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/034.jpg"
        },
        {
          "time": "00:29:06",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/035.jpg"
        },
        {
          "time": "00:29:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/036.jpg"
        },
        {
          "time": "00:29:08",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/037.jpg"
        },
        {
          "time": "00:29:09",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/038.jpg"
        },
        {
          "time": "00:29:10",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/039.jpg"
        },
        {
          "time": "00:29:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/040.jpg"
        },
        {
          "time": "00:29:12",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/041.jpg"
        },
        {
          "time": "00:29:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_086/042.jpg"
        },
        {
          "time": "00:29:13",
          "message": "  [>] 이미지 42개 처리 완료.\n"
        },
        {
          "time": "00:29:14",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/16287/1589253"
        },
        {
          "time": "00:29:14",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/16287/1589253"
        },
        {
          "time": "00:29:20",
          "message": "  [i] 회차 제목: 미시학개론 4화 87화"
        },
        {
          "time": "00:29:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_087/001.jpg"
        },
        {
          "time": "00:29:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_087/002.jpg"
        },
        {
          "time": "00:29:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_087/003.jpg"
        },
        {
          "time": "00:29:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_087/004.jpg"
        },
        {
          "time": "00:29:42",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_087/005.jpg"
        },
        {
          "time": "00:29:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_087/006.jpg"
        },
        {
          "time": "00:29:49",
          "message": "  [>] 이미지 6개 처리 완료.\n"
        },
        {
          "time": "00:29:50",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/16287/1590203"
        },
        {
          "time": "00:29:50",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/16287/1590203"
        },
        {
          "time": "00:29:55",
          "message": "  [i] 회차 제목: 미시학개론 3화 88화"
        },
        {
          "time": "00:29:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_088/001.jpg"
        },
        {
          "time": "00:30:03",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_088/002.jpg"
        },
        {
          "time": "00:30:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_088/003.jpg"
        },
        {
          "time": "00:30:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_088/004.jpg"
        },
        {
          "time": "00:30:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_088/005.jpg"
        },
        {
          "time": "00:30:17",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_088/006.jpg"
        },
        {
          "time": "00:30:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_088/007.jpg"
        },
        {
          "time": "00:30:18",
          "message": "  [>] 이미지 7개 처리 완료.\n"
        },
        {
          "time": "00:30:19",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/16287/1591471"
        },
        {
          "time": "00:30:19",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/16287/1591471"
        },
        {
          "time": "00:30:25",
          "message": "  [i] 회차 제목: 미시학개론 2화 89화"
        },
        {
          "time": "00:30:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_089/001.jpg"
        },
        {
          "time": "00:30:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_089/002.jpg"
        },
        {
          "time": "00:30:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_089/003.jpg"
        },
        {
          "time": "00:30:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_089/004.jpg"
        },
        {
          "time": "00:30:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_089/005.jpg"
        },
        {
          "time": "00:30:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_089/006.jpg"
        },
        {
          "time": "00:30:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_089/007.jpg"
        },
        {
          "time": "00:30:46",
          "message": "  [>] 이미지 7개 처리 완료.\n"
        },
        {
          "time": "00:30:47",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/16287/1593598"
        },
        {
          "time": "00:30:47",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/16287/1593598"
        },
        {
          "time": "00:30:52",
          "message": "  [i] 회차 제목: 미시학개론 1화 90화"
        },
        {
          "time": "00:30:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_090/001.jpg"
        },
        {
          "time": "00:30:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_090/002.jpg"
        },
        {
          "time": "00:31:01",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_090/003.jpg"
        },
        {
          "time": "00:31:03",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_090/004.jpg"
        },
        {
          "time": "00:31:05",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_090/005.jpg"
        },
        {
          "time": "00:31:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_16287/ep_090/006.jpg"
        },
        {
          "time": "00:31:07",
          "message": "  [>] 이미지 6개 처리 완료.\n"
        },
        {
          "time": "00:31:09",
          "message": "완료: 회차 90개 처리, 이미지 3041개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 90)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 90)"
        },
        {
          "time": "04:38:28",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:38:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:25:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #406"
        },
        {
          "time": "22:25:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:25:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미시학개론 - 아뵤4,자연빵 | 뉴토끼, links=92"
        },
        {
          "time": "22:25:18",
          "message": "작품 제목: 미시학개론 - 아뵤4,자연빵"
        },
        {
          "time": "22:25:18",
          "message": "메타데이터 태그 저장: 드라마, 미시학개론, 성인, 아뵤4, 자연빵, 판타지"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:55:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #112"
        },
        {
          "time": "13:55:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:55:39",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:55:39",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:06:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:06:23"
        },
        {
          "time": "14:06:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:06:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:55:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1487"
        },
        {
          "time": "13:55:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:55:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미시학개론 - 아뵤4,자연빵 | 뉴토끼, links=92"
        },
        {
          "time": "13:55:17",
          "message": "작품 제목: 미시학개론 - 아뵤4,자연빵"
        },
        {
          "time": "13:55:17",
          "message": "메타데이터 태그 저장: 드라마, 미시학개론, 성인, 아뵤4, 자연빵, 판타지"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:06:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "17:06:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:07:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미시학개론 - 아뵤4,자연빵 | 뉴토끼, links=92"
        },
        {
          "time": "17:07:01",
          "message": "작품 제목: 미시학개론 - 아뵤4,자연빵"
        },
        {
          "time": "17:07:01",
          "message": "메타데이터 태그 저장: 드라마, 미시학개론, 성인, 아뵤4, 자연빵, 판타지"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:01:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #71"
        },
        {
          "time": "15:01:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:02:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미시학개론 - 아뵤4,자연빵 | 뉴토끼, links=92"
        },
        {
          "time": "15:02:11",
          "message": "작품 제목: 미시학개론 - 아뵤4,자연빵"
        },
        {
          "time": "15:02:12",
          "message": "메타데이터 태그 저장: 드라마, 미시학개론, 성인, 아뵤4, 자연빵, 판타지"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:25:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1182"
        },
        {
          "time": "07:25:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:26:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미시학개론 - 아뵤4,자연빵 | 뉴토끼, links=92"
        },
        {
          "time": "07:26:25",
          "message": "작품 제목: 미시학개론 - 아뵤4,자연빵"
        },
        {
          "time": "07:27:00",
          "message": "메타데이터 태그 저장: 드라마, 미시학개론, 성인, 아뵤4, 자연빵, 판타지"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_16287",
        "target_id": "webtoon_16287",
        "title": "미시학개론 - 아뵤4,자연빵",
        "episodes_found": 90,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 90,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_16287",
          "title": "미시학개론 - 아뵤4,자연빵",
          "list_url": "https://newtoki1.org/webtoon/16287",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/16287"
          },
          "tags": [
            "드라마",
            "미시학개론",
            "성인",
            "아뵤4",
            "자연빵",
            "판타지"
          ],
          "description": "미시학개론 (아뵤4,자연빵) [탑툰] #판타지 #드라마 #성인",
          "metadata_path": "/downloads/webtoon_16287/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 90,
        "total": 90,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "eb4c9f0486",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:35:26",
      "started_at": "2026-06-04T07:23:07",
      "finished_at": "2026-06-04T07:24:44",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/16599",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_16599",
        "viewer_image_mode": "auto",
        "display_title": "갓블레쓰유 - 핥,Gyou",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:11:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/031.jpg"
        },
        {
          "time": "02:11:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/032.jpg"
        },
        {
          "time": "02:11:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/033.jpg"
        },
        {
          "time": "02:11:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/034.jpg"
        },
        {
          "time": "02:11:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/035.jpg"
        },
        {
          "time": "02:11:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/036.jpg"
        },
        {
          "time": "02:11:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/037.jpg"
        },
        {
          "time": "02:11:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/038.jpg"
        },
        {
          "time": "02:11:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/039.jpg"
        },
        {
          "time": "02:11:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/040.jpg"
        },
        {
          "time": "02:11:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/041.jpg"
        },
        {
          "time": "02:11:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/042.jpg"
        },
        {
          "time": "02:11:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/043.jpg"
        },
        {
          "time": "02:11:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/044.jpg"
        },
        {
          "time": "02:11:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/045.jpg"
        },
        {
          "time": "02:11:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/046.jpg"
        },
        {
          "time": "02:11:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/047.jpg"
        },
        {
          "time": "02:11:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/048.jpg"
        },
        {
          "time": "02:11:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/049.jpg"
        },
        {
          "time": "02:11:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/050.jpg"
        },
        {
          "time": "02:11:12",
          "message": "  [>] 이미지 49/50개 처리 완료.\n"
        },
        {
          "time": "02:11:13",
          "message": "완료: 회차 1개 처리, 이미지 0개 저장, 49개 건너뜀"
        },
        {
          "time": "02:19:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-26T02:19:07"
        },
        {
          "time": "02:19:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:22:23",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "02:24:19",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "02:33:09",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-26T02:33:07"
        },
        {
          "time": "02:33:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:36:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "02:52:44",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-26T02:52:44"
        },
        {
          "time": "02:52:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:54:32",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "02:56:36",
          "message": "기존 완료 기록을 적용합니다: 62개 회차"
        },
        {
          "time": "02:56:36",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "02:56:36",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "02:56:36",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "02:56:36",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "02:56:36",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/16599"
        },
        {
          "time": "02:56:36",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/16599"
        },
        {
          "time": "02:57:02",
          "message": "작품 제목: 갓블레쓰유 - 핥,Gyou"
        },
        {
          "time": "02:57:02",
          "message": "메타데이터 저장: /downloads/webtoon_16599/metadata.yaml"
        },
        {
          "time": "02:57:02",
          "message": "메타데이터 태그 저장: Gyou, 갓블레쓰유, 드라마, 성인, 핥"
        },
        {
          "time": "02:57:02",
          "message": "기존 완료 회차 62개 제외"
        },
        {
          "time": "02:57:02",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "02:57:03",
          "message": "총 63개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "02:57:03",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/16599/1532333"
        },
        {
          "time": "02:57:03",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/16599/1532333"
        },
        {
          "time": "02:57:21",
          "message": "  [i] 회차 제목: 갓블레쓰유 22화 42화"
        },
        {
          "time": "02:57:21",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/001.jpg"
        },
        {
          "time": "02:57:34",
          "message": "    [~] 이미지 네트워크/프로토콜 오류 재시도 1/2: https://img1.newtoki21.org/data/file/webtoon/42817186/50127482/7_bJXjN54kvo.jpg (페이지 fetch 실패 후 navigation fallback도 실패: Page.evaluate: TypeError: Failed to fetch\n    at eval (eval at evaluate (:302:30), <anonymous>:5:44)\n    at UtilityScript.evaluate (<anonymous>:309:18)\n    at UtilityScript.<anonymous> (<anonymous>:1:44); Page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://img1.newtoki21.org/data/file/webtoon/42817186/50127482/7_bJXjN54kvo.jpg\nCall log:\n  - navigating to \"https://img1.newtoki21.org/data/file/webtoon/42817186/50127482/7_bJXjN54kvo.jpg\", waiting until \"load\"\n)"
        },
        {
          "time": "02:57:48",
          "message": "    [~] 이미지 네트워크/프로토콜 오류 재시도 2/2: https://img1.newtoki21.org/data/file/webtoon/42817186/50127482/7_bJXjN54kvo.jpg (페이지 fetch 실패 후 navigation fallback도 실패: Page.evaluate: TypeError: Failed to fetch\n    at eval (eval at evaluate (:302:30), <anonymous>:5:44)\n    at UtilityScript.evaluate (<anonymous>:309:18)\n    at UtilityScript.<anonymous> (<anonymous>:1:44); Page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://img1.newtoki21.org/data/file/webtoon/42817186/50127482/7_bJXjN54kvo.jpg\nCall log:\n  - navigating to \"https://img1.newtoki21.org/data/file/webtoon/42817186/50127482/7_bJXjN54kvo.jpg\", waiting until \"load\"\n)"
        },
        {
          "time": "02:58:03",
          "message": "    [~] 네트워크/프로토콜 오류 이미지 후보 제외: https://img1.newtoki21.org/data/file/webtoon/42817186/50127482/7_bJXjN54kvo.jpg (페이지 fetch 실패 후 navigation fallback도 실패: Page.evaluate: TypeError: Failed to fetch\n    at eval (eval at evaluate (:302:30), <anonymous>:5:44)\n    at UtilityScript.evaluate (<anonymous>:309:18)\n    at UtilityScript.<anonymous> (<anonymous>:1:44); Page.goto: net::ERR_TUNNEL_CONNECTION_FAILED at https://img1.newtoki21.org/data/file/webtoon/42817186/50127482/7_bJXjN54kvo.jpg\nCall log:\n  - navigating to \"https://img1.newtoki21.org/data/file/webtoon/42817186/50127482/7_bJXjN54kvo.jpg\", waiting until \"load\"\n)"
        },
        {
          "time": "02:58:03",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/003.jpg"
        },
        {
          "time": "02:58:03",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/004.jpg"
        },
        {
          "time": "02:58:04",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/005.jpg"
        },
        {
          "time": "02:58:04",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/006.jpg"
        },
        {
          "time": "02:58:04",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/007.jpg"
        },
        {
          "time": "02:58:04",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/008.jpg"
        },
        {
          "time": "02:58:04",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/009.jpg"
        },
        {
          "time": "02:58:04",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/010.jpg"
        },
        {
          "time": "02:58:04",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/011.jpg"
        },
        {
          "time": "02:58:04",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/012.jpg"
        },
        {
          "time": "02:58:04",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/013.jpg"
        },
        {
          "time": "02:58:05",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/014.jpg"
        },
        {
          "time": "02:58:05",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/015.jpg"
        },
        {
          "time": "02:58:05",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/016.jpg"
        },
        {
          "time": "02:58:05",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/017.jpg"
        },
        {
          "time": "02:58:05",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/018.jpg"
        },
        {
          "time": "02:58:05",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/019.jpg"
        },
        {
          "time": "02:58:05",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/020.jpg"
        },
        {
          "time": "02:58:05",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/021.jpg"
        },
        {
          "time": "02:58:05",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/022.jpg"
        },
        {
          "time": "02:58:05",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/023.jpg"
        },
        {
          "time": "02:58:05",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/024.jpg"
        },
        {
          "time": "02:58:06",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/025.jpg"
        },
        {
          "time": "02:58:06",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/026.jpg"
        },
        {
          "time": "02:58:06",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/027.jpg"
        },
        {
          "time": "02:58:06",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/028.jpg"
        },
        {
          "time": "02:58:06",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/029.jpg"
        },
        {
          "time": "02:58:06",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/030.jpg"
        },
        {
          "time": "02:58:06",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/031.jpg"
        },
        {
          "time": "02:58:06",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/032.jpg"
        },
        {
          "time": "02:58:06",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/033.jpg"
        },
        {
          "time": "02:58:06",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/034.jpg"
        },
        {
          "time": "02:58:06",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/035.jpg"
        },
        {
          "time": "02:58:07",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/036.jpg"
        },
        {
          "time": "02:58:07",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/037.jpg"
        },
        {
          "time": "02:58:07",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/038.jpg"
        },
        {
          "time": "02:58:07",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/039.jpg"
        },
        {
          "time": "02:58:07",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/040.jpg"
        },
        {
          "time": "02:58:07",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/041.jpg"
        },
        {
          "time": "02:58:07",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/042.jpg"
        },
        {
          "time": "02:58:07",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/043.jpg"
        },
        {
          "time": "02:58:07",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/044.jpg"
        },
        {
          "time": "02:58:07",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/045.jpg"
        },
        {
          "time": "02:58:07",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/046.jpg"
        },
        {
          "time": "02:58:08",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/047.jpg"
        },
        {
          "time": "02:58:08",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/048.jpg"
        },
        {
          "time": "02:58:08",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/049.jpg"
        },
        {
          "time": "02:58:08",
          "message": "    [=] 이미 존재함: /downloads/webtoon_16599/ep_042/050.jpg"
        },
        {
          "time": "02:58:08",
          "message": "  [i] 네트워크/프로토콜 오류 이미지 후보 1개를 회차 이미지 목록에서 제외했습니다."
        },
        {
          "time": "02:58:08",
          "message": "  [>] 이미지 49/50개 처리 완료.\n"
        },
        {
          "time": "02:58:09",
          "message": "완료: 회차 1개 처리, 이미지 0개 저장, 50개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:37:54",
          "message": "작품 제목: 16599"
        },
        {
          "time": "05:48:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:48:06"
        },
        {
          "time": "05:48:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:48:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:24:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #405"
        },
        {
          "time": "22:24:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:25:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갓블레쓰유 - 핥,Gyou | 뉴토끼, links=65"
        },
        {
          "time": "22:25:02",
          "message": "작품 제목: 갓블레쓰유 - 핥,Gyou"
        },
        {
          "time": "22:25:02",
          "message": "메타데이터 태그 저장: Gyou, 갓블레쓰유, 드라마, 성인, 핥"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:56:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #113"
        },
        {
          "time": "13:56:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:56:30",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:56:30",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:07:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:07:45"
        },
        {
          "time": "14:07:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:07:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:55:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1488"
        },
        {
          "time": "13:55:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:55:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갓블레쓰유 - 핥,Gyou | 뉴토끼, links=65"
        },
        {
          "time": "13:55:33",
          "message": "작품 제목: 갓블레쓰유 - 핥,Gyou"
        },
        {
          "time": "13:55:33",
          "message": "메타데이터 태그 저장: Gyou, 갓블레쓰유, 드라마, 성인, 핥"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:06:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "17:06:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:06:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갓블레쓰유 - 핥,Gyou | 뉴토끼, links=65"
        },
        {
          "time": "17:06:42",
          "message": "작품 제목: 갓블레쓰유 - 핥,Gyou"
        },
        {
          "time": "17:06:42",
          "message": "메타데이터 태그 저장: Gyou, 갓블레쓰유, 드라마, 성인, 핥"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:02:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #72"
        },
        {
          "time": "15:02:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:03:09",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "15:03:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "15:03:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #73"
        },
        {
          "time": "15:03:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:03:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갓블레쓰유 - 핥,Gyou | 뉴토끼, links=65"
        },
        {
          "time": "15:03:22",
          "message": "작품 제목: 갓블레쓰유 - 핥,Gyou"
        },
        {
          "time": "15:03:23",
          "message": "메타데이터 태그 저장: Gyou, 갓블레쓰유, 드라마, 성인, 핥"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:23:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1181"
        },
        {
          "time": "07:23:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:24:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=갓블레쓰유 - 핥,Gyou | 뉴토끼, links=65"
        },
        {
          "time": "07:24:43",
          "message": "작품 제목: 갓블레쓰유 - 핥,Gyou"
        },
        {
          "time": "07:24:43",
          "message": "메타데이터 태그 저장: Gyou, 갓블레쓰유, 드라마, 성인, 핥"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_16599",
        "target_id": "webtoon_16599",
        "title": "갓블레쓰유 - 핥,Gyou",
        "episodes_found": 63,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 63,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_16599",
          "title": "갓블레쓰유 - 핥,Gyou",
          "list_url": "https://newtoki1.org/webtoon/16599",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/16599"
          },
          "tags": [
            "Gyou",
            "갓블레쓰유",
            "드라마",
            "성인",
            "핥"
          ],
          "description": "갓블레쓰유 (핥,Gyou) [탑툰] #드라마 #성인",
          "metadata_path": "/downloads/webtoon_16599/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 63,
        "total": 63,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "51ad65a9be",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:35:04",
      "started_at": "2026-06-04T07:19:30",
      "finished_at": "2026-06-04T07:23:07",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/9098",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_9098",
        "viewer_image_mode": "auto",
        "display_title": "동아리 - 슈리넬,QRQ",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "16:25:56",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/023.jpg"
        },
        {
          "time": "16:25:56",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/024.jpg"
        },
        {
          "time": "16:25:56",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/025.jpg"
        },
        {
          "time": "16:25:56",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/026.jpg"
        },
        {
          "time": "16:25:57",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/027.jpg"
        },
        {
          "time": "16:25:57",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/028.jpg"
        },
        {
          "time": "16:25:57",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/029.jpg"
        },
        {
          "time": "16:25:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/030.jpg"
        },
        {
          "time": "16:25:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/031.jpg"
        },
        {
          "time": "16:25:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/032.jpg"
        },
        {
          "time": "16:26:12",
          "message": "    [~] 404 이미지 후보 제외: https://image2.webimg7.com/2022/0903/202209030223378208649.jpg"
        },
        {
          "time": "16:26:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/034.jpg"
        },
        {
          "time": "16:26:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/035.jpg"
        },
        {
          "time": "16:26:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/036.jpg"
        },
        {
          "time": "16:26:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/037.jpg"
        },
        {
          "time": "16:26:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/038.jpg"
        },
        {
          "time": "16:26:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/039.jpg"
        },
        {
          "time": "16:26:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/040.jpg"
        },
        {
          "time": "16:26:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/041.jpg"
        },
        {
          "time": "16:26:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/042.jpg"
        },
        {
          "time": "16:26:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/043.jpg"
        },
        {
          "time": "16:26:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/044.jpg"
        },
        {
          "time": "16:26:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/045.jpg"
        },
        {
          "time": "16:26:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/046.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/047.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/048.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/049.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/050.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/051.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/052.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/053.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/054.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/055.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/056.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/057.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/058.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/059.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/060.jpg"
        },
        {
          "time": "16:26:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_9098/ep_093/061.jpg"
        },
        {
          "time": "16:26:14",
          "message": "  [i] 404 이미지 후보 1개를 회차 이미지 목록에서 제외했습니다."
        },
        {
          "time": "16:26:14",
          "message": "  [>] 이미지 60/61개 처리 완료.\n"
        },
        {
          "time": "16:27:20",
          "message": "완료: 회차 2개 처리, 이미지 0개 저장, 116개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:13:34",
          "message": "작품 제목: 9098"
        },
        {
          "time": "06:24:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:24:01"
        },
        {
          "time": "06:24:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:24:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:21:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #398"
        },
        {
          "time": "22:21:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:21:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=동아리 - 슈리넬,QRQ | 뉴토끼, links=223"
        },
        {
          "time": "22:21:38",
          "message": "작품 제목: 동아리 - 슈리넬,QRQ"
        },
        {
          "time": "22:21:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #399"
        },
        {
          "time": "22:21:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:21:38",
          "message": "메타데이터 태그 저장: QRQ, 동아리, 성인, 슈리넬"
        },
        {
          "time": "22:21:38",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "22:21:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #400"
        },
        {
          "time": "22:21:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:22:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #401"
        },
        {
          "time": "22:22:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:22:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #402"
        },
        {
          "time": "22:22:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:23:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #403"
        },
        {
          "time": "22:23:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:23:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #404"
        },
        {
          "time": "22:23:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:38:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T22:38:26"
        },
        {
          "time": "22:38:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:38:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:00:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #49"
        },
        {
          "time": "13:00:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:00:32",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:01:06",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:11:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:11:10"
        },
        {
          "time": "13:11:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:43:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1196"
        },
        {
          "time": "09:43:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:43:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=동아리 - 슈리넬,QRQ | 뉴토끼, links=223"
        },
        {
          "time": "09:43:43",
          "message": "작품 제목: 동아리 - 슈리넬,QRQ"
        },
        {
          "time": "09:43:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1197"
        },
        {
          "time": "09:43:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:43:43",
          "message": "메타데이터 태그 저장: QRQ, 동아리, 성인, 슈리넬"
        },
        {
          "time": "09:43:43",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "09:43:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 78화 0144 - 동아리 휴재공지 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "09:43:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1198"
        },
        {
          "time": "09:43:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:44:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 67화 0155 - 동아리 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "09:44:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1199"
        },
        {
          "time": "09:44:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:44:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 14화 [휴재공지] | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:08:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #64"
        },
        {
          "time": "18:08:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:08:58",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "18:08:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #65"
        },
        {
          "time": "18:08:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:09:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=동아리 - 슈리넬,QRQ | 뉴토끼, links=223"
        },
        {
          "time": "18:09:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #66"
        },
        {
          "time": "18:09:07",
          "message": "작품 제목: 동아리 - 슈리넬,QRQ"
        },
        {
          "time": "18:09:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:09:07",
          "message": "메타데이터 태그 저장: QRQ, 동아리, 성인, 슈리넬"
        },
        {
          "time": "18:09:07",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "18:09:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 78화 0144 - 동아리 휴재공지 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "18:09:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #67"
        },
        {
          "time": "18:09:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:10:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 67화 0155 - 동아리 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "18:10:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #68"
        },
        {
          "time": "18:10:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:10:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 14화 [휴재공지] | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:30:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #629"
        },
        {
          "time": "13:30:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:31:14",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:31:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #630"
        },
        {
          "time": "13:31:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:31:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=동아리 - 슈리넬,QRQ | 뉴토끼, links=223"
        },
        {
          "time": "13:31:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #631"
        },
        {
          "time": "13:32:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:32:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 144화 0144 - 동아리 휴재공지 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "13:32:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #632"
        },
        {
          "time": "13:32:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:32:29",
          "message": "작품 제목: 동아리 - 슈리넬,QRQ"
        },
        {
          "time": "13:32:29",
          "message": "메타데이터 태그 저장: QRQ, 동아리, 성인, 슈리넬"
        },
        {
          "time": "13:32:30",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "13:32:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 155화 0155 - 동아리 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "13:32:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #633"
        },
        {
          "time": "13:32:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:32:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 208화 [휴재공지] | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:19:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1176"
        },
        {
          "time": "07:19:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:20:25",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:20:26",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:20:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1177"
        },
        {
          "time": "07:20:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:20:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=동아리 - 슈리넬,QRQ | 뉴토끼, links=223"
        },
        {
          "time": "07:21:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1178"
        },
        {
          "time": "07:21:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:21:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 144화 0144 - 동아리 휴재공지 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "07:21:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1179"
        },
        {
          "time": "07:21:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:21:45",
          "message": "작품 제목: 동아리 - 슈리넬,QRQ"
        },
        {
          "time": "07:21:46",
          "message": "메타데이터 태그 저장: QRQ, 동아리, 성인, 슈리넬"
        },
        {
          "time": "07:21:46",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "07:21:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 155화 0155 - 동아리 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "07:22:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1180"
        },
        {
          "time": "07:22:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:22:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=동아리 208화 [휴재공지] | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 3)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_9098",
        "target_id": "webtoon_9098",
        "title": "동아리 - 슈리넬,QRQ",
        "episodes_found": 221,
        "episodes_processed": 3,
        "episodes_failed": 0,
        "episodes_skipped": 218,
        "images_found": 5,
        "images_downloaded": 0,
        "images_skipped": 5,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_9098",
          "title": "동아리 - 슈리넬,QRQ",
          "list_url": "https://newtoki1.org/webtoon/9098",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/9098"
          },
          "tags": [
            "QRQ",
            "동아리",
            "성인",
            "슈리넬"
          ],
          "description": "동아리 (슈리넬,QRQ) [탑툰] #성인",
          "metadata_path": "/downloads/webtoon_9098/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 3,
        "total": 3,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 144,
          "url": "https://newtoki1.org/webtoon/9098/1246102",
          "title": "동아리 144화 0144 - 동아리 휴재공지",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 155,
          "url": "https://newtoki1.org/webtoon/9098/1288405",
          "title": "동아리 155화 0155 - 동아리 휴재공지",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 221,
          "url": "https://newtoki1.org/webtoon/9098/1490127",
          "title": "동아리 208화 [휴재공지]",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "918a2338af",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:29:36",
      "started_at": "2026-06-04T11:27:09",
      "finished_at": "2026-06-04T11:28:18",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "팀장님, 똑바로 서세요 - 코코도르,노숙자",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/18947",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_18947",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "05:03:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:03:53",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "05:03:53",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:15:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:15:56"
        },
        {
          "time": "05:15:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:15:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:34:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "05:34:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:34:45",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:34:45",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:35:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "05:35:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:35:36",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:35:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "05:35:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:35:58",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:47:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:47:52"
        },
        {
          "time": "05:47:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:47:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:12:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "06:12:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:12:47",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18947, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043d3e"
        },
        {
          "time": "06:12:48",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:12:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "06:12:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:13:08",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18947, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043d43"
        },
        {
          "time": "06:13:08",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:13:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "06:13:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:13:29",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18947, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043d4c"
        },
        {
          "time": "06:14:04",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:24:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T06:24:54"
        },
        {
          "time": "06:24:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:24:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:43:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "06:43:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:44:02",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18947, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a04401a"
        },
        {
          "time": "06:44:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "06:44:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:44:23",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18947, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a044020"
        },
        {
          "time": "06:44:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "06:44:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:45:19",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/18947, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a044036"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:40:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #52"
        },
        {
          "time": "16:40:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:41:27",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:43:13",
          "message": "중단 작업 재개 요청으로 대기열 맨 앞에 추가되었습니다: 2026-05-31T16:43:13"
        },
        {
          "time": "16:44:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "16:44:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:44:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=팀장님, 똑바로 서세요 - 코코도르,노숙자 | 뉴토끼, links=32"
        },
        {
          "time": "16:44:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "16:44:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:44:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=팀장님, 똑바로 서세요 - 코코도르,노숙자 | 뉴토끼, links=32"
        },
        {
          "time": "16:44:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "16:44:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:44:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=팀장님, 똑바로 서세요 - 코코도르,노숙자 | 뉴토끼, links=32"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:19:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #458"
        },
        {
          "time": "22:19:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:20:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=팀장님, 똑바로 서세요 - 코코도르,노숙자 | 뉴토끼, links=32"
        },
        {
          "time": "22:20:06",
          "message": "작품 제목: 팀장님, 똑바로 서세요 - 코코도르,노숙자"
        },
        {
          "time": "22:20:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #459"
        },
        {
          "time": "22:20:06",
          "message": "메타데이터 태그 저장: 노벨피아원작, 노숙자, 능욕, 드라마, 똑바로 서세요, 성인, 코코도르, 팀장님, 회사원"
        },
        {
          "time": "22:20:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:20:06",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "22:20:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #460"
        },
        {
          "time": "22:20:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:21:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #461"
        },
        {
          "time": "22:21:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:22:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #462"
        },
        {
          "time": "22:22:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:47:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-01T00:47:53"
        },
        {
          "time": "00:47:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:18:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #113"
        },
        {
          "time": "02:18:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:18:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=팀장님, 똑바로 서세요 - 코코도르,노숙자 | 뉴토끼, links=32"
        },
        {
          "time": "02:18:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #114"
        },
        {
          "time": "02:18:30",
          "message": "작품 제목: 팀장님, 똑바로 서세요 - 코코도르,노숙자"
        },
        {
          "time": "02:18:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:18:30",
          "message": "메타데이터 태그 저장: 노벨피아원작, 노숙자, 능욕, 드라마, 똑바로 서세요, 성인, 코코도르, 팀장님, 회사원"
        },
        {
          "time": "02:18:30",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "02:18:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #115"
        },
        {
          "time": "02:18:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:19:26",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 0, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:41:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "17:41:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:42:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=팀장님, 똑바로 서세요 - 코코도르,노숙자 | 뉴토끼, links=32"
        },
        {
          "time": "17:42:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "17:42:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:42:01",
          "message": "작품 제목: 팀장님, 똑바로 서세요 - 코코도르,노숙자"
        },
        {
          "time": "17:42:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "17:42:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:42:23",
          "message": "메타데이터 태그 저장: 노벨피아원작, 노숙자, 능욕, 드라마, 똑바로 서세요, 성인, 코코도르, 팀장님, 회사원"
        },
        {
          "time": "17:42:24",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "17:42:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "17:42:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:43:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "17:43:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:30:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #116"
        },
        {
          "time": "15:30:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:31:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=팀장님, 똑바로 서세요 - 코코도르,노숙자 | 뉴토끼, links=32"
        },
        {
          "time": "15:31:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #117"
        },
        {
          "time": "15:31:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:31:39",
          "message": "작품 제목: 팀장님, 똑바로 서세요 - 코코도르,노숙자"
        },
        {
          "time": "15:31:40",
          "message": "메타데이터 태그 저장: 노벨피아원작, 노숙자, 능욕, 드라마, 똑바로 서세요, 성인, 코코도르, 팀장님, 회사원"
        },
        {
          "time": "15:31:40",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "15:32:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #118"
        },
        {
          "time": "15:32:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:32:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #119"
        },
        {
          "time": "15:32:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:32:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #120"
        },
        {
          "time": "15:32:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:43:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-03T15:43:52"
        },
        {
          "time": "15:43:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:43:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "17:36:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #317"
        },
        {
          "time": "17:36:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:36:40",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/18947, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06075c"
        },
        {
          "time": "17:36:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #318"
        },
        {
          "time": "17:36:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:37:01",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/18947, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060762"
        },
        {
          "time": "17:37:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #319"
        },
        {
          "time": "17:37:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:37:51",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/18947, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060775"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:16:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1171"
        },
        {
          "time": "07:16:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:16:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=팀장님, 똑바로 서세요 - 코코도르,노숙자 | 뉴토끼, links=32"
        },
        {
          "time": "07:16:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1172"
        },
        {
          "time": "07:16:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:17:00",
          "message": "작품 제목: 팀장님, 똑바로 서세요 - 코코도르,노숙자"
        },
        {
          "time": "07:17:01",
          "message": "메타데이터 태그 저장: 노벨피아원작, 노숙자, 능욕, 드라마, 똑바로 서세요, 성인, 코코도르, 팀장님, 회사원"
        },
        {
          "time": "07:17:02",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "07:17:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1173"
        },
        {
          "time": "07:17:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:18:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1174"
        },
        {
          "time": "07:18:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:18:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1175"
        },
        {
          "time": "07:18:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:29:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-04T07:29:35"
        },
        {
          "time": "07:29:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:29:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:27:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #46"
        },
        {
          "time": "11:27:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:27:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=팀장님, 똑바로 서세요 - 코코도르,노숙자 | 뉴토끼, links=32"
        },
        {
          "time": "11:27:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #47"
        },
        {
          "time": "11:28:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:28:00",
          "message": "작품 제목: 팀장님, 똑바로 서세요 - 코코도르,노숙자"
        },
        {
          "time": "11:28:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=팀장님, 똑바로 서세요 30화 30화 최종화 - 발정난 팀장님과 신입을 대하는 자세 | 뉴토끼, img_tags=74, image_urls=74"
        },
        {
          "time": "11:28:01",
          "message": "메타데이터 태그 저장: 노벨피아원작, 노숙자, 능욕, 드라마, 똑바로 서세요, 성인, 코코도르, 팀장님, 회사원"
        },
        {
          "time": "11:28:01",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_18947",
        "target_id": "webtoon_18947",
        "title": "팀장님, 똑바로 서세요 - 코코도르,노숙자",
        "episodes_found": 30,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 29,
        "images_found": 46,
        "images_downloaded": 46,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_18947",
          "title": "팀장님, 똑바로 서세요 - 코코도르,노숙자",
          "list_url": "https://newtoki1.org/webtoon/18947",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/18947"
          },
          "tags": [
            "노벨피아원작",
            "노숙자",
            "능욕",
            "드라마",
            "똑바로 서세요",
            "성인",
            "코코도르",
            "팀장님",
            "회사원"
          ],
          "description": "팀장님, 똑바로 서세요 (코코도르,노숙자) [탑툰] #드라마 #성인 #노벨피아원작 #능욕 #회사원",
          "metadata_path": "/downloads/webtoon_18947/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 30,
          "url": "https://newtoki1.org/webtoon/18947/tt-Team_leader_stand_up_straight-30",
          "title": "팀장님, 똑바로 서세요 30화 30화 최종화 - 발정난 팀장님과 신입을 대하는 자세",
          "status": "completed",
          "image_count": 46,
          "images_done": 46,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "d79ee9ff0c",
      "status": "interrupted",
      "display_status": "interrupted",
      "created_at": "2026-05-17T07:29:14",
      "started_at": "2026-06-05T15:53:45",
      "finished_at": "2026-06-05T16:25:18",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "메이드가 너무해! - 문햄",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/19151",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_19151",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "00:15:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:17:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T01:17:28"
        },
        {
          "time": "01:17:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:17:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:59:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1592"
        },
        {
          "time": "01:59:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:00:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메이드가 너무해! - 문햄 | 뉴토끼, links=35"
        },
        {
          "time": "02:00:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1593"
        },
        {
          "time": "02:00:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:00:34",
          "message": "작품 제목: 메이드가 너무해! - 문햄"
        },
        {
          "time": "02:00:36",
          "message": "메타데이터 태그 저장: 로맨스, 메이드가 너무해!, 문햄, 성인, 판타지"
        },
        {
          "time": "02:00:36",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "02:00:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1594"
        },
        {
          "time": "02:00:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:01:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1595"
        },
        {
          "time": "02:01:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:02:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1596"
        },
        {
          "time": "02:02:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:14:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T02:14:44"
        },
        {
          "time": "02:14:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:14:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:45:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1660"
        },
        {
          "time": "02:45:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:45:36",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/19151, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06bd74"
        },
        {
          "time": "02:45:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1661"
        },
        {
          "time": "02:45:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:45:58",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/19151, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06bd79"
        },
        {
          "time": "02:46:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1662"
        },
        {
          "time": "02:46:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:46:53",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/19151, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06bd8f"
        },
        {
          "time": "04:36:43",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-05T04:36:12"
        },
        {
          "time": "04:56:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1807"
        },
        {
          "time": "04:56:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:56:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메이드가 너무해! - 문햄 | 뉴토끼, links=35"
        },
        {
          "time": "04:56:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1808"
        },
        {
          "time": "04:56:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:56:34",
          "message": "작품 제목: 메이드가 너무해! - 문햄"
        },
        {
          "time": "04:56:35",
          "message": "메타데이터 태그 저장: 로맨스, 메이드가 너무해!, 문햄, 성인, 판타지"
        },
        {
          "time": "04:56:36",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "04:56:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1809"
        },
        {
          "time": "04:56:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:57:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1810"
        },
        {
          "time": "04:57:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:58:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1811"
        },
        {
          "time": "04:58:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:57:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T05:57:10"
        },
        {
          "time": "05:57:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:57:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:45:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1999"
        },
        {
          "time": "06:45:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:45:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메이드가 너무해! - 문햄 | 뉴토끼, links=35"
        },
        {
          "time": "06:45:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2000"
        },
        {
          "time": "06:46:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:46:15",
          "message": "작품 제목: 메이드가 너무해! - 문햄"
        },
        {
          "time": "06:46:16",
          "message": "메타데이터 태그 저장: 로맨스, 메이드가 너무해!, 문햄, 성인, 판타지"
        },
        {
          "time": "06:46:17",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "06:46:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2001"
        },
        {
          "time": "06:46:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:46:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2002"
        },
        {
          "time": "06:46:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:47:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2003"
        },
        {
          "time": "06:47:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:59:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T06:59:26"
        },
        {
          "time": "06:59:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:59:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:34:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2198"
        },
        {
          "time": "08:34:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:35:05",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:35:05",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:35:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2199"
        },
        {
          "time": "08:35:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:35:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메이드가 너무해! - 문햄 | 뉴토끼, links=35"
        },
        {
          "time": "08:35:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2200"
        },
        {
          "time": "08:35:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:35:19",
          "message": "작품 제목: 메이드가 너무해! - 문햄"
        },
        {
          "time": "08:35:20",
          "message": "메타데이터 태그 저장: 로맨스, 메이드가 너무해!, 문햄, 성인, 판타지"
        },
        {
          "time": "08:35:21",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "08:35:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2201"
        },
        {
          "time": "08:35:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:36:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2202"
        },
        {
          "time": "08:36:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:36:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2203"
        },
        {
          "time": "08:36:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:48:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T08:48:17"
        },
        {
          "time": "08:48:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:48:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:26:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2390"
        },
        {
          "time": "10:26:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:26:46",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:26:46",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:26:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2391"
        },
        {
          "time": "10:26:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:27:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메이드가 너무해! - 문햄 | 뉴토끼, links=35"
        },
        {
          "time": "10:27:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2392"
        },
        {
          "time": "10:27:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:27:40",
          "message": "작품 제목: 메이드가 너무해! - 문햄"
        },
        {
          "time": "10:27:42",
          "message": "메타데이터 태그 저장: 로맨스, 메이드가 너무해!, 문햄, 성인, 판타지"
        },
        {
          "time": "10:27:43",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "10:27:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2393"
        },
        {
          "time": "10:28:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:28:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2394"
        },
        {
          "time": "10:28:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:28:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2395"
        },
        {
          "time": "10:28:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:42:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T10:42:52"
        },
        {
          "time": "10:42:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:42:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:24:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2586"
        },
        {
          "time": "12:24:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:24:54",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:24:54",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:24:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2587"
        },
        {
          "time": "12:24:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:25:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메이드가 너무해! - 문햄 | 뉴토끼, links=35"
        },
        {
          "time": "12:25:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2588"
        },
        {
          "time": "12:26:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:26:08",
          "message": "작품 제목: 메이드가 너무해! - 문햄"
        },
        {
          "time": "12:26:08",
          "message": "메타데이터 태그 저장: 로맨스, 메이드가 너무해!, 문햄, 성인, 판타지"
        },
        {
          "time": "12:26:09",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "12:26:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2589"
        },
        {
          "time": "12:26:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:26:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2590"
        },
        {
          "time": "12:26:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:27:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2591"
        },
        {
          "time": "12:27:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:38:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T12:38:11"
        },
        {
          "time": "12:38:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:38:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:08:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2777"
        },
        {
          "time": "14:08:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:08:34",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:08:35",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:08:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2778"
        },
        {
          "time": "14:08:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:08:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메이드가 너무해! - 문햄 | 뉴토끼, links=36"
        },
        {
          "time": "14:08:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2779"
        },
        {
          "time": "14:09:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:09:24",
          "message": "작품 제목: 메이드가 너무해! - 문햄"
        },
        {
          "time": "14:09:25",
          "message": "메타데이터 태그 저장: 로맨스, 메이드가 너무해!, 문햄, 성인, 판타지"
        },
        {
          "time": "14:09:25",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "14:09:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2780"
        },
        {
          "time": "14:09:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:10:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2781"
        },
        {
          "time": "14:10:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:10:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2782"
        },
        {
          "time": "14:10:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:10:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2783"
        },
        {
          "time": "14:10:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:11:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=메이드가 너무해! 33화 | 뉴토끼, img_tags=87, image_urls=87"
        },
        {
          "time": "14:12:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2784"
        },
        {
          "time": "14:12:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:12:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2785"
        },
        {
          "time": "14:12:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:27:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T14:27:31"
        },
        {
          "time": "14:27:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:27:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "16:25:18",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 0)"
        }
      ],
      "summary": null,
      "error": "서버 재시작으로 작업이 중단되었습니다.",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 0,
        "total": 0,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "8dc938e02d",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-17T07:28:36",
      "started_at": "2026-06-04T07:10:00",
      "finished_at": "2026-06-04T07:10:39",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "세금여친 - Heidi,BlueGoose,힣흫햏",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/16782",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_16782",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:47:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:47:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 28화 10화 | 뉴토끼, img_tags=54, image_urls=54"
        },
        {
          "time": "08:50:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1144"
        },
        {
          "time": "08:50:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:50:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1145"
        },
        {
          "time": "08:50:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:50:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 27화 11화 | 뉴토끼, img_tags=51, image_urls=51"
        },
        {
          "time": "08:54:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1146"
        },
        {
          "time": "08:54:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:54:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1147"
        },
        {
          "time": "08:54:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:54:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 26화 12화 | 뉴토끼, img_tags=52, image_urls=52"
        },
        {
          "time": "08:56:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1148"
        },
        {
          "time": "08:56:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:56:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1149"
        },
        {
          "time": "08:56:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:56:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 25화 13화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "08:58:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1150"
        },
        {
          "time": "08:58:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:59:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1151"
        },
        {
          "time": "08:59:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:59:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 24화 14화 | 뉴토끼, img_tags=60, image_urls=60"
        },
        {
          "time": "09:01:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1152"
        },
        {
          "time": "09:01:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:01:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1153"
        },
        {
          "time": "09:01:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:02:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 23화 15화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "09:02:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1154"
        },
        {
          "time": "09:02:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:03:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1155"
        },
        {
          "time": "09:03:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:03:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 22화 16화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "09:04:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1156"
        },
        {
          "time": "09:04:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:05:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1157"
        },
        {
          "time": "09:05:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:05:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 21화 17화 | 뉴토끼, img_tags=56, image_urls=56"
        },
        {
          "time": "09:06:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1158"
        },
        {
          "time": "09:06:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:07:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1159"
        },
        {
          "time": "09:07:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:07:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 20화 18화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "09:07:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1160"
        },
        {
          "time": "09:07:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:07:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 19화 | 뉴토끼, img_tags=52, image_urls=52"
        },
        {
          "time": "09:09:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1161"
        },
        {
          "time": "09:09:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:09:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 18화 20화 | 뉴토끼, img_tags=49, image_urls=49"
        },
        {
          "time": "09:11:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1162"
        },
        {
          "time": "09:11:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:11:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1163"
        },
        {
          "time": "09:11:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:12:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 17화 21화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "09:13:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1164"
        },
        {
          "time": "09:13:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:14:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1165"
        },
        {
          "time": "09:14:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:14:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 16화 22화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "09:14:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1166"
        },
        {
          "time": "09:14:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:14:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 15화 23화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "09:15:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1167"
        },
        {
          "time": "09:15:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:16:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1168"
        },
        {
          "time": "09:16:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:16:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 14화 24화 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "09:17:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1169"
        },
        {
          "time": "09:17:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:17:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 13화 25화 | 뉴토끼, img_tags=53, image_urls=53"
        },
        {
          "time": "09:18:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1170"
        },
        {
          "time": "09:18:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:18:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1171"
        },
        {
          "time": "09:18:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:19:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 12화 26화 | 뉴토끼, img_tags=37, image_urls=37"
        },
        {
          "time": "09:19:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1172"
        },
        {
          "time": "09:19:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:19:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 11화 27화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "09:20:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1173"
        },
        {
          "time": "09:20:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:20:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 10화 28화 | 뉴토끼, img_tags=52, image_urls=52"
        },
        {
          "time": "09:21:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1174"
        },
        {
          "time": "09:21:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:21:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1175"
        },
        {
          "time": "09:21:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:21:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 9화 29화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "09:21:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1176"
        },
        {
          "time": "09:21:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:22:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 8화 30화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "09:22:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1177"
        },
        {
          "time": "09:22:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:22:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 7화 31화 | 뉴토끼, img_tags=66, image_urls=66"
        },
        {
          "time": "09:25:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1178"
        },
        {
          "time": "09:25:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:25:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1179"
        },
        {
          "time": "09:25:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:25:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 6화 32화 | 뉴토끼, img_tags=63, image_urls=63"
        },
        {
          "time": "09:27:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1180"
        },
        {
          "time": "09:27:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:28:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1181"
        },
        {
          "time": "09:28:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:28:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 5화 33화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "09:29:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1182"
        },
        {
          "time": "09:29:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:29:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 4화 34화 | 뉴토끼, img_tags=57, image_urls=57"
        },
        {
          "time": "09:31:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1183"
        },
        {
          "time": "09:31:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:31:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1184"
        },
        {
          "time": "09:31:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:32:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1185"
        },
        {
          "time": "09:32:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:32:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 2화 36화 | 뉴토끼, img_tags=48, image_urls=48"
        },
        {
          "time": "09:33:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1186"
        },
        {
          "time": "09:33:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:33:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1187"
        },
        {
          "time": "09:33:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:34:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 33화 5화 | 뉴토끼, img_tags=54, image_urls=54"
        },
        {
          "time": "09:36:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1188"
        },
        {
          "time": "09:36:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:37:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1189"
        },
        {
          "time": "09:37:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:37:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 30화 8화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "09:37:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1190"
        },
        {
          "time": "09:37:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "09:38:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 3화 35화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:12:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #69"
        },
        {
          "time": "18:12:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:12:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세금여친 - Heidi,BlueGoose,힣흫햏 | 뉴토끼, links=39"
        },
        {
          "time": "18:12:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #70"
        },
        {
          "time": "18:12:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:12:20",
          "message": "작품 제목: 세금여친 - Heidi,BlueGoose,힣흫햏"
        },
        {
          "time": "18:12:20",
          "message": "메타데이터 태그 저장: BlueGoose, Heidi, 성인, 세금여친, 힣흫햏"
        },
        {
          "time": "18:12:21",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "18:12:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 17화 21화 | 뉴토끼, img_tags=37, image_urls=37"
        },
        {
          "time": "18:13:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #71"
        },
        {
          "time": "18:13:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:14:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #72"
        },
        {
          "time": "18:14:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:14:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 9화 29화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "18:15:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #73"
        },
        {
          "time": "18:15:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:15:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금여친 5화 33화 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:30:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #628"
        },
        {
          "time": "13:30:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:30:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세금여친 - Heidi,BlueGoose,힣흫햏 | 뉴토끼, links=39"
        },
        {
          "time": "13:30:48",
          "message": "작품 제목: 세금여친 - Heidi,BlueGoose,힣흫햏"
        },
        {
          "time": "13:30:48",
          "message": "메타데이터 태그 저장: BlueGoose, Heidi, 성인, 세금여친, 힣흫햏"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:10:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1164"
        },
        {
          "time": "07:10:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:10:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세금여친 - Heidi,BlueGoose,힣흫햏 | 뉴토끼, links=39"
        },
        {
          "time": "07:10:38",
          "message": "작품 제목: 세금여친 - Heidi,BlueGoose,힣흫햏"
        },
        {
          "time": "07:10:38",
          "message": "메타데이터 태그 저장: BlueGoose, Heidi, 성인, 세금여친, 힣흫햏"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_16782",
        "target_id": "webtoon_16782",
        "title": "세금여친 - Heidi,BlueGoose,힣흫햏",
        "episodes_found": 37,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 37,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_16782",
          "title": "세금여친 - Heidi,BlueGoose,힣흫햏",
          "list_url": "https://newtoki1.org/webtoon/16782",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/16782"
          },
          "tags": [
            "BlueGoose",
            "Heidi",
            "성인",
            "세금여친",
            "힣흫햏"
          ],
          "description": "세금여친 (Heidi,BlueGoose,힣흫햏) [투믹스] #성인",
          "metadata_path": "/downloads/webtoon_16782/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 37,
        "total": 37,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "975780455e",
      "status": "failed",
      "display_status": "failed",
      "created_at": "2026-05-17T07:16:36",
      "started_at": "2026-06-07T04:43:36",
      "finished_at": "2026-06-07T04:45:05",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/19015",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_19015",
        "viewer_image_mode": "auto",
        "display_title": "오피스, 파트너들 - 정매실, 두연, 무브",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "03:12:30",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:22:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T03:22:31"
        },
        {
          "time": "03:22:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:22:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:22:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1830"
        },
        {
          "time": "03:22:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:22:54",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:22:55",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:22:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1831"
        },
        {
          "time": "03:22:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:23:16",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "03:23:16",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:23:16",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:23:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1832"
        },
        {
          "time": "03:23:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:23:37",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:23:38",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:23:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1833"
        },
        {
          "time": "03:23:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:24:00",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "03:24:00",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:34:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T03:34:01"
        },
        {
          "time": "03:34:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:34:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:34:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1846"
        },
        {
          "time": "03:34:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:34:30",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "03:34:31",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:34:31",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:34:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1847"
        },
        {
          "time": "03:34:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:34:52",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "03:34:52",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:34:52",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:34:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1848"
        },
        {
          "time": "03:34:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:35:14",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:35:14",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:35:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1849"
        },
        {
          "time": "03:35:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:35:36",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:45:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T03:45:37"
        },
        {
          "time": "03:45:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:45:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:45:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1862"
        },
        {
          "time": "03:45:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:46:10",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "03:46:10",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:46:11",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:46:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1863"
        },
        {
          "time": "03:46:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:46:32",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "03:46:32",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:46:32",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:46:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1864"
        },
        {
          "time": "03:46:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:46:54",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:46:54",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:46:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1865"
        },
        {
          "time": "03:46:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:47:15",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:57:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T03:57:16"
        },
        {
          "time": "03:57:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:57:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:57:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1878"
        },
        {
          "time": "03:57:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:57:43",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:57:44",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:57:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1879"
        },
        {
          "time": "03:57:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:58:04",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "03:58:04",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:58:05",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:58:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1880"
        },
        {
          "time": "03:58:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:58:27",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:58:27",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "03:58:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1881"
        },
        {
          "time": "03:58:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:58:49",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "03:58:49",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:08:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T04:08:50"
        },
        {
          "time": "04:08:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:08:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:08:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1894"
        },
        {
          "time": "04:08:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:09:14",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:09:14",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:09:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1895"
        },
        {
          "time": "04:09:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:09:35",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "04:09:35",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:09:36",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:09:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1896"
        },
        {
          "time": "04:09:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:09:57",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:09:57",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:09:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1897"
        },
        {
          "time": "04:09:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:10:19",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "04:10:20",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:20:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T04:20:21"
        },
        {
          "time": "04:20:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:20:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:20:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1910"
        },
        {
          "time": "04:20:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:20:50",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:20:50",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:20:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1911"
        },
        {
          "time": "04:20:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:21:11",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "04:21:11",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:21:11",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:21:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1912"
        },
        {
          "time": "04:21:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:21:34",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "04:21:34",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:21:34",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:21:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1913"
        },
        {
          "time": "04:21:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:21:56",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:32:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T04:32:00"
        },
        {
          "time": "04:32:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:32:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:32:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1926"
        },
        {
          "time": "04:32:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:32:30",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:32:31",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:32:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1927"
        },
        {
          "time": "04:32:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:32:52",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "04:32:52",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:32:52",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:32:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1928"
        },
        {
          "time": "04:32:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:33:14",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:33:14",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:33:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1929"
        },
        {
          "time": "04:33:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:33:36",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found., reason=series_links_missing"
        },
        {
          "time": "04:33:36",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/19015, title=404: This page could not be found., links=0, ready=complete, text=404 This page could not be found.. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:43:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T04:43:36"
        },
        {
          "time": "04:43:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:43:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:43:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1942"
        },
        {
          "time": "04:43:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:44:00",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:44:01",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:44:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1943"
        },
        {
          "time": "04:44:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:44:22",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/19015, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a07cfff"
        },
        {
          "time": "04:44:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1944"
        },
        {
          "time": "04:44:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:44:43",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/19015, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a07d005"
        },
        {
          "time": "04:44:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1945"
        },
        {
          "time": "04:44:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:45:04",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/19015, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a07d00d"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_19015",
        "target_id": "webtoon_19015",
        "title": "",
        "episodes_found": 0,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 0,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": "목록 페이지 검증 실패: 대기 또는 브라우저 검증 페이지가 로드됨",
        "metadata": {}
      },
      "error": "목록 페이지 검증 실패: 대기 또는 브라우저 검증 페이지가 로드됨",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": true,
        "type": "browser_verification",
        "severity": "warning",
        "time": "14:37:34",
        "message": "브라우저 검증 페이지가 남아 있습니다."
      },
      "progress": {
        "done": 0,
        "total": 0,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "6a3c5305cb",
      "status": "interrupted",
      "display_status": "interrupted",
      "created_at": "2026-05-16T09:20:27",
      "started_at": "2026-06-05T18:02:30",
      "finished_at": "2026-06-05T18:02:36",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "걸즈&판처 리본의 무사 - 스즈키 타카아키",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/22520",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_22520",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "01:56:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:56:37",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "02:07:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T02:07:31"
        },
        {
          "time": "02:07:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:07:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:39:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1653"
        },
        {
          "time": "02:39:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:40:19",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/22520, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06bcf8"
        },
        {
          "time": "02:40:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1654"
        },
        {
          "time": "02:40:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:40:40",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/22520, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06bcfd"
        },
        {
          "time": "02:40:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1655"
        },
        {
          "time": "02:40:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:41:01",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/22520, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06bd06"
        },
        {
          "time": "04:36:43",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-05T04:36:12"
        },
        {
          "time": "04:51:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1799"
        },
        {
          "time": "04:51:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:52:04",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "04:52:04",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "04:52:04",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:52:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1800"
        },
        {
          "time": "04:52:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:52:25",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "04:52:25",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "04:52:25",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:52:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1801"
        },
        {
          "time": "04:52:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:52:47",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:52:47",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:52:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1802"
        },
        {
          "time": "04:52:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:53:09",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:04:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T05:04:53"
        },
        {
          "time": "05:04:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:04:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:41:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1991"
        },
        {
          "time": "06:41:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:42:03",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "06:42:03",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "06:42:03",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:42:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1992"
        },
        {
          "time": "06:42:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:42:24",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "06:42:24",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "06:42:24",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "06:42:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1993"
        },
        {
          "time": "06:42:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:42:46",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:42:46",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "06:42:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1994"
        },
        {
          "time": "06:42:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:43:08",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:55:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T06:55:29"
        },
        {
          "time": "06:55:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:55:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:31:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2190"
        },
        {
          "time": "08:31:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:31:33",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "08:31:33",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "08:31:33",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:31:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2191"
        },
        {
          "time": "08:31:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:31:54",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "08:31:54",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "08:31:54",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "08:31:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2192"
        },
        {
          "time": "08:31:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:32:17",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:32:17",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "08:32:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2193"
        },
        {
          "time": "08:32:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:32:39",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:44:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T08:44:01"
        },
        {
          "time": "08:44:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:44:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:21:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2382"
        },
        {
          "time": "10:21:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:21:33",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:21:33",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:21:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2383"
        },
        {
          "time": "10:21:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:21:54",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "10:21:54",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "10:21:54",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "10:21:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2384"
        },
        {
          "time": "10:21:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:22:16",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:22:16",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "10:22:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2385"
        },
        {
          "time": "10:22:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:22:39",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "10:22:40",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "10:34:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T10:34:21"
        },
        {
          "time": "10:34:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:34:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:19:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2578"
        },
        {
          "time": "12:19:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:20:15",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:20:16",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:20:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2579"
        },
        {
          "time": "12:20:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:20:38",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "12:20:38",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "12:20:38",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "12:20:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2580"
        },
        {
          "time": "12:20:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:21:01",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "12:21:01",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "12:21:01",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "12:21:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2581"
        },
        {
          "time": "12:21:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:21:25",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:31:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T12:31:42"
        },
        {
          "time": "12:31:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:31:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:03:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2769"
        },
        {
          "time": "14:03:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:03:31",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:03:32",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:03:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2770"
        },
        {
          "time": "14:03:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:03:52",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "14:03:53",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "14:03:54",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "14:03:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2771"
        },
        {
          "time": "14:03:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:04:19",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "14:04:20",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "14:04:20",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "14:04:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2772"
        },
        {
          "time": "14:04:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:04:45",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "14:04:46",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "14:19:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T14:19:38"
        },
        {
          "time": "14:19:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:19:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:49:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2960"
        },
        {
          "time": "15:49:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:50:30",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "15:50:30",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "15:50:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2961"
        },
        {
          "time": "15:50:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:50:51",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치, reason=series_links_missing"
        },
        {
          "time": "15:50:51",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/22520, title=걸즈&판처 리본의 무사 - 스즈키 타카아키 | 뉴토끼, links=30, ready=complete, text=🐰 뉴토끼 — 무료 웹툰의 새로운 기준 🌙 다크 고객센터 앱 다운로드 텔레그램 채널 이벤트 로그인 회원가입 홈 웹툰 N 완결웹툰 만화 N 소설 N 애니 N 랭킹 게임 커뮤니티 북마크 최근본작품 🏆 포인트랭킹 🔧 패치. 최근 로그에서 마지막 스냅샷 진단을…"
        },
        {
          "time": "15:50:51",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "15:50:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2962"
        },
        {
          "time": "15:50:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:51:12",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "15:51:12",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "15:51:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2963"
        },
        {
          "time": "15:51:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:51:34",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:25:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T16:25:18"
        },
        {
          "time": "16:25:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:25:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "18:02:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #166"
        },
        {
          "time": "18:02:36",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 0)"
        }
      ],
      "summary": null,
      "error": "서버 재시작으로 작업이 중단되었습니다.",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 0,
        "total": 0,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3839a1c206",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:19:21",
      "started_at": "2026-06-04T07:05:00",
      "finished_at": "2026-06-04T07:05:44",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "우리 옆집 사모님(부인) - 오오이 마사카즈",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/10992",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_10992",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:26:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:28:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:28:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:39:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:39:11"
        },
        {
          "time": "08:39:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:39:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:41:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:41:48",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:52:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:52:15"
        },
        {
          "time": "08:52:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:52:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:52:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:52:24",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:02:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:02:39"
        },
        {
          "time": "09:02:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:02:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:02:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:02:53",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:12:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:12:59"
        },
        {
          "time": "09:12:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:12:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:14:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:14:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:24:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:24:20"
        },
        {
          "time": "09:24:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:24:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:25:08",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:26:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:36:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:36:15"
        },
        {
          "time": "09:36:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:36:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:37:03",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:37:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:47:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:47:32"
        },
        {
          "time": "09:47:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:47:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:48:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:48:34",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:58:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:58:43"
        },
        {
          "time": "09:58:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:58:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:01:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:01:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:11:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:11:26"
        },
        {
          "time": "10:11:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:11:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:14:37",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:15:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:25:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:25:16"
        },
        {
          "time": "10:25:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:25:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:25:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:25:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:35:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:35:45"
        },
        {
          "time": "10:35:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:35:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:36:41",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:37:17",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:47:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:47:48"
        },
        {
          "time": "10:47:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:47:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:47:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:47:56",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:57:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:57:57"
        },
        {
          "time": "10:57:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:57:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:57:58",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:58:01",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:08:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:08:16"
        },
        {
          "time": "11:08:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:08:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:10:02",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:10:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:20:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:20:35"
        },
        {
          "time": "11:20:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:20:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:20:37",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:20:40",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:30:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:30:53"
        },
        {
          "time": "11:30:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:30:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:31:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:32:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:42:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:42:50"
        },
        {
          "time": "11:42:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:42:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:43:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:43:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:54:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:54:11"
        },
        {
          "time": "11:54:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:54:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:54:48",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:55:23",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:05:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:05:23"
        },
        {
          "time": "12:05:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:05:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:05:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:06:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:16:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:16:32"
        },
        {
          "time": "12:16:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:16:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:16:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:16:37",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:28:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:27:43"
        },
        {
          "time": "12:28:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:28:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:05",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:43:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #314"
        },
        {
          "time": "21:43:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:43:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 옆집 사모님(부인) - 오오이 마사카즈 | 뉴토끼, links=157"
        },
        {
          "time": "21:43:58",
          "message": "작품 제목: 우리 옆집 사모님(부인) - 오오이 마사카즈"
        },
        {
          "time": "21:43:58",
          "message": "메타데이터 태그 저장: 오오이 마사카즈, 우리 옆집 사모님(부인"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:57:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #115"
        },
        {
          "time": "13:57:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:58:02",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:58:12",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:09:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:09:02"
        },
        {
          "time": "14:09:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:09:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:58:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1494"
        },
        {
          "time": "13:58:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:59:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 옆집 사모님(부인) - 오오이 마사카즈 | 뉴토끼, links=157"
        },
        {
          "time": "13:59:37",
          "message": "작품 제목: 우리 옆집 사모님(부인) - 오오이 마사카즈"
        },
        {
          "time": "13:59:37",
          "message": "메타데이터 태그 저장: 오오이 마사카즈, 우리 옆집 사모님(부인"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:05:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "17:05:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:06:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 옆집 사모님(부인) - 오오이 마사카즈 | 뉴토끼, links=157"
        },
        {
          "time": "17:06:13",
          "message": "작품 제목: 우리 옆집 사모님(부인) - 오오이 마사카즈"
        },
        {
          "time": "17:06:13",
          "message": "메타데이터 태그 저장: 오오이 마사카즈, 우리 옆집 사모님(부인"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:03:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #74"
        },
        {
          "time": "15:03:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:04:17",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "15:04:17",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "15:04:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #75"
        },
        {
          "time": "15:04:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:04:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 옆집 사모님(부인) - 오오이 마사카즈 | 뉴토끼, links=157"
        },
        {
          "time": "15:05:03",
          "message": "작품 제목: 우리 옆집 사모님(부인) - 오오이 마사카즈"
        },
        {
          "time": "15:05:04",
          "message": "메타데이터 태그 저장: 오오이 마사카즈, 우리 옆집 사모님(부인"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:05:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1158"
        },
        {
          "time": "07:05:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:05:25",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:05:25",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:05:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1159"
        },
        {
          "time": "07:05:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:05:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 옆집 사모님(부인) - 오오이 마사카즈 | 뉴토끼, links=157"
        },
        {
          "time": "07:05:41",
          "message": "작품 제목: 우리 옆집 사모님(부인) - 오오이 마사카즈"
        },
        {
          "time": "07:05:42",
          "message": "메타데이터 태그 저장: 오오이 마사카즈, 우리 옆집 사모님(부인"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_10992",
        "target_id": "manhwa_10992",
        "title": "우리 옆집 사모님(부인) - 오오이 마사카즈",
        "episodes_found": 155,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 155,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_10992",
          "title": "우리 옆집 사모님(부인) - 오오이 마사카즈",
          "list_url": "https://newtoki1.org/manhwa/10992",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/10992"
          },
          "tags": [
            "오오이 마사카즈",
            "우리 옆집 사모님(부인"
          ],
          "description": "우리 옆집에도 이런 사모님이 있었으면…! 사랑스러운 전업 주부의 일상은 어떤 모습일까? 결혼6년차인 32세의 전업 주부 오키타 교코의 일상을 들여다 본다! 언제 어디서나 사랑이 듬뿍 묻어나는 천진난만한 성격으로 사소한 해프닝들이 벌어지는 교코의 일상. 다만, 그녀의 다소 풍만한 몸매로",
          "metadata_path": "/downloads/manhwa_10992/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 155,
        "total": 155,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "7a82b71794",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:18:16",
      "started_at": "2026-06-04T07:03:49",
      "finished_at": "2026-06-04T07:05:00",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "신부수업 - 주이상스,물냥이",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/17778",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_17778",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "04:38:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_009/034.jpg"
        },
        {
          "time": "04:38:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_009/035.jpg"
        },
        {
          "time": "04:38:29",
          "message": "  [>] 이미지 35/35개 처리 완료.\n"
        },
        {
          "time": "04:38:30",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/17778/1502879"
        },
        {
          "time": "04:38:30",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/17778/1502879"
        },
        {
          "time": "04:38:49",
          "message": "  [i] 회차 제목: 신부수업 2화 10화"
        },
        {
          "time": "04:38:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/001.png"
        },
        {
          "time": "04:38:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/002.jpg"
        },
        {
          "time": "04:38:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/003.jpg"
        },
        {
          "time": "04:38:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/004.jpg"
        },
        {
          "time": "04:38:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/005.jpg"
        },
        {
          "time": "04:38:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/006.jpg"
        },
        {
          "time": "04:38:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/007.jpg"
        },
        {
          "time": "04:39:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/008.jpg"
        },
        {
          "time": "04:39:03",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/009.jpg"
        },
        {
          "time": "04:39:05",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/010.jpg"
        },
        {
          "time": "04:39:06",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/011.jpg"
        },
        {
          "time": "04:39:08",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/012.jpg"
        },
        {
          "time": "04:39:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/013.jpg"
        },
        {
          "time": "04:39:12",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/014.jpg"
        },
        {
          "time": "04:39:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/015.jpg"
        },
        {
          "time": "04:39:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/016.jpg"
        },
        {
          "time": "04:39:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/017.jpg"
        },
        {
          "time": "04:39:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/018.jpg"
        },
        {
          "time": "04:39:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/019.jpg"
        },
        {
          "time": "04:39:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/020.jpg"
        },
        {
          "time": "04:39:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/021.jpg"
        },
        {
          "time": "04:39:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/022.jpg"
        },
        {
          "time": "04:39:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/023.jpg"
        },
        {
          "time": "04:39:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/024.jpg"
        },
        {
          "time": "04:39:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/025.jpg"
        },
        {
          "time": "04:39:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/026.jpg"
        },
        {
          "time": "04:39:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/027.jpg"
        },
        {
          "time": "04:39:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/028.jpg"
        },
        {
          "time": "04:39:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/029.jpg"
        },
        {
          "time": "04:39:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/030.jpg"
        },
        {
          "time": "04:39:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/031.jpg"
        },
        {
          "time": "04:39:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/032.jpg"
        },
        {
          "time": "04:39:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/033.jpg"
        },
        {
          "time": "04:39:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/034.jpg"
        },
        {
          "time": "04:39:42",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/035.jpg"
        },
        {
          "time": "04:39:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/036.jpg"
        },
        {
          "time": "04:39:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/037.jpg"
        },
        {
          "time": "04:39:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/038.jpg"
        },
        {
          "time": "04:39:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/039.jpg"
        },
        {
          "time": "04:39:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/040.jpg"
        },
        {
          "time": "04:39:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/041.jpg"
        },
        {
          "time": "04:39:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/042.jpg"
        },
        {
          "time": "04:39:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_010/043.jpg"
        },
        {
          "time": "04:39:56",
          "message": "  [>] 이미지 43/43개 처리 완료.\n"
        },
        {
          "time": "04:39:57",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/17778/1552032"
        },
        {
          "time": "04:39:57",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/17778/1552032"
        },
        {
          "time": "04:40:17",
          "message": "  [i] 회차 제목: 신부수업 1화 11화"
        },
        {
          "time": "04:40:17",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/001.jpg"
        },
        {
          "time": "04:40:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/002.jpg"
        },
        {
          "time": "04:40:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/003.jpg"
        },
        {
          "time": "04:40:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/004.jpg"
        },
        {
          "time": "04:40:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/005.jpg"
        },
        {
          "time": "04:40:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/006.jpg"
        },
        {
          "time": "04:40:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/007.jpg"
        },
        {
          "time": "04:40:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/008.jpg"
        },
        {
          "time": "04:40:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/009.jpg"
        },
        {
          "time": "04:40:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/010.jpg"
        },
        {
          "time": "04:40:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/011.jpg"
        },
        {
          "time": "04:40:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/012.jpg"
        },
        {
          "time": "04:40:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/013.jpg"
        },
        {
          "time": "04:40:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/014.jpg"
        },
        {
          "time": "04:40:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/015.jpg"
        },
        {
          "time": "04:40:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/016.jpg"
        },
        {
          "time": "04:40:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/017.jpg"
        },
        {
          "time": "04:40:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/018.jpg"
        },
        {
          "time": "04:40:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/019.jpg"
        },
        {
          "time": "04:40:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/020.jpg"
        },
        {
          "time": "04:40:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/021.jpg"
        },
        {
          "time": "04:40:40",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/022.jpg"
        },
        {
          "time": "04:40:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/023.jpg"
        },
        {
          "time": "04:40:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/024.jpg"
        },
        {
          "time": "04:40:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/025.jpg"
        },
        {
          "time": "04:40:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/026.jpg"
        },
        {
          "time": "04:40:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/027.jpg"
        },
        {
          "time": "04:40:47",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/028.jpg"
        },
        {
          "time": "04:40:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/029.jpg"
        },
        {
          "time": "04:40:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/030.jpg"
        },
        {
          "time": "04:40:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/031.jpg"
        },
        {
          "time": "04:40:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/032.jpg"
        },
        {
          "time": "04:40:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/033.jpg"
        },
        {
          "time": "04:40:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/034.jpg"
        },
        {
          "time": "04:40:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/035.jpg"
        },
        {
          "time": "04:40:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/036.jpg"
        },
        {
          "time": "04:40:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/037.jpg"
        },
        {
          "time": "04:40:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/038.jpg"
        },
        {
          "time": "04:41:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/039.jpg"
        },
        {
          "time": "04:41:01",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/040.jpg"
        },
        {
          "time": "04:41:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/041.jpg"
        },
        {
          "time": "04:41:03",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/042.jpg"
        },
        {
          "time": "04:41:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/043.jpg"
        },
        {
          "time": "04:41:06",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/044.jpg"
        },
        {
          "time": "04:41:08",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/045.jpg"
        },
        {
          "time": "04:41:09",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/046.jpg"
        },
        {
          "time": "04:41:10",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/047.jpg"
        },
        {
          "time": "04:41:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_17778/ep_011/048.jpg"
        },
        {
          "time": "04:41:11",
          "message": "  [>] 이미지 48/48개 처리 완료.\n"
        },
        {
          "time": "04:41:12",
          "message": "완료: 회차 11개 처리, 이미지 448개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 11)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:53:41",
          "message": "작품 제목: 17778"
        },
        {
          "time": "06:04:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:04:05"
        },
        {
          "time": "06:04:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:04:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:43:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #313"
        },
        {
          "time": "21:43:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:43:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=신부수업 - 주이상스,물냥이 | 뉴토끼, links=13"
        },
        {
          "time": "21:43:42",
          "message": "작품 제목: 신부수업 - 주이상스,물냥이"
        },
        {
          "time": "21:43:42",
          "message": "메타데이터 태그 저장: 로맨스, 물냥이, 성인, 신부수업, 주이상스"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:58:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #116"
        },
        {
          "time": "13:58:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:58:33",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:58:33",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:09:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:09:02"
        },
        {
          "time": "14:09:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:09:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:59:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1495"
        },
        {
          "time": "13:59:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:59:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=신부수업 - 주이상스,물냥이 | 뉴토끼, links=13"
        },
        {
          "time": "13:59:53",
          "message": "작품 제목: 신부수업 - 주이상스,물냥이"
        },
        {
          "time": "13:59:53",
          "message": "메타데이터 태그 저장: 로맨스, 물냥이, 성인, 신부수업, 주이상스"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:05:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "17:05:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:05:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=신부수업 - 주이상스,물냥이 | 뉴토끼, links=13"
        },
        {
          "time": "17:05:55",
          "message": "작품 제목: 신부수업 - 주이상스,물냥이"
        },
        {
          "time": "17:05:55",
          "message": "메타데이터 태그 저장: 로맨스, 물냥이, 성인, 신부수업, 주이상스"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:06:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #76"
        },
        {
          "time": "15:06:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:06:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=신부수업 - 주이상스,물냥이 | 뉴토끼, links=13"
        },
        {
          "time": "15:06:55",
          "message": "작품 제목: 신부수업 - 주이상스,물냥이"
        },
        {
          "time": "15:06:55",
          "message": "메타데이터 태그 저장: 로맨스, 물냥이, 성인, 신부수업, 주이상스"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:04:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1156"
        },
        {
          "time": "07:04:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:04:44",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:04:44",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:04:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1157"
        },
        {
          "time": "07:04:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:04:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=신부수업 - 주이상스,물냥이 | 뉴토끼, links=13"
        },
        {
          "time": "07:04:59",
          "message": "작품 제목: 신부수업 - 주이상스,물냥이"
        },
        {
          "time": "07:04:59",
          "message": "메타데이터 태그 저장: 로맨스, 물냥이, 성인, 신부수업, 주이상스"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_17778",
        "target_id": "webtoon_17778",
        "title": "신부수업 - 주이상스,물냥이",
        "episodes_found": 11,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 11,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_17778",
          "title": "신부수업 - 주이상스,물냥이",
          "list_url": "https://newtoki1.org/webtoon/17778",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/17778"
          },
          "tags": [
            "로맨스",
            "물냥이",
            "성인",
            "신부수업",
            "주이상스"
          ],
          "description": "신부수업 (주이상스,물냥이) [투믹스] #로맨스 #성인",
          "metadata_path": "/downloads/webtoon_17778/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 11,
        "total": 11,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "d833977e5a",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:18:11",
      "started_at": "2026-06-04T07:02:35",
      "finished_at": "2026-06-04T07:03:49",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "신부 이야기 - 모리 카오루",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3743",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3743",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "04:18:58",
          "message": "  [i] 회차 제목: 신부 이야기 2화 1권"
        },
        {
          "time": "04:18:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/001.jpg"
        },
        {
          "time": "04:18:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/002.jpg"
        },
        {
          "time": "04:19:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/003.jpg"
        },
        {
          "time": "04:19:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/004.jpg"
        },
        {
          "time": "04:19:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/005.jpg"
        },
        {
          "time": "04:19:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/006.jpg"
        },
        {
          "time": "04:19:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/007.jpg"
        },
        {
          "time": "04:19:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/008.jpg"
        },
        {
          "time": "04:19:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/009.jpg"
        },
        {
          "time": "04:19:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/010.jpg"
        },
        {
          "time": "04:19:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/011.jpg"
        },
        {
          "time": "04:19:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/012.jpg"
        },
        {
          "time": "04:19:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/013.jpg"
        },
        {
          "time": "04:19:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/014.jpg"
        },
        {
          "time": "04:19:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/015.jpg"
        },
        {
          "time": "04:19:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/016.jpg"
        },
        {
          "time": "04:19:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/017.jpg"
        },
        {
          "time": "04:19:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/018.jpg"
        },
        {
          "time": "04:19:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/019.jpg"
        },
        {
          "time": "04:19:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/020.jpg"
        },
        {
          "time": "04:19:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/021.jpg"
        },
        {
          "time": "04:19:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/022.jpg"
        },
        {
          "time": "04:19:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/023.jpg"
        },
        {
          "time": "04:19:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/024.jpg"
        },
        {
          "time": "04:19:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/025.jpg"
        },
        {
          "time": "04:19:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/026.jpg"
        },
        {
          "time": "04:19:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/027.jpg"
        },
        {
          "time": "04:19:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/028.jpg"
        },
        {
          "time": "04:19:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/029.jpg"
        },
        {
          "time": "04:19:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/030.jpg"
        },
        {
          "time": "04:19:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/031.jpg"
        },
        {
          "time": "04:19:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/032.jpg"
        },
        {
          "time": "04:19:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/033.jpg"
        },
        {
          "time": "04:19:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/034.jpg"
        },
        {
          "time": "04:19:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/035.jpg"
        },
        {
          "time": "04:19:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/036.jpg"
        },
        {
          "time": "04:19:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/037.jpg"
        },
        {
          "time": "04:19:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/038.jpg"
        },
        {
          "time": "04:19:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/039.jpg"
        },
        {
          "time": "04:19:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/040.jpg"
        },
        {
          "time": "04:19:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/041.jpg"
        },
        {
          "time": "04:19:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/042.jpg"
        },
        {
          "time": "04:19:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/043.jpg"
        },
        {
          "time": "04:19:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/044.jpg"
        },
        {
          "time": "04:19:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/045.jpg"
        },
        {
          "time": "04:19:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/046.jpg"
        },
        {
          "time": "04:19:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/047.jpg"
        },
        {
          "time": "04:19:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/048.jpg"
        },
        {
          "time": "04:19:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/049.jpg"
        },
        {
          "time": "04:19:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/050.jpg"
        },
        {
          "time": "04:19:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/051.jpg"
        },
        {
          "time": "04:19:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/052.jpg"
        },
        {
          "time": "04:19:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/053.jpg"
        },
        {
          "time": "04:19:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/054.jpg"
        },
        {
          "time": "04:19:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/055.jpg"
        },
        {
          "time": "04:19:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/056.jpg"
        },
        {
          "time": "04:19:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/057.jpg"
        },
        {
          "time": "04:19:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/058.jpg"
        },
        {
          "time": "04:19:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/059.jpg"
        },
        {
          "time": "04:19:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/060.jpg"
        },
        {
          "time": "04:19:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/061.jpg"
        },
        {
          "time": "04:19:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/062.jpg"
        },
        {
          "time": "04:19:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/063.jpg"
        },
        {
          "time": "04:19:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/064.jpg"
        },
        {
          "time": "04:19:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/065.jpg"
        },
        {
          "time": "04:19:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/066.jpg"
        },
        {
          "time": "04:19:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/067.jpg"
        },
        {
          "time": "04:20:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/068.jpg"
        },
        {
          "time": "04:20:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/069.jpg"
        },
        {
          "time": "04:20:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/070.jpg"
        },
        {
          "time": "04:20:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/071.jpg"
        },
        {
          "time": "04:20:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/072.jpg"
        },
        {
          "time": "04:20:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/073.jpg"
        },
        {
          "time": "04:20:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/074.jpg"
        },
        {
          "time": "04:20:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/075.jpg"
        },
        {
          "time": "04:20:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/076.jpg"
        },
        {
          "time": "04:20:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/077.jpg"
        },
        {
          "time": "04:20:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/078.jpg"
        },
        {
          "time": "04:20:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/079.jpg"
        },
        {
          "time": "04:20:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/080.jpg"
        },
        {
          "time": "04:20:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/081.jpg"
        },
        {
          "time": "04:20:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/082.jpg"
        },
        {
          "time": "04:20:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/083.jpg"
        },
        {
          "time": "04:20:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/084.jpg"
        },
        {
          "time": "04:20:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/085.jpg"
        },
        {
          "time": "04:20:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/086.jpg"
        },
        {
          "time": "04:20:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/087.jpg"
        },
        {
          "time": "04:20:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/088.jpg"
        },
        {
          "time": "04:20:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/089.jpg"
        },
        {
          "time": "04:20:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/090.jpg"
        },
        {
          "time": "04:20:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/091.jpg"
        },
        {
          "time": "04:20:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/092.jpg"
        },
        {
          "time": "04:20:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/093.jpg"
        },
        {
          "time": "04:20:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/094.jpg"
        },
        {
          "time": "04:20:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/095.jpg"
        },
        {
          "time": "04:20:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3743/ep_082/096.jpg"
        },
        {
          "time": "04:20:31",
          "message": "  [>] 이미지 96/96개 처리 완료.\n"
        },
        {
          "time": "04:20:32",
          "message": "완료: 회차 82개 처리, 이미지 3349개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 82)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:22",
          "message": "작품 제목: 3743"
        },
        {
          "time": "06:04:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:04:41"
        },
        {
          "time": "06:04:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:04:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:42:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #312"
        },
        {
          "time": "21:42:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:42:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=신부 이야기 - 모리 카오루 | 뉴토끼, links=84"
        },
        {
          "time": "21:43:12",
          "message": "작품 제목: 신부 이야기 - 모리 카오루"
        },
        {
          "time": "21:43:12",
          "message": "메타데이터 태그 저장: 모리 카오루, 신부 이야기"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:58:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #117"
        },
        {
          "time": "13:58:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:58:56",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:58:56",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:09:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:09:02"
        },
        {
          "time": "14:09:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:09:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:00:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1496"
        },
        {
          "time": "14:00:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:00:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=신부 이야기 - 모리 카오루 | 뉴토끼, links=84"
        },
        {
          "time": "14:00:54",
          "message": "작품 제목: 신부 이야기 - 모리 카오루"
        },
        {
          "time": "14:00:54",
          "message": "메타데이터 태그 저장: 모리 카오루, 신부 이야기"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:05:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "17:05:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:05:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=신부 이야기 - 모리 카오루 | 뉴토끼, links=84"
        },
        {
          "time": "17:05:38",
          "message": "작품 제목: 신부 이야기 - 모리 카오루"
        },
        {
          "time": "17:05:38",
          "message": "메타데이터 태그 저장: 모리 카오루, 신부 이야기"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:07:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #77"
        },
        {
          "time": "15:07:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:08:06",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "15:08:06",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "15:08:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #78"
        },
        {
          "time": "15:08:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:08:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=신부 이야기 - 모리 카오루 | 뉴토끼, links=84"
        },
        {
          "time": "15:08:58",
          "message": "작품 제목: 신부 이야기 - 모리 카오루"
        },
        {
          "time": "15:08:59",
          "message": "메타데이터 태그 저장: 모리 카오루, 신부 이야기"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:02:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1154"
        },
        {
          "time": "07:02:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:02:57",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "07:02:58",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "07:02:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1155"
        },
        {
          "time": "07:02:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:03:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=신부 이야기 - 모리 카오루 | 뉴토끼, links=84"
        },
        {
          "time": "07:03:48",
          "message": "작품 제목: 신부 이야기 - 모리 카오루"
        },
        {
          "time": "07:03:48",
          "message": "메타데이터 태그 저장: 모리 카오루, 신부 이야기"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3743",
        "target_id": "manhwa_3743",
        "title": "신부 이야기 - 모리 카오루",
        "episodes_found": 82,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 82,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3743",
          "title": "신부 이야기 - 모리 카오루",
          "list_url": "https://newtoki1.org/manhwa/3743",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3743"
          },
          "tags": [
            "모리 카오루",
            "신부 이야기"
          ],
          "description": "이제 무대는 중앙아시아 실크로드! 끝없는 대지에서 살아가는 유목 정착민의 낮과 밤이 펼쳐지는 카스피 해 인근의 지방도시. 아름다운 연상의 신부 아미르와 소년에서 어른이 되어가는 어린 신랑 카르르크는 부부가 된다. 다른 부족에서 시집온 아미르와 어린 신랑 카르르크의 평화롭고 행복한 시",
          "metadata_path": "/downloads/manhwa_3743/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 82,
        "total": 82,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "a06fdb6c0a",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:14:17",
      "started_at": "2026-06-04T07:01:46",
      "finished_at": "2026-06-04T07:02:35",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8561",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8561",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "01:46:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T01:46:44"
        },
        {
          "time": "01:46:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:46:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:53:09",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "04:54:29",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "04:54:29",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "04:54:29",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "04:54:29",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "04:54:29",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8561"
        },
        {
          "time": "04:54:29",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8561"
        },
        {
          "time": "04:54:49",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/8561\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/8561"
        },
        {
          "time": "05:06:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T05:06:28"
        },
        {
          "time": "05:06:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:06:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "21:15:37",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "21:17:11",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "21:17:11",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "21:17:12",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "21:17:12",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "21:17:12",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8561"
        },
        {
          "time": "21:17:12",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8561"
        },
        {
          "time": "21:17:24",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "21:17:28",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "21:17:28",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "21:17:28",
          "message": "메타데이터 저장: /downloads/manhwa_8561/metadata.yaml"
        },
        {
          "time": "21:17:28",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "21:17:28",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "21:28:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T21:28:23"
        },
        {
          "time": "21:28:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:28:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "22:43:43",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "22:45:35",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "22:45:35",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "22:45:35",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "22:45:35",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "22:45:35",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8561"
        },
        {
          "time": "22:45:35",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8561"
        },
        {
          "time": "22:45:48",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "22:45:52",
          "message": "Cloudflare challenge 통과 대기 완료: 3.1초"
        },
        {
          "time": "22:45:52",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "22:45:52",
          "message": "메타데이터 저장: /downloads/manhwa_8561/metadata.yaml"
        },
        {
          "time": "22:45:52",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "22:45:52",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "22:57:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T22:57:12"
        },
        {
          "time": "22:57:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:57:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:10:42",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "00:12:11",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "00:12:12",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:12:12",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:12:12",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:12:12",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8561"
        },
        {
          "time": "00:12:12",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8561"
        },
        {
          "time": "00:12:25",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "00:12:28",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "00:12:28",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "00:12:28",
          "message": "메타데이터 저장: /downloads/manhwa_8561/metadata.yaml"
        },
        {
          "time": "00:12:28",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "00:12:28",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "00:25:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-23T00:25:44"
        },
        {
          "time": "00:25:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:25:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:47:44",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "02:49:20",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "02:49:20",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "02:49:20",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "02:49:20",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "02:49:20",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8561"
        },
        {
          "time": "02:49:20",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8561"
        },
        {
          "time": "02:49:47",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "02:49:47",
          "message": "메타데이터 저장: /downloads/manhwa_8561/metadata.yaml"
        },
        {
          "time": "02:49:47",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 4"
        },
        {
          "time": "02:49:47",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "02:49:48",
          "message": "총 1개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "02:49:48",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8561/70102"
        },
        {
          "time": "02:49:48",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8561/70102"
        },
        {
          "time": "02:50:07",
          "message": "  [i] 회차 제목: 출렁거리는 가슴은 좋아하시나요 4 1화 기계성애자인 그녀"
        },
        {
          "time": "02:50:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/001.jpg"
        },
        {
          "time": "02:50:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/002.jpg"
        },
        {
          "time": "02:50:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/003.jpg"
        },
        {
          "time": "02:50:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/004.jpg"
        },
        {
          "time": "02:50:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/005.jpg"
        },
        {
          "time": "02:50:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/006.jpg"
        },
        {
          "time": "02:50:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/007.jpg"
        },
        {
          "time": "02:50:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/008.jpg"
        },
        {
          "time": "02:50:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/009.jpg"
        },
        {
          "time": "02:50:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/010.jpg"
        },
        {
          "time": "02:50:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/011.jpg"
        },
        {
          "time": "02:50:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/012.jpg"
        },
        {
          "time": "02:50:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/013.jpg"
        },
        {
          "time": "02:50:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/014.jpg"
        },
        {
          "time": "02:50:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/015.jpg"
        },
        {
          "time": "02:50:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/016.jpg"
        },
        {
          "time": "02:50:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/017.jpg"
        },
        {
          "time": "02:50:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/018.jpg"
        },
        {
          "time": "02:50:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/019.jpg"
        },
        {
          "time": "02:50:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/020.jpg"
        },
        {
          "time": "02:50:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/021.jpg"
        },
        {
          "time": "02:50:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/022.jpg"
        },
        {
          "time": "02:50:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/023.jpg"
        },
        {
          "time": "02:50:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8561/ep_001/024.jpg"
        },
        {
          "time": "02:50:32",
          "message": "  [>] 이미지 24/24개 처리 완료.\n"
        },
        {
          "time": "02:50:33",
          "message": "완료: 회차 1개 처리, 이미지 24개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:28",
          "message": "작품 제목: 8561"
        },
        {
          "time": "06:04:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:04:41"
        },
        {
          "time": "06:04:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:04:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:41:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #311"
        },
        {
          "time": "21:41:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:42:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지 | 뉴토끼, links=3"
        },
        {
          "time": "21:42:41",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "21:42:41",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 4"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:58:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #118"
        },
        {
          "time": "13:58:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:59:18",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:59:18",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:10:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:10:25"
        },
        {
          "time": "14:10:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:10:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:01:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1497"
        },
        {
          "time": "14:01:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:01:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지 | 뉴토끼, links=3"
        },
        {
          "time": "14:02:01",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "14:02:01",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 4"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:05:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "17:05:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:05:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지 | 뉴토끼, links=3"
        },
        {
          "time": "17:05:20",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "17:05:20",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 4"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:09:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #79"
        },
        {
          "time": "15:09:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:09:44",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "15:09:44",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "15:09:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #80"
        },
        {
          "time": "15:09:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:09:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지 | 뉴토끼, links=3"
        },
        {
          "time": "15:10:29",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "15:10:30",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 4"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:02:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1153"
        },
        {
          "time": "07:02:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:02:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지 | 뉴토끼, links=3"
        },
        {
          "time": "07:02:34",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "07:02:34",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 4"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8561",
        "target_id": "manhwa_8561",
        "title": "출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지",
        "episodes_found": 1,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 1,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8561",
          "title": "출렁거리는 가슴은 좋아하시나요 4 - 렉스 코믹 앤솔로지",
          "list_url": "https://newtoki1.org/manhwa/8561",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8561"
          },
          "tags": [
            "렉스 코믹 앤솔로지",
            "출렁거리는 가슴은 좋아하시나요 4"
          ],
          "description": "출렁거리는 가슴은 좋아하시나요 4 (렉스 코믹 앤솔로지)",
          "metadata_path": "/downloads/manhwa_8561/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "82c02f12e8",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:14:11",
      "started_at": "2026-06-04T07:00:39",
      "finished_at": "2026-06-04T07:01:46",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/36097",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_36097",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:45:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/010.jpg"
        },
        {
          "time": "02:45:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/011.jpg"
        },
        {
          "time": "02:45:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/012.jpg"
        },
        {
          "time": "02:45:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/013.jpg"
        },
        {
          "time": "02:45:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/014.jpg"
        },
        {
          "time": "02:45:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/015.jpg"
        },
        {
          "time": "02:45:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/016.jpg"
        },
        {
          "time": "02:45:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/017.jpg"
        },
        {
          "time": "02:45:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/018.jpg"
        },
        {
          "time": "02:45:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/019.jpg"
        },
        {
          "time": "02:45:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/020.jpg"
        },
        {
          "time": "02:45:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/021.jpg"
        },
        {
          "time": "02:45:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/022.jpg"
        },
        {
          "time": "02:45:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/023.jpg"
        },
        {
          "time": "02:45:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/024.jpg"
        },
        {
          "time": "02:45:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/025.jpg"
        },
        {
          "time": "02:45:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/026.jpg"
        },
        {
          "time": "02:45:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/027.jpg"
        },
        {
          "time": "02:45:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/028.jpg"
        },
        {
          "time": "02:45:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/029.jpg"
        },
        {
          "time": "02:45:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/030.jpg"
        },
        {
          "time": "02:45:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/031.jpg"
        },
        {
          "time": "02:45:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/032.jpg"
        },
        {
          "time": "02:45:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/033.jpg"
        },
        {
          "time": "02:45:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/034.jpg"
        },
        {
          "time": "02:46:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/035.jpg"
        },
        {
          "time": "02:46:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/036.jpg"
        },
        {
          "time": "02:46:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/037.jpg"
        },
        {
          "time": "02:46:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/038.jpg"
        },
        {
          "time": "02:46:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/039.jpg"
        },
        {
          "time": "02:46:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/040.jpg"
        },
        {
          "time": "02:46:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/041.jpg"
        },
        {
          "time": "02:46:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/042.jpg"
        },
        {
          "time": "02:46:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_006/043.jpg"
        },
        {
          "time": "02:46:08",
          "message": "  [>] 이미지 43/43개 처리 완료.\n"
        },
        {
          "time": "02:46:09",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/36097/1797258"
        },
        {
          "time": "02:46:09",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/36097/1797258"
        },
        {
          "time": "02:46:28",
          "message": "  [i] 회차 제목: O천 엔 줄 테니까 가슴 보여줘 7화 O천 엔 줄 테니까…가슴 보여줘 7화"
        },
        {
          "time": "02:46:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/001.jpg"
        },
        {
          "time": "02:46:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/002.jpg"
        },
        {
          "time": "02:46:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/003.jpg"
        },
        {
          "time": "02:46:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/004.jpg"
        },
        {
          "time": "02:46:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/005.jpg"
        },
        {
          "time": "02:46:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/006.jpg"
        },
        {
          "time": "02:46:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/007.jpg"
        },
        {
          "time": "02:46:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/008.jpg"
        },
        {
          "time": "02:46:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/009.jpg"
        },
        {
          "time": "02:46:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/010.jpg"
        },
        {
          "time": "02:46:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/011.jpg"
        },
        {
          "time": "02:46:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/012.jpg"
        },
        {
          "time": "02:46:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/013.jpg"
        },
        {
          "time": "02:46:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/014.jpg"
        },
        {
          "time": "02:46:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/015.jpg"
        },
        {
          "time": "02:46:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/016.jpg"
        },
        {
          "time": "02:46:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/017.jpg"
        },
        {
          "time": "02:46:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/018.jpg"
        },
        {
          "time": "02:46:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/019.jpg"
        },
        {
          "time": "02:46:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/020.jpg"
        },
        {
          "time": "02:46:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/021.jpg"
        },
        {
          "time": "02:46:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/022.jpg"
        },
        {
          "time": "02:46:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/023.jpg"
        },
        {
          "time": "02:46:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/024.jpg"
        },
        {
          "time": "02:46:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/025.jpg"
        },
        {
          "time": "02:46:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_007/026.jpg"
        },
        {
          "time": "02:46:55",
          "message": "  [>] 이미지 26/26개 처리 완료.\n"
        },
        {
          "time": "02:46:56",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/36097/1797259"
        },
        {
          "time": "02:46:56",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/36097/1797259"
        },
        {
          "time": "02:47:15",
          "message": "  [i] 회차 제목: O천 엔 줄 테니까 가슴 보여줘 8화 O천 엔 줄 테니까…가슴 보여줘 8화"
        },
        {
          "time": "02:47:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/001.jpg"
        },
        {
          "time": "02:47:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/002.jpg"
        },
        {
          "time": "02:47:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/003.jpg"
        },
        {
          "time": "02:47:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/004.jpg"
        },
        {
          "time": "02:47:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/005.jpg"
        },
        {
          "time": "02:47:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/006.jpg"
        },
        {
          "time": "02:47:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/007.jpg"
        },
        {
          "time": "02:47:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/008.jpg"
        },
        {
          "time": "02:47:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/009.jpg"
        },
        {
          "time": "02:47:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/010.jpg"
        },
        {
          "time": "02:47:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/011.jpg"
        },
        {
          "time": "02:47:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/012.jpg"
        },
        {
          "time": "02:47:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/013.jpg"
        },
        {
          "time": "02:47:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/014.jpg"
        },
        {
          "time": "02:47:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/015.jpg"
        },
        {
          "time": "02:47:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/016.jpg"
        },
        {
          "time": "02:47:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/017.jpg"
        },
        {
          "time": "02:47:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/018.jpg"
        },
        {
          "time": "02:47:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/019.jpg"
        },
        {
          "time": "02:47:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/020.jpg"
        },
        {
          "time": "02:47:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/021.jpg"
        },
        {
          "time": "02:47:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/022.jpg"
        },
        {
          "time": "02:47:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/023.jpg"
        },
        {
          "time": "02:47:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/024.jpg"
        },
        {
          "time": "02:47:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/025.jpg"
        },
        {
          "time": "02:47:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/026.jpg"
        },
        {
          "time": "02:47:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_36097/ep_008/027.jpg"
        },
        {
          "time": "02:47:43",
          "message": "  [>] 이미지 27/27개 처리 완료.\n"
        },
        {
          "time": "02:47:44",
          "message": "완료: 회차 8개 처리, 이미지 263개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:33",
          "message": "작품 제목: 36097"
        },
        {
          "time": "06:04:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:04:41"
        },
        {
          "time": "06:04:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:04:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:41:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #310"
        },
        {
          "time": "21:41:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:41:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체 | 뉴토끼, links=10"
        },
        {
          "time": "21:41:50",
          "message": "작품 제목: O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체"
        },
        {
          "time": "21:41:51",
          "message": "메타데이터 태그 저장: O천 엔 줄 테니까 가슴 보여줘, 오니벤 캇체"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:59:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #119"
        },
        {
          "time": "13:59:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:00:11",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:00:11",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:10:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:10:25"
        },
        {
          "time": "14:10:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:10:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:02:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1498"
        },
        {
          "time": "14:02:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:02:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체 | 뉴토끼, links=10"
        },
        {
          "time": "14:02:16",
          "message": "작품 제목: O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체"
        },
        {
          "time": "14:02:16",
          "message": "메타데이터 태그 저장: O천 엔 줄 테니까 가슴 보여줘, 오니벤 캇체"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:04:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #31"
        },
        {
          "time": "17:04:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:04:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체 | 뉴토끼, links=10"
        },
        {
          "time": "17:04:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #32"
        },
        {
          "time": "17:04:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:04:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체 | 뉴토끼, links=10"
        },
        {
          "time": "17:04:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #33"
        },
        {
          "time": "17:04:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:05:02",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "17:10:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "17:10:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:10:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체 | 뉴토끼, links=10"
        },
        {
          "time": "17:10:46",
          "message": "작품 제목: O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체"
        },
        {
          "time": "17:10:46",
          "message": "메타데이터 태그 저장: O천 엔 줄 테니까 가슴 보여줘, 오니벤 캇체"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:54:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #61"
        },
        {
          "time": "14:54:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:54:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체 | 뉴토끼, links=10"
        },
        {
          "time": "14:54:41",
          "message": "작품 제목: O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체"
        },
        {
          "time": "14:54:42",
          "message": "메타데이터 태그 저장: O천 엔 줄 테니까 가슴 보여줘, 오니벤 캇체"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:01:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1152"
        },
        {
          "time": "07:01:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:01:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체 | 뉴토끼, links=10"
        },
        {
          "time": "07:01:45",
          "message": "작품 제목: O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체"
        },
        {
          "time": "07:01:45",
          "message": "메타데이터 태그 저장: O천 엔 줄 테니까 가슴 보여줘, 오니벤 캇체"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_36097",
        "target_id": "manhwa_36097",
        "title": "O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체",
        "episodes_found": 8,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 8,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_36097",
          "title": "O천 엔 줄 테니까 가슴 보여줘 - 오니벤 캇체",
          "list_url": "https://newtoki1.org/manhwa/36097",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/36097"
          },
          "tags": [
            "O천 엔 줄 테니까 가슴 보여줘",
            "오니벤 캇체"
          ],
          "description": "`이 키스… 거기까지 기분 좋아져…!` 소원했던 소꿉친구 코우지와 오랜만에 술을 마시던 중, 돈을 낼 테니 가슴을 보여달라는 부탁을 받은 호노카. 완전히 날라리가 된 외모로 머리까지 숙이며 하는 부탁에 당황하면서도 소꿉친구의 부탁을 거절하지 못하고 보여주고 만다. 그러던 중, 코우지의",
          "metadata_path": "/downloads/manhwa_36097/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 8,
        "total": 8,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "14701fecf7",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:14:00",
      "started_at": "2026-06-04T06:58:09",
      "finished_at": "2026-06-04T07:00:39",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/9862",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_9862",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:37:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_003/010.jpg"
        },
        {
          "time": "02:37:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_003/011.jpg"
        },
        {
          "time": "02:37:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_003/012.jpg"
        },
        {
          "time": "02:37:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_003/013.jpg"
        },
        {
          "time": "02:37:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_003/014.jpg"
        },
        {
          "time": "02:37:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_003/015.jpg"
        },
        {
          "time": "02:37:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_003/016.jpg"
        },
        {
          "time": "02:37:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_003/017.jpg"
        },
        {
          "time": "02:37:22",
          "message": "  [>] 이미지 17/17개 처리 완료.\n"
        },
        {
          "time": "02:37:23",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9862/94267"
        },
        {
          "time": "02:37:23",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9862/94267"
        },
        {
          "time": "02:37:42",
          "message": "  [i] 회차 제목: 출렁거리는 가슴은 좋아하시나요 2 4화 손이 많이 가는 의붓여동생"
        },
        {
          "time": "02:37:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/001.jpg"
        },
        {
          "time": "02:37:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/002.jpg"
        },
        {
          "time": "02:37:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/003.jpg"
        },
        {
          "time": "02:37:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/004.jpg"
        },
        {
          "time": "02:37:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/005.jpg"
        },
        {
          "time": "02:37:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/006.jpg"
        },
        {
          "time": "02:37:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/007.jpg"
        },
        {
          "time": "02:37:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/008.jpg"
        },
        {
          "time": "02:37:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/009.jpg"
        },
        {
          "time": "02:37:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/010.jpg"
        },
        {
          "time": "02:37:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/011.jpg"
        },
        {
          "time": "02:37:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/012.jpg"
        },
        {
          "time": "02:37:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/013.jpg"
        },
        {
          "time": "02:37:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/014.jpg"
        },
        {
          "time": "02:37:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/015.jpg"
        },
        {
          "time": "02:37:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_004/016.jpg"
        },
        {
          "time": "02:37:57",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "02:37:58",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9862/94268"
        },
        {
          "time": "02:37:58",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9862/94268"
        },
        {
          "time": "02:38:16",
          "message": "  [i] 회차 제목: 출렁거리는 가슴은 좋아하시나요 2 5화 너무 가까운 두 사람의 거리"
        },
        {
          "time": "02:38:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/001.jpg"
        },
        {
          "time": "02:38:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/002.jpg"
        },
        {
          "time": "02:38:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/003.jpg"
        },
        {
          "time": "02:38:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/004.jpg"
        },
        {
          "time": "02:38:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/005.jpg"
        },
        {
          "time": "02:38:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/006.jpg"
        },
        {
          "time": "02:38:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/007.jpg"
        },
        {
          "time": "02:38:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/008.jpg"
        },
        {
          "time": "02:38:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/009.jpg"
        },
        {
          "time": "02:38:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/010.jpg"
        },
        {
          "time": "02:38:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/011.jpg"
        },
        {
          "time": "02:38:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/012.jpg"
        },
        {
          "time": "02:38:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/013.jpg"
        },
        {
          "time": "02:38:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/014.jpg"
        },
        {
          "time": "02:38:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/015.jpg"
        },
        {
          "time": "02:38:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/016.jpg"
        },
        {
          "time": "02:38:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/017.jpg"
        },
        {
          "time": "02:38:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/018.jpg"
        },
        {
          "time": "02:38:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/019.jpg"
        },
        {
          "time": "02:38:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_005/020.jpg"
        },
        {
          "time": "02:38:33",
          "message": "  [>] 이미지 20/20개 처리 완료.\n"
        },
        {
          "time": "02:38:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9862/94269"
        },
        {
          "time": "02:38:34",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9862/94269"
        },
        {
          "time": "02:38:53",
          "message": "  [i] 회차 제목: 출렁거리는 가슴은 좋아하시나요 2 6화 A Lucky Accident"
        },
        {
          "time": "02:38:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/001.jpg"
        },
        {
          "time": "02:38:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/002.jpg"
        },
        {
          "time": "02:38:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/003.jpg"
        },
        {
          "time": "02:38:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/004.jpg"
        },
        {
          "time": "02:38:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/005.jpg"
        },
        {
          "time": "02:38:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/006.jpg"
        },
        {
          "time": "02:38:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/007.jpg"
        },
        {
          "time": "02:38:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/008.jpg"
        },
        {
          "time": "02:39:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/009.jpg"
        },
        {
          "time": "02:39:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/010.jpg"
        },
        {
          "time": "02:39:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/011.jpg"
        },
        {
          "time": "02:39:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/012.jpg"
        },
        {
          "time": "02:39:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/013.jpg"
        },
        {
          "time": "02:39:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/014.jpg"
        },
        {
          "time": "02:39:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/015.jpg"
        },
        {
          "time": "02:39:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/016.jpg"
        },
        {
          "time": "02:39:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9862/ep_006/017.jpg"
        },
        {
          "time": "02:39:06",
          "message": "  [>] 이미지 17/17개 처리 완료.\n"
        },
        {
          "time": "02:39:07",
          "message": "완료: 회차 6개 처리, 이미지 100개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 6)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:40",
          "message": "작품 제목: 9862"
        },
        {
          "time": "06:04:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:04:41"
        },
        {
          "time": "06:04:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:04:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:41:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #309"
        },
        {
          "time": "21:41:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:41:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지 | 뉴토끼, links=8"
        },
        {
          "time": "21:41:35",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "21:41:35",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 2"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:00:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #120"
        },
        {
          "time": "14:00:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:00:34",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:00:34",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:10:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:10:49"
        },
        {
          "time": "14:10:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:10:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:02:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1499"
        },
        {
          "time": "14:02:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:02:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지 | 뉴토끼, links=8"
        },
        {
          "time": "14:02:56",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "14:02:56",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 2"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:03:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #28"
        },
        {
          "time": "17:03:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:03:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지 | 뉴토끼, links=8"
        },
        {
          "time": "17:03:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #29"
        },
        {
          "time": "17:03:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:04:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지 | 뉴토끼, links=8"
        },
        {
          "time": "17:04:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #30"
        },
        {
          "time": "17:04:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:04:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지 | 뉴토끼, links=8"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:14:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #449"
        },
        {
          "time": "22:14:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:14:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지 | 뉴토끼, links=8"
        },
        {
          "time": "22:15:10",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "22:15:10",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 2"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:17:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #72"
        },
        {
          "time": "03:17:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:18:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지 | 뉴토끼, links=8"
        },
        {
          "time": "03:18:38",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "03:18:39",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 2"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:33:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #219"
        },
        {
          "time": "16:33:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:34:48",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:34:48",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:34:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #220"
        },
        {
          "time": "16:34:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:35:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지 | 뉴토끼, links=8"
        },
        {
          "time": "16:35:02",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "16:35:04",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 2"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:58:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1148"
        },
        {
          "time": "06:58:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:59:06",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:59:06",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:59:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1149"
        },
        {
          "time": "06:59:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:59:27",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:59:27",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "06:59:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1150"
        },
        {
          "time": "06:59:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:59:49",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:59:50",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "06:59:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1151"
        },
        {
          "time": "06:59:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:00:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지 | 뉴토끼, links=8"
        },
        {
          "time": "07:00:38",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지"
        },
        {
          "time": "07:00:38",
          "message": "메타데이터 태그 저장: 렉스 코믹 앤솔로지, 출렁거리는 가슴은 좋아하시나요 2"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_9862",
        "target_id": "manhwa_9862",
        "title": "출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지",
        "episodes_found": 6,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 6,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_9862",
          "title": "출렁거리는 가슴은 좋아하시나요 2 - 렉스 코믹 앤솔로지",
          "list_url": "https://newtoki1.org/manhwa/9862",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/9862"
          },
          "tags": [
            "렉스 코믹 앤솔로지",
            "출렁거리는 가슴은 좋아하시나요 2"
          ],
          "description": "출렁거리는 가슴은 좋아하시나요 2 (렉스 코믹 앤솔로지)",
          "metadata_path": "/downloads/manhwa_9862/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 6,
        "total": 6,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "7e7552f505",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:13:54",
      "started_at": "2026-06-04T06:56:28",
      "finished_at": "2026-06-04T06:58:09",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "출렁거리는 가슴은 좋아하시나요",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/9864",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_9864",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:28:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_005/006.jpg"
        },
        {
          "time": "09:28:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_005/007.jpg"
        },
        {
          "time": "09:28:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_005/008.jpg"
        },
        {
          "time": "09:28:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_005/009.jpg"
        },
        {
          "time": "09:28:06",
          "message": "  [>] 이미지 9개 처리 완료.\n"
        },
        {
          "time": "09:28:07",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/9864/94279"
        },
        {
          "time": "09:28:07",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/9864/94279"
        },
        {
          "time": "09:28:13",
          "message": "  [i] 회차 제목: 출렁거리는 가슴은 좋아하시나요 6화 어느 쪽의 쌍둥이SHOW"
        },
        {
          "time": "09:28:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/001.jpg"
        },
        {
          "time": "09:28:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/002.jpg"
        },
        {
          "time": "09:28:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/003.jpg"
        },
        {
          "time": "09:28:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/004.jpg"
        },
        {
          "time": "09:28:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/005.jpg"
        },
        {
          "time": "09:28:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/006.jpg"
        },
        {
          "time": "09:28:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/007.jpg"
        },
        {
          "time": "09:28:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/008.jpg"
        },
        {
          "time": "09:28:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/009.jpg"
        },
        {
          "time": "09:28:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/010.jpg"
        },
        {
          "time": "09:28:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/011.jpg"
        },
        {
          "time": "09:28:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/012.jpg"
        },
        {
          "time": "09:28:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/013.jpg"
        },
        {
          "time": "09:28:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/014.jpg"
        },
        {
          "time": "09:28:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/015.jpg"
        },
        {
          "time": "09:28:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/016.jpg"
        },
        {
          "time": "09:28:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/017.jpg"
        },
        {
          "time": "09:28:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_006/018.jpg"
        },
        {
          "time": "09:28:35",
          "message": "  [>] 이미지 18개 처리 완료.\n"
        },
        {
          "time": "09:28:36",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/9864/94281"
        },
        {
          "time": "09:28:36",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/9864/94281"
        },
        {
          "time": "09:28:45",
          "message": "  [i] 회차 제목: 출렁거리는 가슴은 좋아하시나요 7화 소꿉친구론 부족해"
        },
        {
          "time": "09:28:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/001.jpg"
        },
        {
          "time": "09:28:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/002.jpg"
        },
        {
          "time": "09:28:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/003.jpg"
        },
        {
          "time": "09:28:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/004.jpg"
        },
        {
          "time": "09:28:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/005.jpg"
        },
        {
          "time": "09:28:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/006.jpg"
        },
        {
          "time": "09:28:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/007.jpg"
        },
        {
          "time": "09:28:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/008.jpg"
        },
        {
          "time": "09:28:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/009.jpg"
        },
        {
          "time": "09:28:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/010.jpg"
        },
        {
          "time": "09:28:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/011.jpg"
        },
        {
          "time": "09:29:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/012.jpg"
        },
        {
          "time": "09:29:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/013.jpg"
        },
        {
          "time": "09:29:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/014.jpg"
        },
        {
          "time": "09:29:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_007/015.jpg"
        },
        {
          "time": "09:29:07",
          "message": "  [>] 이미지 15개 처리 완료.\n"
        },
        {
          "time": "09:29:08",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/9864/94282"
        },
        {
          "time": "09:29:08",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/9864/94282"
        },
        {
          "time": "09:29:14",
          "message": "  [i] 회차 제목: 출렁거리는 가슴은 좋아하시나요 8화 귀여움의 마법"
        },
        {
          "time": "09:29:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_008/001.jpg"
        },
        {
          "time": "09:29:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_008/002.jpg"
        },
        {
          "time": "09:29:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_008/003.jpg"
        },
        {
          "time": "09:29:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_008/004.jpg"
        },
        {
          "time": "09:29:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_008/005.jpg"
        },
        {
          "time": "09:29:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_008/006.jpg"
        },
        {
          "time": "09:29:20",
          "message": "  [>] 이미지 6개 처리 완료.\n"
        },
        {
          "time": "09:29:21",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/9864/94284"
        },
        {
          "time": "09:29:21",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/9864/94284"
        },
        {
          "time": "09:29:28",
          "message": "  [i] 회차 제목: 출렁거리는 가슴은 좋아하시나요 9화 Swiling smiling"
        },
        {
          "time": "09:29:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/001.jpg"
        },
        {
          "time": "09:29:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/002.jpg"
        },
        {
          "time": "09:29:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/003.jpg"
        },
        {
          "time": "09:29:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/004.jpg"
        },
        {
          "time": "09:29:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/005.jpg"
        },
        {
          "time": "09:29:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/006.jpg"
        },
        {
          "time": "09:29:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/007.jpg"
        },
        {
          "time": "09:29:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/008.jpg"
        },
        {
          "time": "09:29:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/009.jpg"
        },
        {
          "time": "09:29:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/010.jpg"
        },
        {
          "time": "09:29:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/011.jpg"
        },
        {
          "time": "09:29:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/012.jpg"
        },
        {
          "time": "09:29:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/013.jpg"
        },
        {
          "time": "09:29:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/014.jpg"
        },
        {
          "time": "09:29:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/015.jpg"
        },
        {
          "time": "09:29:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/016.jpg"
        },
        {
          "time": "09:29:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_9864/ep_009/017.jpg"
        },
        {
          "time": "09:29:51",
          "message": "  [>] 이미지 17개 처리 완료.\n"
        },
        {
          "time": "09:29:52",
          "message": "완료: 회차 9개 처리, 이미지 130개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 9)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 9)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:33:46",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:33:49",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:44:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:43:59"
        },
        {
          "time": "06:44:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:44:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:41:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #308"
        },
        {
          "time": "21:41:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:41:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 | 뉴토끼, links=11"
        },
        {
          "time": "21:41:18",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "21:41:18",
          "message": "메타데이터 태그 저장: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:01:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #121"
        },
        {
          "time": "14:01:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:01:26",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:01:26",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:11:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:11:40"
        },
        {
          "time": "14:11:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:11:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:04:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1500"
        },
        {
          "time": "14:04:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:04:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 | 뉴토끼, links=11"
        },
        {
          "time": "14:04:38",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "14:04:38",
          "message": "메타데이터 태그 저장: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:03:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #25"
        },
        {
          "time": "17:03:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:03:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 | 뉴토끼, links=11"
        },
        {
          "time": "17:03:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #26"
        },
        {
          "time": "17:03:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:03:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 | 뉴토끼, links=11"
        },
        {
          "time": "17:03:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #27"
        },
        {
          "time": "17:03:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:03:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 | 뉴토끼, links=11"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:13:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #448"
        },
        {
          "time": "22:13:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:13:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 | 뉴토끼, links=11"
        },
        {
          "time": "22:14:24",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "22:14:24",
          "message": "메타데이터 태그 저장: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:18:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #73"
        },
        {
          "time": "03:18:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:19:01",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:19:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #74"
        },
        {
          "time": "03:19:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:19:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 | 뉴토끼, links=11"
        },
        {
          "time": "03:19:45",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "03:19:45",
          "message": "메타데이터 태그 저장: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:32:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #217"
        },
        {
          "time": "16:32:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:33:14",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:33:14",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:33:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #218"
        },
        {
          "time": "16:33:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:33:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 | 뉴토끼, links=11"
        },
        {
          "time": "16:33:28",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "16:33:29",
          "message": "메타데이터 태그 저장: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:57:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1146"
        },
        {
          "time": "06:57:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:57:58",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:57:59",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:57:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1147"
        },
        {
          "time": "06:57:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:58:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=출렁거리는 가슴은 좋아하시나요 | 뉴토끼, links=11"
        },
        {
          "time": "06:58:07",
          "message": "작품 제목: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "06:58:08",
          "message": "메타데이터 태그 저장: 출렁거리는 가슴은 좋아하시나요"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_9864",
        "target_id": "manhwa_9864",
        "title": "출렁거리는 가슴은 좋아하시나요",
        "episodes_found": 9,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 9,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_9864",
          "title": "출렁거리는 가슴은 좋아하시나요",
          "list_url": "https://newtoki1.org/manhwa/9864",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/9864"
          },
          "tags": [
            "출렁거리는 가슴은 좋아하시나요"
          ],
          "description": "출렁거리는 가슴은 좋아하시나요",
          "metadata_path": "/downloads/manhwa_9864/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 9,
        "total": 9,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "171c90c659",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:13:49",
      "started_at": "2026-06-04T06:55:16",
      "finished_at": "2026-06-04T06:56:28",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/20178",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_20178",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:32:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_059/023.jpg"
        },
        {
          "time": "02:32:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_059/024.jpg"
        },
        {
          "time": "02:32:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_059/025.jpg"
        },
        {
          "time": "02:32:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_059/026.jpg"
        },
        {
          "time": "02:32:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_059/027.jpg"
        },
        {
          "time": "02:32:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_059/028.jpg"
        },
        {
          "time": "02:32:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_059/029.jpg"
        },
        {
          "time": "02:32:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_059/030.jpg"
        },
        {
          "time": "02:32:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_059/031.jpg"
        },
        {
          "time": "02:32:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_059/032.jpg"
        },
        {
          "time": "02:32:23",
          "message": "  [>] 이미지 32/32개 처리 완료.\n"
        },
        {
          "time": "02:32:24",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/20178/1813194"
        },
        {
          "time": "02:32:25",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/20178/1813194"
        },
        {
          "time": "02:32:44",
          "message": "  [i] 회차 제목: 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 55화 사신에게 길러진 소…에 품는다 55화"
        },
        {
          "time": "02:32:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/001.jpg"
        },
        {
          "time": "02:32:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/002.jpg"
        },
        {
          "time": "02:32:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/003.jpg"
        },
        {
          "time": "02:32:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/004.jpg"
        },
        {
          "time": "02:32:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/005.jpg"
        },
        {
          "time": "02:32:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/006.jpg"
        },
        {
          "time": "02:32:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/007.jpg"
        },
        {
          "time": "02:32:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/008.jpg"
        },
        {
          "time": "02:32:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/009.jpg"
        },
        {
          "time": "02:32:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/010.jpg"
        },
        {
          "time": "02:32:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/011.jpg"
        },
        {
          "time": "02:32:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/012.jpg"
        },
        {
          "time": "02:32:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/013.jpg"
        },
        {
          "time": "02:32:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/014.jpg"
        },
        {
          "time": "02:32:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/015.jpg"
        },
        {
          "time": "02:32:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/016.jpg"
        },
        {
          "time": "02:32:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/017.jpg"
        },
        {
          "time": "02:32:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/018.jpg"
        },
        {
          "time": "02:33:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/019.jpg"
        },
        {
          "time": "02:33:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/020.jpg"
        },
        {
          "time": "02:33:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/021.jpg"
        },
        {
          "time": "02:33:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/022.jpg"
        },
        {
          "time": "02:33:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/023.jpg"
        },
        {
          "time": "02:33:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/024.jpg"
        },
        {
          "time": "02:33:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/025.jpg"
        },
        {
          "time": "02:33:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/026.jpg"
        },
        {
          "time": "02:33:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/027.jpg"
        },
        {
          "time": "02:33:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/028.jpg"
        },
        {
          "time": "02:33:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/029.jpg"
        },
        {
          "time": "02:33:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/030.jpg"
        },
        {
          "time": "02:33:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/031.jpg"
        },
        {
          "time": "02:33:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/032.jpg"
        },
        {
          "time": "02:33:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/033.jpg"
        },
        {
          "time": "02:33:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/034.jpg"
        },
        {
          "time": "02:33:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/035.jpg"
        },
        {
          "time": "02:33:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/036.jpg"
        },
        {
          "time": "02:33:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/037.jpg"
        },
        {
          "time": "02:33:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/038.jpg"
        },
        {
          "time": "02:33:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/039.jpg"
        },
        {
          "time": "02:33:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/040.jpg"
        },
        {
          "time": "02:33:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/041.jpg"
        },
        {
          "time": "02:33:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_060/042.jpg"
        },
        {
          "time": "02:33:24",
          "message": "  [>] 이미지 42/42개 처리 완료.\n"
        },
        {
          "time": "02:33:25",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/20178/1814902"
        },
        {
          "time": "02:33:25",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/20178/1814902"
        },
        {
          "time": "02:33:44",
          "message": "  [i] 회차 제목: 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 56화 사신에게 길러진 소…에 품는다 56화"
        },
        {
          "time": "02:33:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/001.jpg"
        },
        {
          "time": "02:33:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/002.jpg"
        },
        {
          "time": "02:33:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/003.jpg"
        },
        {
          "time": "02:33:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/004.jpg"
        },
        {
          "time": "02:33:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/005.jpg"
        },
        {
          "time": "02:33:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/006.jpg"
        },
        {
          "time": "02:33:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/007.jpg"
        },
        {
          "time": "02:33:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/008.jpg"
        },
        {
          "time": "02:33:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/009.jpg"
        },
        {
          "time": "02:33:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/010.jpg"
        },
        {
          "time": "02:33:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/011.jpg"
        },
        {
          "time": "02:33:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/012.jpg"
        },
        {
          "time": "02:33:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/013.jpg"
        },
        {
          "time": "02:33:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/014.jpg"
        },
        {
          "time": "02:33:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/015.jpg"
        },
        {
          "time": "02:33:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/016.jpg"
        },
        {
          "time": "02:33:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/017.jpg"
        },
        {
          "time": "02:33:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/018.jpg"
        },
        {
          "time": "02:33:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/019.jpg"
        },
        {
          "time": "02:34:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/020.jpg"
        },
        {
          "time": "02:34:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/021.jpg"
        },
        {
          "time": "02:34:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_20178/ep_061/022.jpg"
        },
        {
          "time": "02:34:02",
          "message": "  [>] 이미지 22/22개 처리 완료.\n"
        },
        {
          "time": "02:34:03",
          "message": "완료: 회차 61개 처리, 이미지 1438개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 61)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:45",
          "message": "작품 제목: 20178"
        },
        {
          "time": "06:05:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:05:10"
        },
        {
          "time": "06:05:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:05:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:40:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #307"
        },
        {
          "time": "21:40:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:41:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌 | 뉴토끼, links=63"
        },
        {
          "time": "21:41:02",
          "message": "작품 제목: 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌"
        },
        {
          "time": "21:41:02",
          "message": "메타데이터 태그 저장: 마츠카제 스이렌, 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:01:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #122"
        },
        {
          "time": "14:01:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:02:17",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:02:17",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:12:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:12:25"
        },
        {
          "time": "14:12:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:12:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:04:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1501"
        },
        {
          "time": "14:04:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:04:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌 | 뉴토끼, links=63"
        },
        {
          "time": "14:04:53",
          "message": "작품 제목: 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌"
        },
        {
          "time": "14:04:53",
          "message": "메타데이터 태그 저장: 마츠카제 스이렌, 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:02:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "17:02:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:02:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌 | 뉴토끼, links=63"
        },
        {
          "time": "17:02:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "17:02:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:02:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌 | 뉴토끼, links=63"
        },
        {
          "time": "17:02:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "17:02:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:02:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌 | 뉴토끼, links=63"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:13:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #447"
        },
        {
          "time": "22:13:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:13:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌 | 뉴토끼, links=63"
        },
        {
          "time": "22:13:33",
          "message": "작품 제목: 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌"
        },
        {
          "time": "22:13:33",
          "message": "메타데이터 태그 저장: 마츠카제 스이렌, 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:19:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #75"
        },
        {
          "time": "03:19:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:20:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:20:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #76"
        },
        {
          "time": "03:20:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:20:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌 | 뉴토끼, links=63"
        },
        {
          "time": "03:20:24",
          "message": "작품 제목: 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌"
        },
        {
          "time": "03:20:25",
          "message": "메타데이터 태그 저장: 마츠카제 스이렌, 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:31:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #216"
        },
        {
          "time": "16:31:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:32:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌 | 뉴토끼, links=63"
        },
        {
          "time": "16:32:51",
          "message": "작품 제목: 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌"
        },
        {
          "time": "16:32:51",
          "message": "메타데이터 태그 저장: 마츠카제 스이렌, 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:55:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1144"
        },
        {
          "time": "06:55:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:55:38",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:55:39",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:55:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1145"
        },
        {
          "time": "06:55:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:55:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌 | 뉴토끼, links=63"
        },
        {
          "time": "06:56:27",
          "message": "작품 제목: 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌"
        },
        {
          "time": "06:56:27",
          "message": "메타데이터 태그 저장: 마츠카제 스이렌, 사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_20178",
        "target_id": "manhwa_20178",
        "title": "사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌",
        "episodes_found": 61,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 61,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_20178",
          "title": "사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다 - 마츠카제 스이렌",
          "list_url": "https://newtoki1.org/manhwa/20178",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/20178"
          },
          "tags": [
            "마츠카제 스이렌",
            "사신에게 길러진 소녀는 칠흑의 검을 가슴에 품는다"
          ],
          "description": "칠흑의 눈동자를 가진 소녀는 은빛 머리카락을 나부끼며 전장을 질주한다. 칠흑의 검을 들고 순진무구한 웃음을 띤 채 수많은 적을 도륙하는 소녀의 이름은 올리비아. 스스로를 사신이라 말하는 존재에게서 폭넓은 지식과 전투 기술을 철저하게 배운 소녀였다. 올리비아가 열다섯 살을 맞이하던 날,",
          "metadata_path": "/downloads/manhwa_20178/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 61,
        "total": 61,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "a14bf4d0da",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:13:45",
      "started_at": "2026-06-04T06:52:58",
      "finished_at": "2026-06-04T06:55:16",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "세상에서 가슴이 제일 좋아! - 콘부 와카메",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/11230",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_11230",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "10:48:11",
          "message": "  [>] 이미지 8개 처리 완료.\n"
        },
        {
          "time": "10:48:12",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11230/1732048"
        },
        {
          "time": "10:48:12",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11230/1732048"
        },
        {
          "time": "10:48:17",
          "message": "  [i] 회차 제목: 세상에서 가슴이 제일 좋아! 67화 세상에서 가슴이 제일 좋아 67화"
        },
        {
          "time": "10:48:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_073/001.jpg"
        },
        {
          "time": "10:48:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_073/002.jpg"
        },
        {
          "time": "10:48:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_073/003.jpg"
        },
        {
          "time": "10:48:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_073/004.jpg"
        },
        {
          "time": "10:48:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_073/005.jpg"
        },
        {
          "time": "10:48:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_073/006.jpg"
        },
        {
          "time": "10:48:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_073/007.jpg"
        },
        {
          "time": "10:48:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_073/008.jpg"
        },
        {
          "time": "10:48:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_073/009.jpg"
        },
        {
          "time": "10:48:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_073/010.jpg"
        },
        {
          "time": "10:48:31",
          "message": "  [>] 이미지 10개 처리 완료.\n"
        },
        {
          "time": "10:48:32",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11230/1734506"
        },
        {
          "time": "10:48:32",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11230/1734506"
        },
        {
          "time": "10:48:38",
          "message": "  [i] 회차 제목: 세상에서 가슴이 제일 좋아! 68화 세상에서 가슴이 제일 좋아 68화"
        },
        {
          "time": "10:48:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/001.jpg"
        },
        {
          "time": "10:48:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/002.jpg"
        },
        {
          "time": "10:48:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/003.jpg"
        },
        {
          "time": "10:48:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/004.jpg"
        },
        {
          "time": "10:48:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/005.jpg"
        },
        {
          "time": "10:48:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/006.jpg"
        },
        {
          "time": "10:48:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/007.jpg"
        },
        {
          "time": "10:48:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/008.jpg"
        },
        {
          "time": "10:48:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/009.jpg"
        },
        {
          "time": "10:48:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/010.jpg"
        },
        {
          "time": "10:48:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/011.jpg"
        },
        {
          "time": "10:48:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_074/012.jpg"
        },
        {
          "time": "10:48:52",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "10:48:53",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11230/1737259"
        },
        {
          "time": "10:48:53",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11230/1737259"
        },
        {
          "time": "10:48:59",
          "message": "  [i] 회차 제목: 세상에서 가슴이 제일 좋아! 69화 세상에서 가슴이 제일 좋아 69화"
        },
        {
          "time": "10:49:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/001.jpg"
        },
        {
          "time": "10:49:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/002.jpg"
        },
        {
          "time": "10:49:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/003.jpg"
        },
        {
          "time": "10:49:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/004.jpg"
        },
        {
          "time": "10:49:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/005.jpg"
        },
        {
          "time": "10:49:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/006.jpg"
        },
        {
          "time": "10:49:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/007.jpg"
        },
        {
          "time": "10:49:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/008.jpg"
        },
        {
          "time": "10:49:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/009.jpg"
        },
        {
          "time": "10:49:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/010.jpg"
        },
        {
          "time": "10:49:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/011.jpg"
        },
        {
          "time": "10:49:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_075/012.jpg"
        },
        {
          "time": "10:49:16",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "10:49:17",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11230/1739983"
        },
        {
          "time": "10:49:17",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11230/1739983"
        },
        {
          "time": "10:49:24",
          "message": "  [i] 회차 제목: 세상에서 가슴이 제일 좋아! 70화 세상에서 가슴이 제일 좋아 70화"
        },
        {
          "time": "10:49:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/001.jpg"
        },
        {
          "time": "10:49:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/002.jpg"
        },
        {
          "time": "10:49:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/003.jpg"
        },
        {
          "time": "10:49:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/004.jpg"
        },
        {
          "time": "10:49:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/005.jpg"
        },
        {
          "time": "10:49:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/006.jpg"
        },
        {
          "time": "10:49:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/007.jpg"
        },
        {
          "time": "10:49:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/008.jpg"
        },
        {
          "time": "10:49:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/009.jpg"
        },
        {
          "time": "10:49:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/010.jpg"
        },
        {
          "time": "10:49:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/011.jpg"
        },
        {
          "time": "10:49:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_076/012.jpg"
        },
        {
          "time": "10:49:41",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "10:49:42",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11230/1741842"
        },
        {
          "time": "10:49:42",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11230/1741842"
        },
        {
          "time": "10:49:48",
          "message": "  [i] 회차 제목: 세상에서 가슴이 제일 좋아! 71화 세상에서 가슴이 제일 좋아 71화"
        },
        {
          "time": "10:49:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_077/001.jpg"
        },
        {
          "time": "10:49:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_077/002.jpg"
        },
        {
          "time": "10:49:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_077/003.jpg"
        },
        {
          "time": "10:49:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_077/004.jpg"
        },
        {
          "time": "10:49:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_077/005.jpg"
        },
        {
          "time": "10:49:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_077/006.jpg"
        },
        {
          "time": "10:49:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_077/007.jpg"
        },
        {
          "time": "10:49:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_077/008.jpg"
        },
        {
          "time": "10:49:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_077/009.jpg"
        },
        {
          "time": "10:50:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_11230/ep_077/010.jpg"
        },
        {
          "time": "10:50:00",
          "message": "  [>] 이미지 10개 처리 완료.\n"
        },
        {
          "time": "10:50:01",
          "message": "완료: 회차 77개 처리, 이미지 832개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 77)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 77)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:32:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:32:53",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:43:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:43:23"
        },
        {
          "time": "06:43:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:43:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:39:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #304"
        },
        {
          "time": "21:39:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:40:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세상에서 가슴이 제일 좋아! - 콘부 와카메 | 뉴토끼, links=79"
        },
        {
          "time": "21:40:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #305"
        },
        {
          "time": "21:40:04",
          "message": "작품 제목: 세상에서 가슴이 제일 좋아! - 콘부 와카메"
        },
        {
          "time": "21:40:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:40:04",
          "message": "메타데이터 태그 저장: 세상에서 가슴이 제일 좋아!, 콘부 와카메"
        },
        {
          "time": "21:40:04",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "21:40:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #306"
        },
        {
          "time": "21:40:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:19:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T22:19:02"
        },
        {
          "time": "22:19:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:19:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:55:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #44"
        },
        {
          "time": "12:55:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:56:00",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:56:00",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:07:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:06:08"
        },
        {
          "time": "13:07:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:07:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:22:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1117"
        },
        {
          "time": "08:22:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:22:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세상에서 가슴이 제일 좋아! - 콘부 와카메 | 뉴토끼, links=79"
        },
        {
          "time": "08:22:39",
          "message": "작품 제목: 세상에서 가슴이 제일 좋아! - 콘부 와카메"
        },
        {
          "time": "08:22:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1118"
        },
        {
          "time": "08:23:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:24:14",
          "message": "메타데이터 태그 저장: 세상에서 가슴이 제일 좋아!, 콘부 와카메"
        },
        {
          "time": "08:24:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세상에서 가슴이 제일 좋아! 37.5화 세상에서 가슴이 제…좋아! 37.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:24:14",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:16:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #75"
        },
        {
          "time": "18:16:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:16:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세상에서 가슴이 제일 좋아! - 콘부 와카메 | 뉴토끼, links=79"
        },
        {
          "time": "18:16:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #76"
        },
        {
          "time": "18:16:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:16:30",
          "message": "작품 제목: 세상에서 가슴이 제일 좋아! - 콘부 와카메"
        },
        {
          "time": "18:16:30",
          "message": "메타데이터 태그 저장: 세상에서 가슴이 제일 좋아!, 콘부 와카메"
        },
        {
          "time": "18:16:30",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "18:16:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세상에서 가슴이 제일 좋아! 37.5화 세상에서 가슴이 제…좋아! 37.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:28:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #623"
        },
        {
          "time": "13:28:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:28:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세상에서 가슴이 제일 좋아! - 콘부 와카메 | 뉴토끼, links=79"
        },
        {
          "time": "13:28:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #624"
        },
        {
          "time": "13:29:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:29:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세상에서 가슴이 제일 좋아! 37.5화 세상에서 가슴이 제…좋아! 37.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:29:22",
          "message": "작품 제목: 세상에서 가슴이 제일 좋아! - 콘부 와카메"
        },
        {
          "time": "13:29:22",
          "message": "메타데이터 태그 저장: 세상에서 가슴이 제일 좋아!, 콘부 와카메"
        },
        {
          "time": "13:29:22",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:53:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1141"
        },
        {
          "time": "06:53:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:53:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:53:53",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:53:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1142"
        },
        {
          "time": "06:53:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:54:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세상에서 가슴이 제일 좋아! - 콘부 와카메 | 뉴토끼, links=79"
        },
        {
          "time": "06:54:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1143"
        },
        {
          "time": "06:54:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:54:34",
          "message": "작품 제목: 세상에서 가슴이 제일 좋아! - 콘부 와카메"
        },
        {
          "time": "06:54:35",
          "message": "메타데이터 태그 저장: 세상에서 가슴이 제일 좋아!, 콘부 와카메"
        },
        {
          "time": "06:54:36",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "06:54:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세상에서 가슴이 제일 좋아! 37.5화 세상에서 가슴이 제…좋아! 37.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_11230",
        "target_id": "manhwa_11230",
        "title": "세상에서 가슴이 제일 좋아! - 콘부 와카메",
        "episodes_found": 77,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 76,
        "images_found": 2,
        "images_downloaded": 0,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_11230",
          "title": "세상에서 가슴이 제일 좋아! - 콘부 와카메",
          "list_url": "https://newtoki1.org/manhwa/11230",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/11230"
          },
          "tags": [
            "세상에서 가슴이 제일 좋아!",
            "콘부 와카메"
          ],
          "description": "항간에 소문난 꽃미남녀 치아키가 좋아하는 것. 그거는... 가슴이에요. `오늘도 최고의 가슴이네!` `오늘도 최저의 인사네` 가슴이 너무 좋아 잘생긴 여자×미유 츤데레 여자의 좀 바보 같은 백합 코미디!",
          "metadata_path": "/downloads/manhwa_11230/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 42,
          "url": "https://newtoki1.org/manhwa/11230/222484",
          "title": "세상에서 가슴이 제일 좋아! 37.5화 세상에서 가슴이 제…좋아! 37.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "7f8cc1b3f4",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:12:00",
      "started_at": "2026-06-04T06:51:18",
      "finished_at": "2026-06-04T06:52:58",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "가슴 큰 과장님과 게임을 - SB,이수연",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/14810",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_14810",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:21:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_058/029.jpg"
        },
        {
          "time": "09:21:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_058/030.jpg"
        },
        {
          "time": "09:21:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_058/031.jpg"
        },
        {
          "time": "09:21:37",
          "message": "  [>] 이미지 31개 처리 완료.\n"
        },
        {
          "time": "09:21:39",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/14810/1469133"
        },
        {
          "time": "09:21:39",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/14810/1469133"
        },
        {
          "time": "09:21:44",
          "message": "  [i] 회차 제목: 가슴 큰 과장님과 게임을 2화 59화"
        },
        {
          "time": "09:21:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/001.png"
        },
        {
          "time": "09:21:47",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/002.jpg"
        },
        {
          "time": "09:21:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/003.jpg"
        },
        {
          "time": "09:21:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/004.jpg"
        },
        {
          "time": "09:21:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/005.jpg"
        },
        {
          "time": "09:21:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/006.jpg"
        },
        {
          "time": "09:21:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/007.jpg"
        },
        {
          "time": "09:21:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/008.jpg"
        },
        {
          "time": "09:21:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/009.jpg"
        },
        {
          "time": "09:21:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/010.jpg"
        },
        {
          "time": "09:22:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/011.jpg"
        },
        {
          "time": "09:22:01",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/012.jpg"
        },
        {
          "time": "09:22:03",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/013.jpg"
        },
        {
          "time": "09:22:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/014.jpg"
        },
        {
          "time": "09:22:06",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/015.jpg"
        },
        {
          "time": "09:22:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/016.jpg"
        },
        {
          "time": "09:22:09",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/017.jpg"
        },
        {
          "time": "09:22:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/018.jpg"
        },
        {
          "time": "09:22:12",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/019.jpg"
        },
        {
          "time": "09:22:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/020.jpg"
        },
        {
          "time": "09:22:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/021.jpg"
        },
        {
          "time": "09:22:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/022.jpg"
        },
        {
          "time": "09:22:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/023.jpg"
        },
        {
          "time": "09:22:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/024.jpg"
        },
        {
          "time": "09:22:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/025.jpg"
        },
        {
          "time": "09:22:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/026.jpg"
        },
        {
          "time": "09:22:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/027.jpg"
        },
        {
          "time": "09:22:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/028.jpg"
        },
        {
          "time": "09:22:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/029.jpg"
        },
        {
          "time": "09:22:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_059/030.jpg"
        },
        {
          "time": "09:22:30",
          "message": "  [>] 이미지 30개 처리 완료.\n"
        },
        {
          "time": "09:22:31",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/14810/1469135"
        },
        {
          "time": "09:22:31",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/14810/1469135"
        },
        {
          "time": "09:22:37",
          "message": "  [i] 회차 제목: 가슴 큰 과장님과 게임을 1화 60화"
        },
        {
          "time": "09:22:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/001.png"
        },
        {
          "time": "09:22:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/002.jpg"
        },
        {
          "time": "09:22:42",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/003.jpg"
        },
        {
          "time": "09:22:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/004.jpg"
        },
        {
          "time": "09:22:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/005.jpg"
        },
        {
          "time": "09:22:47",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/006.jpg"
        },
        {
          "time": "09:22:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/007.jpg"
        },
        {
          "time": "09:22:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/008.jpg"
        },
        {
          "time": "09:22:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/009.jpg"
        },
        {
          "time": "09:22:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/010.jpg"
        },
        {
          "time": "09:22:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/011.jpg"
        },
        {
          "time": "09:22:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/012.jpg"
        },
        {
          "time": "09:22:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/013.jpg"
        },
        {
          "time": "09:22:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/014.jpg"
        },
        {
          "time": "09:23:01",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/015.jpg"
        },
        {
          "time": "09:23:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/016.jpg"
        },
        {
          "time": "09:23:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/017.jpg"
        },
        {
          "time": "09:23:05",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/018.jpg"
        },
        {
          "time": "09:23:06",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/019.jpg"
        },
        {
          "time": "09:23:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/020.jpg"
        },
        {
          "time": "09:23:09",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/021.jpg"
        },
        {
          "time": "09:23:10",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/022.jpg"
        },
        {
          "time": "09:23:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/023.jpg"
        },
        {
          "time": "09:23:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/024.jpg"
        },
        {
          "time": "09:23:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/025.jpg"
        },
        {
          "time": "09:23:15",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/026.jpg"
        },
        {
          "time": "09:23:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/027.jpg"
        },
        {
          "time": "09:23:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/028.jpg"
        },
        {
          "time": "09:23:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/029.jpg"
        },
        {
          "time": "09:23:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/030.jpg"
        },
        {
          "time": "09:23:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_14810/ep_060/031.jpg"
        },
        {
          "time": "09:23:21",
          "message": "  [>] 이미지 31개 처리 완료.\n"
        },
        {
          "time": "09:23:22",
          "message": "완료: 회차 60개 처리, 이미지 1754개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 60)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 60)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:33:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:34:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:44:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:44:45"
        },
        {
          "time": "06:44:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:44:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:39:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #303"
        },
        {
          "time": "21:39:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:39:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 큰 과장님과 게임을 - SB,이수연 | 뉴토끼, links=62"
        },
        {
          "time": "21:39:48",
          "message": "작품 제목: 가슴 큰 과장님과 게임을 - SB,이수연"
        },
        {
          "time": "21:39:48",
          "message": "메타데이터 태그 저장: SB, 가슴 큰 과장님과 게임을, 드라마, 로맨스, 성인, 이수연"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:02:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #123"
        },
        {
          "time": "14:02:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:02:58",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:02:58",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:13:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:13:18"
        },
        {
          "time": "14:13:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:13:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:05:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1502"
        },
        {
          "time": "14:05:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:05:45",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "14:05:58",
          "message": "작품 제목: 14810"
        },
        {
          "time": "14:05:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1503"
        },
        {
          "time": "14:05:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:06:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 큰 과장님과 게임을 - SB,이수연 | 뉴토끼, links=62"
        },
        {
          "time": "14:06:06",
          "message": "작품 제목: 가슴 큰 과장님과 게임을 - SB,이수연"
        },
        {
          "time": "14:06:06",
          "message": "메타데이터 태그 저장: SB, 가슴 큰 과장님과 게임을, 드라마, 로맨스, 성인, 이수연"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:00:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "17:00:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:01:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 큰 과장님과 게임을 - SB,이수연 | 뉴토끼, links=62"
        },
        {
          "time": "17:01:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "17:01:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:01:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 큰 과장님과 게임을 - SB,이수연 | 뉴토끼, links=62"
        },
        {
          "time": "17:01:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "17:01:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:01:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 큰 과장님과 게임을 - SB,이수연 | 뉴토끼, links=62"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:13:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #446"
        },
        {
          "time": "22:13:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:13:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 큰 과장님과 게임을 - SB,이수연 | 뉴토끼, links=62"
        },
        {
          "time": "22:13:18",
          "message": "작품 제목: 가슴 큰 과장님과 게임을 - SB,이수연"
        },
        {
          "time": "22:13:18",
          "message": "메타데이터 태그 저장: SB, 가슴 큰 과장님과 게임을, 드라마, 로맨스, 성인, 이수연"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:20:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #77"
        },
        {
          "time": "03:20:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:21:22",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:21:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #78"
        },
        {
          "time": "03:21:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:21:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 큰 과장님과 게임을 - SB,이수연 | 뉴토끼, links=62"
        },
        {
          "time": "03:21:59",
          "message": "작품 제목: 가슴 큰 과장님과 게임을 - SB,이수연"
        },
        {
          "time": "03:21:59",
          "message": "메타데이터 태그 저장: SB, 가슴 큰 과장님과 게임을, 드라마, 로맨스, 성인, 이수연"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:30:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #214"
        },
        {
          "time": "16:30:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:31:09",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:31:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:31:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #215"
        },
        {
          "time": "16:31:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:31:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 큰 과장님과 게임을 - SB,이수연 | 뉴토끼, links=62"
        },
        {
          "time": "16:31:24",
          "message": "작품 제목: 가슴 큰 과장님과 게임을 - SB,이수연"
        },
        {
          "time": "16:31:24",
          "message": "메타데이터 태그 저장: SB, 가슴 큰 과장님과 게임을, 드라마, 로맨스, 성인, 이수연"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:51:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1139"
        },
        {
          "time": "06:51:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:52:10",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:52:10",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:52:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1140"
        },
        {
          "time": "06:52:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:52:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 큰 과장님과 게임을 - SB,이수연 | 뉴토끼, links=62"
        },
        {
          "time": "06:52:57",
          "message": "작품 제목: 가슴 큰 과장님과 게임을 - SB,이수연"
        },
        {
          "time": "06:52:58",
          "message": "메타데이터 태그 저장: SB, 가슴 큰 과장님과 게임을, 드라마, 로맨스, 성인, 이수연"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_14810",
        "target_id": "webtoon_14810",
        "title": "가슴 큰 과장님과 게임을 - SB,이수연",
        "episodes_found": 60,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 60,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_14810",
          "title": "가슴 큰 과장님과 게임을 - SB,이수연",
          "list_url": "https://newtoki1.org/webtoon/14810",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/14810"
          },
          "tags": [
            "SB",
            "가슴 큰 과장님과 게임을",
            "드라마",
            "로맨스",
            "성인",
            "이수연"
          ],
          "description": "가슴 큰 과장님과 게임을 (SB,이수연) [투믹스] #드라마 #로맨스 #성인",
          "metadata_path": "/downloads/webtoon_14810/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 60,
        "total": 60,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "787d6c3e76",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:11:44",
      "started_at": "2026-06-04T06:50:10",
      "finished_at": "2026-06-04T06:51:17",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/24459",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_24459",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:47:46",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/24459/308707"
        },
        {
          "time": "09:47:46",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/24459/308707"
        },
        {
          "time": "09:47:53",
          "message": "  [i] 회차 제목: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 35화 부끄러운 얼굴로 가…지 뭐든지 적당히"
        },
        {
          "time": "09:47:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/001.jpg"
        },
        {
          "time": "09:47:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/002.jpg"
        },
        {
          "time": "09:47:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/003.jpg"
        },
        {
          "time": "09:47:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/004.jpg"
        },
        {
          "time": "09:47:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/005.jpg"
        },
        {
          "time": "09:47:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/006.jpg"
        },
        {
          "time": "09:48:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/007.jpg"
        },
        {
          "time": "09:48:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/008.jpg"
        },
        {
          "time": "09:48:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/009.jpg"
        },
        {
          "time": "09:48:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/010.jpg"
        },
        {
          "time": "09:48:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/011.jpg"
        },
        {
          "time": "09:48:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/012.jpg"
        },
        {
          "time": "09:48:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/013.jpg"
        },
        {
          "time": "09:48:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/014.jpg"
        },
        {
          "time": "09:48:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/015.jpg"
        },
        {
          "time": "09:48:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/016.jpg"
        },
        {
          "time": "09:48:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/017.jpg"
        },
        {
          "time": "09:48:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/018.jpg"
        },
        {
          "time": "09:48:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/019.jpg"
        },
        {
          "time": "09:48:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/020.jpg"
        },
        {
          "time": "09:48:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/021.jpg"
        },
        {
          "time": "09:48:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/022.jpg"
        },
        {
          "time": "09:48:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_035/023.jpg"
        },
        {
          "time": "09:48:18",
          "message": "  [>] 이미지 23개 처리 완료.\n"
        },
        {
          "time": "09:48:19",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/24459/308708"
        },
        {
          "time": "09:48:19",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/24459/308708"
        },
        {
          "time": "09:48:26",
          "message": "  [i] 회차 제목: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 36화 부끄러운 얼굴로 가…니까 허락해버려!"
        },
        {
          "time": "09:48:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/001.jpg"
        },
        {
          "time": "09:48:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/002.jpg"
        },
        {
          "time": "09:48:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/003.jpg"
        },
        {
          "time": "09:48:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/004.jpg"
        },
        {
          "time": "09:48:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/005.jpg"
        },
        {
          "time": "09:48:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/006.jpg"
        },
        {
          "time": "09:48:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/007.jpg"
        },
        {
          "time": "09:48:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/008.jpg"
        },
        {
          "time": "09:48:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/009.jpg"
        },
        {
          "time": "09:48:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/010.jpg"
        },
        {
          "time": "09:48:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/011.jpg"
        },
        {
          "time": "09:48:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/012.jpg"
        },
        {
          "time": "09:48:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/013.jpg"
        },
        {
          "time": "09:48:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/014.jpg"
        },
        {
          "time": "09:48:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/015.jpg"
        },
        {
          "time": "09:48:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_036/016.jpg"
        },
        {
          "time": "09:48:48",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "09:48:49",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/24459/309535"
        },
        {
          "time": "09:48:49",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/24459/309535"
        },
        {
          "time": "09:48:55",
          "message": "  [i] 회차 제목: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 37화 부끄러운 얼굴로 가…마카나짱과 사키짱"
        },
        {
          "time": "09:48:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/001.jpg"
        },
        {
          "time": "09:48:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/002.jpg"
        },
        {
          "time": "09:48:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/003.jpg"
        },
        {
          "time": "09:48:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/004.jpg"
        },
        {
          "time": "09:49:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/005.jpg"
        },
        {
          "time": "09:49:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/006.jpg"
        },
        {
          "time": "09:49:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/007.jpg"
        },
        {
          "time": "09:49:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/008.jpg"
        },
        {
          "time": "09:49:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/009.jpg"
        },
        {
          "time": "09:49:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/010.jpg"
        },
        {
          "time": "09:49:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/011.jpg"
        },
        {
          "time": "09:49:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/012.jpg"
        },
        {
          "time": "09:49:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/013.jpg"
        },
        {
          "time": "09:49:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/014.jpg"
        },
        {
          "time": "09:49:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/015.jpg"
        },
        {
          "time": "09:49:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/016.jpg"
        },
        {
          "time": "09:49:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/017.jpg"
        },
        {
          "time": "09:49:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/018.jpg"
        },
        {
          "time": "09:49:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/019.jpg"
        },
        {
          "time": "09:49:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/020.jpg"
        },
        {
          "time": "09:49:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/021.jpg"
        },
        {
          "time": "09:49:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/022.jpg"
        },
        {
          "time": "09:49:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/023.jpg"
        },
        {
          "time": "09:49:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/024.jpg"
        },
        {
          "time": "09:49:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/025.jpg"
        },
        {
          "time": "09:49:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_24459/ep_037/026.jpg"
        },
        {
          "time": "09:49:25",
          "message": "  [>] 이미지 26개 처리 완료.\n"
        },
        {
          "time": "09:49:26",
          "message": "완료: 회차 37개 처리, 이미지 600개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 37)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 37)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:33:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:33:45",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:43:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:43:59"
        },
        {
          "time": "06:43:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:43:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:39:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #302"
        },
        {
          "time": "21:39:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:39:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지 | 뉴토끼, links=39"
        },
        {
          "time": "21:39:31",
          "message": "작품 제목: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지"
        },
        {
          "time": "21:39:31",
          "message": "메타데이터 태그 저장: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지, 앤솔로지"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:02:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #124"
        },
        {
          "time": "14:02:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:03:19",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:03:19",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:13:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:13:44"
        },
        {
          "time": "14:13:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:13:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:06:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1504"
        },
        {
          "time": "14:06:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:06:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지 | 뉴토끼, links=39"
        },
        {
          "time": "14:06:21",
          "message": "작품 제목: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지"
        },
        {
          "time": "14:06:21",
          "message": "메타데이터 태그 저장: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지, 앤솔로지"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:59:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "16:59:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:00:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지 | 뉴토끼, links=39"
        },
        {
          "time": "17:00:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "17:00:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:00:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지 | 뉴토끼, links=39"
        },
        {
          "time": "17:00:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "17:00:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:00:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지 | 뉴토끼, links=39"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:11:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #444"
        },
        {
          "time": "22:11:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:12:01",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "22:12:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #445"
        },
        {
          "time": "22:12:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:12:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지 | 뉴토끼, links=39"
        },
        {
          "time": "22:12:41",
          "message": "작품 제목: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지"
        },
        {
          "time": "22:12:41",
          "message": "메타데이터 태그 저장: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지, 앤솔로지"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:22:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #79"
        },
        {
          "time": "03:22:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:23:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지 | 뉴토끼, links=39"
        },
        {
          "time": "03:23:36",
          "message": "작품 제목: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지"
        },
        {
          "time": "03:23:36",
          "message": "메타데이터 태그 저장: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지, 앤솔로지"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:28:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #212"
        },
        {
          "time": "16:28:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:29:10",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:29:10",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:29:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #213"
        },
        {
          "time": "16:29:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:29:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지 | 뉴토끼, links=39"
        },
        {
          "time": "16:30:22",
          "message": "작품 제목: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지"
        },
        {
          "time": "16:30:22",
          "message": "메타데이터 태그 저장: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지, 앤솔로지"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:50:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1137"
        },
        {
          "time": "06:50:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:51:04",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:51:04",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:51:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1138"
        },
        {
          "time": "06:51:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:51:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지 | 뉴토끼, links=39"
        },
        {
          "time": "06:51:16",
          "message": "작품 제목: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지"
        },
        {
          "time": "06:51:17",
          "message": "메타데이터 태그 저장: 부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지, 앤솔로지"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_24459",
        "target_id": "manhwa_24459",
        "title": "부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지",
        "episodes_found": 37,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 37,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_24459",
          "title": "부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 - 앤솔로지",
          "list_url": "https://newtoki1.org/manhwa/24459",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/24459"
          },
          "tags": [
            "부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지",
            "앤솔로지"
          ],
          "description": "부끄러운 얼굴로 가슴을 보여주고 싶은 앤솔로지 (앤솔로지)",
          "metadata_path": "/downloads/manhwa_24459/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 37,
        "total": 37,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3afd1b6bdd",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:11:02",
      "started_at": "2026-06-04T06:48:37",
      "finished_at": "2026-06-04T06:50:10",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "슈퍼 뒤에서 담배 피우는 두 사람 - 지누시",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/34978",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_34978",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "01:41:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_072/038.jpg"
        },
        {
          "time": "01:41:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_072/039.jpg"
        },
        {
          "time": "01:41:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_072/040.jpg"
        },
        {
          "time": "01:41:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_072/041.jpg"
        },
        {
          "time": "01:41:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_072/042.jpg"
        },
        {
          "time": "01:41:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_072/043.jpg"
        },
        {
          "time": "01:41:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_072/044.jpg"
        },
        {
          "time": "01:41:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_072/045.jpg"
        },
        {
          "time": "01:41:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_072/046.jpg"
        },
        {
          "time": "01:41:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_072/047.jpg"
        },
        {
          "time": "01:41:53",
          "message": "  [>] 이미지 47/47개 처리 완료.\n"
        },
        {
          "time": "01:41:54",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/34978/1793433"
        },
        {
          "time": "01:41:55",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34978/1793433"
        },
        {
          "time": "01:42:13",
          "message": "  [i] 회차 제목: 슈퍼 뒤에서 담배 피우는 두 사람 57화 슈퍼 뒤에서 담배 … 두 사람 보너스"
        },
        {
          "time": "01:42:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/001.jpg"
        },
        {
          "time": "01:42:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/002.jpg"
        },
        {
          "time": "01:42:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/003.jpg"
        },
        {
          "time": "01:42:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/004.jpg"
        },
        {
          "time": "01:42:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/005.jpg"
        },
        {
          "time": "01:42:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/006.jpg"
        },
        {
          "time": "01:42:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/007.jpg"
        },
        {
          "time": "01:42:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/008.jpg"
        },
        {
          "time": "01:42:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/009.jpg"
        },
        {
          "time": "01:42:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/010.jpg"
        },
        {
          "time": "01:42:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/011.jpg"
        },
        {
          "time": "01:42:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/012.jpg"
        },
        {
          "time": "01:42:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/013.jpg"
        },
        {
          "time": "01:42:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/014.jpg"
        },
        {
          "time": "01:42:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/015.jpg"
        },
        {
          "time": "01:42:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/016.jpg"
        },
        {
          "time": "01:42:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/017.jpg"
        },
        {
          "time": "01:42:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/018.jpg"
        },
        {
          "time": "01:42:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/019.jpg"
        },
        {
          "time": "01:42:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/020.jpg"
        },
        {
          "time": "01:42:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/021.jpg"
        },
        {
          "time": "01:42:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/022.jpg"
        },
        {
          "time": "01:42:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/023.jpg"
        },
        {
          "time": "01:42:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/024.jpg"
        },
        {
          "time": "01:42:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/025.jpg"
        },
        {
          "time": "01:42:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/026.jpg"
        },
        {
          "time": "01:42:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/027.jpg"
        },
        {
          "time": "01:42:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/028.jpg"
        },
        {
          "time": "01:42:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/029.jpg"
        },
        {
          "time": "01:42:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/030.jpg"
        },
        {
          "time": "01:42:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_073/031.jpg"
        },
        {
          "time": "01:42:38",
          "message": "  [>] 이미지 31/31개 처리 완료.\n"
        },
        {
          "time": "01:42:39",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/34978/1805142"
        },
        {
          "time": "01:42:39",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34978/1805142"
        },
        {
          "time": "01:42:58",
          "message": "  [i] 회차 제목: 슈퍼 뒤에서 담배 피우는 두 사람 64화 슈퍼 뒤에서 담배 … 두 사람 보너스"
        },
        {
          "time": "01:42:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/001.jpg"
        },
        {
          "time": "01:42:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/002.jpg"
        },
        {
          "time": "01:43:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/003.jpg"
        },
        {
          "time": "01:43:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/004.jpg"
        },
        {
          "time": "01:43:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/005.jpg"
        },
        {
          "time": "01:43:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/006.jpg"
        },
        {
          "time": "01:43:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/007.jpg"
        },
        {
          "time": "01:43:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/008.jpg"
        },
        {
          "time": "01:43:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/009.jpg"
        },
        {
          "time": "01:43:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/010.jpg"
        },
        {
          "time": "01:43:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/011.jpg"
        },
        {
          "time": "01:43:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/012.jpg"
        },
        {
          "time": "01:43:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/013.jpg"
        },
        {
          "time": "01:43:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/014.jpg"
        },
        {
          "time": "01:43:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/015.jpg"
        },
        {
          "time": "01:43:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/016.jpg"
        },
        {
          "time": "01:43:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/017.jpg"
        },
        {
          "time": "01:43:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/018.jpg"
        },
        {
          "time": "01:43:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/019.jpg"
        },
        {
          "time": "01:43:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/020.jpg"
        },
        {
          "time": "01:43:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/021.jpg"
        },
        {
          "time": "01:43:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/022.jpg"
        },
        {
          "time": "01:43:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/023.jpg"
        },
        {
          "time": "01:43:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/024.jpg"
        },
        {
          "time": "01:43:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/025.jpg"
        },
        {
          "time": "01:43:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/026.jpg"
        },
        {
          "time": "01:43:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/027.jpg"
        },
        {
          "time": "01:43:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/028.jpg"
        },
        {
          "time": "01:43:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/029.jpg"
        },
        {
          "time": "01:43:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/030.jpg"
        },
        {
          "time": "01:43:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/031.jpg"
        },
        {
          "time": "01:43:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/032.jpg"
        },
        {
          "time": "01:43:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/033.jpg"
        },
        {
          "time": "01:43:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/034.jpg"
        },
        {
          "time": "01:43:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/035.jpg"
        },
        {
          "time": "01:43:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/036.jpg"
        },
        {
          "time": "01:43:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_34978/ep_074/037.jpg"
        },
        {
          "time": "01:43:29",
          "message": "  [>] 이미지 37/37개 처리 완료.\n"
        },
        {
          "time": "01:43:30",
          "message": "완료: 회차 67개 처리, 이미지 1699개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 67)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:50",
          "message": "작품 제목: 34978"
        },
        {
          "time": "06:05:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:05:10"
        },
        {
          "time": "06:05:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:05:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:39:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #301"
        },
        {
          "time": "21:39:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:39:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 뒤에서 담배 피우는 두 사람 - 지누시 | 뉴토끼, links=76"
        },
        {
          "time": "21:39:16",
          "message": "작품 제목: 슈퍼 뒤에서 담배 피우는 두 사람 - 지누시"
        },
        {
          "time": "21:39:16",
          "message": "메타데이터 태그 저장: 슈퍼 뒤에서 담배 피우는 두 사람, 지누시"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:03:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #125"
        },
        {
          "time": "14:03:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:03:41",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:03:50",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:14:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:14:40"
        },
        {
          "time": "14:14:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:14:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:07:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1505"
        },
        {
          "time": "14:07:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:07:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 뒤에서 담배 피우는 두 사람 - 지누시 | 뉴토끼, links=76"
        },
        {
          "time": "14:07:33",
          "message": "작품 제목: 슈퍼 뒤에서 담배 피우는 두 사람 - 지누시"
        },
        {
          "time": "14:07:33",
          "message": "메타데이터 태그 저장: 슈퍼 뒤에서 담배 피우는 두 사람, 지누시"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:58:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "16:58:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:59:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 뒤에서 담배 피우는 두 사람 - 지누시 | 뉴토끼, links=76"
        },
        {
          "time": "16:59:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "16:59:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:59:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 뒤에서 담배 피우는 두 사람 - 지누시 | 뉴토끼, links=76"
        },
        {
          "time": "16:59:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "16:59:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:59:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 뒤에서 담배 피우는 두 사람 - 지누시 | 뉴토끼, links=76"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:10:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #443"
        },
        {
          "time": "22:10:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:11:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 뒤에서 담배 피우는 두 사람 - 지누시 | 뉴토끼, links=76"
        },
        {
          "time": "22:11:40",
          "message": "작품 제목: 슈퍼 뒤에서 담배 피우는 두 사람 - 지누시"
        },
        {
          "time": "22:11:40",
          "message": "메타데이터 태그 저장: 슈퍼 뒤에서 담배 피우는 두 사람, 지누시"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:23:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #80"
        },
        {
          "time": "03:23:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:24:17",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:24:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #81"
        },
        {
          "time": "03:24:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:24:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 뒤에서 담배 피우는 두 사람 - 지누시 | 뉴토끼, links=76"
        },
        {
          "time": "03:25:03",
          "message": "작품 제목: 슈퍼 뒤에서 담배 피우는 두 사람 - 지누시"
        },
        {
          "time": "03:25:03",
          "message": "메타데이터 태그 저장: 슈퍼 뒤에서 담배 피우는 두 사람, 지누시"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:27:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #211"
        },
        {
          "time": "16:27:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:27:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 뒤에서 담배 피우는 두 사람 - 지누시 | 뉴토끼, links=76"
        },
        {
          "time": "16:27:37",
          "message": "작품 제목: 슈퍼 뒤에서 담배 피우는 두 사람 - 지누시"
        },
        {
          "time": "16:27:38",
          "message": "메타데이터 태그 저장: 슈퍼 뒤에서 담배 피우는 두 사람, 지누시"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:49:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1136"
        },
        {
          "time": "06:49:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:49:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 뒤에서 담배 피우는 두 사람 - 지누시 | 뉴토끼, links=76"
        },
        {
          "time": "06:50:09",
          "message": "작품 제목: 슈퍼 뒤에서 담배 피우는 두 사람 - 지누시"
        },
        {
          "time": "06:50:09",
          "message": "메타데이터 태그 저장: 슈퍼 뒤에서 담배 피우는 두 사람, 지누시"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34978",
        "target_id": "manhwa_34978",
        "title": "슈퍼 뒤에서 담배 피우는 두 사람 - 지누시",
        "episodes_found": 74,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 74,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34978",
          "title": "슈퍼 뒤에서 담배 피우는 두 사람 - 지누시",
          "list_url": "https://newtoki1.org/manhwa/34978",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34978"
          },
          "tags": [
            "슈퍼 뒤에서 담배 피우는 두 사람",
            "지누시"
          ],
          "description": "오늘 밤도 당신과 이곳에서. 사축의 길을 달리는 지친 중년 남성 사사키. 그의 작은 힐링이라고 하면, 평소 애연하는 담배와 단골 슈퍼에서 일하는 여점원 야마다씨의 상냥한 접객 정도. 일에 지친 어느 날 밤, 치유를 찾아 슈퍼로 향했지만 목표였던 야마다씨는 없고 담배를 피울 수 있는 장",
          "metadata_path": "/downloads/manhwa_34978/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 74,
        "total": 74,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "efaaa02f4c",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:10:48",
      "started_at": "2026-06-04T06:47:21",
      "finished_at": "2026-06-04T06:48:36",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "슈퍼 커브 - 카니탄",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8107",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8107",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "10:20:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_044/015.jpg"
        },
        {
          "time": "10:20:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_044/016.jpg"
        },
        {
          "time": "10:20:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_044/017.jpg"
        },
        {
          "time": "10:20:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_044/018.jpg"
        },
        {
          "time": "10:20:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_044/019.jpg"
        },
        {
          "time": "10:20:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_044/020.jpg"
        },
        {
          "time": "10:20:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_044/021.jpg"
        },
        {
          "time": "10:20:29",
          "message": "  [>] 이미지 21개 처리 완료.\n"
        },
        {
          "time": "10:20:30",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/8107/1700660"
        },
        {
          "time": "10:20:30",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/8107/1700660"
        },
        {
          "time": "10:20:37",
          "message": "  [i] 회차 제목: 슈퍼 커브 31.0화"
        },
        {
          "time": "10:20:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/001.jpg"
        },
        {
          "time": "10:20:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/002.jpg"
        },
        {
          "time": "10:20:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/003.jpg"
        },
        {
          "time": "10:20:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/004.jpg"
        },
        {
          "time": "10:20:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/005.jpg"
        },
        {
          "time": "10:20:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/006.jpg"
        },
        {
          "time": "10:20:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/007.jpg"
        },
        {
          "time": "10:20:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/008.jpg"
        },
        {
          "time": "10:20:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/009.jpg"
        },
        {
          "time": "10:20:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/010.jpg"
        },
        {
          "time": "10:20:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/011.jpg"
        },
        {
          "time": "10:20:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/012.jpg"
        },
        {
          "time": "10:20:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/013.jpg"
        },
        {
          "time": "10:20:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/014.jpg"
        },
        {
          "time": "10:20:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/015.jpg"
        },
        {
          "time": "10:20:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/016.jpg"
        },
        {
          "time": "10:20:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/017.jpg"
        },
        {
          "time": "10:20:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/018.jpg"
        },
        {
          "time": "10:20:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/019.jpg"
        },
        {
          "time": "10:20:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/020.jpg"
        },
        {
          "time": "10:20:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/021.jpg"
        },
        {
          "time": "10:21:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/022.jpg"
        },
        {
          "time": "10:21:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/023.jpg"
        },
        {
          "time": "10:21:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/024.jpg"
        },
        {
          "time": "10:21:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/025.jpg"
        },
        {
          "time": "10:21:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/026.jpg"
        },
        {
          "time": "10:21:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/027.jpg"
        },
        {
          "time": "10:21:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/028.jpg"
        },
        {
          "time": "10:21:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/029.jpg"
        },
        {
          "time": "10:21:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/030.jpg"
        },
        {
          "time": "10:21:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/031.jpg"
        },
        {
          "time": "10:21:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_045/032.jpg"
        },
        {
          "time": "10:21:11",
          "message": "  [>] 이미지 32개 처리 완료.\n"
        },
        {
          "time": "10:21:12",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/8107/1700666"
        },
        {
          "time": "10:21:12",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/8107/1700666"
        },
        {
          "time": "10:21:17",
          "message": "  [i] 회차 제목: 슈퍼 커브 32화"
        },
        {
          "time": "10:21:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/001.jpg"
        },
        {
          "time": "10:21:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/002.jpg"
        },
        {
          "time": "10:21:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/003.jpg"
        },
        {
          "time": "10:21:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/004.jpg"
        },
        {
          "time": "10:21:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/005.jpg"
        },
        {
          "time": "10:21:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/006.jpg"
        },
        {
          "time": "10:21:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/007.jpg"
        },
        {
          "time": "10:21:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/008.jpg"
        },
        {
          "time": "10:21:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/009.jpg"
        },
        {
          "time": "10:21:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/010.jpg"
        },
        {
          "time": "10:21:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/011.jpg"
        },
        {
          "time": "10:21:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/012.jpg"
        },
        {
          "time": "10:21:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/013.jpg"
        },
        {
          "time": "10:21:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/014.jpg"
        },
        {
          "time": "10:21:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/015.jpg"
        },
        {
          "time": "10:21:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/016.jpg"
        },
        {
          "time": "10:21:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/017.jpg"
        },
        {
          "time": "10:21:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/018.jpg"
        },
        {
          "time": "10:21:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/019.jpg"
        },
        {
          "time": "10:21:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/020.jpg"
        },
        {
          "time": "10:21:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/021.jpg"
        },
        {
          "time": "10:21:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/022.jpg"
        },
        {
          "time": "10:21:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/023.jpg"
        },
        {
          "time": "10:21:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/024.jpg"
        },
        {
          "time": "10:21:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/025.jpg"
        },
        {
          "time": "10:21:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8107/ep_046/026.jpg"
        },
        {
          "time": "10:21:52",
          "message": "  [>] 이미지 26개 처리 완료.\n"
        },
        {
          "time": "10:21:53",
          "message": "완료: 회차 46개 처리, 이미지 1017개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 46)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 46)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:32:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:32:57",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:43:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:43:23"
        },
        {
          "time": "06:43:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:43:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:38:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #298"
        },
        {
          "time": "21:38:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:38:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 커브 - 카니탄 | 뉴토끼, links=48"
        },
        {
          "time": "21:38:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #299"
        },
        {
          "time": "21:38:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:38:20",
          "message": "작품 제목: 슈퍼 커브 - 카니탄"
        },
        {
          "time": "21:38:20",
          "message": "메타데이터 태그 저장: 슈퍼 커브, 카니탄"
        },
        {
          "time": "21:38:20",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "21:38:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #300"
        },
        {
          "time": "21:38:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:19:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T22:19:02"
        },
        {
          "time": "22:19:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:19:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:54:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #43"
        },
        {
          "time": "12:54:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:55:07",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:55:38",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:06:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:06:08"
        },
        {
          "time": "13:06:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:06:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:21:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1115"
        },
        {
          "time": "08:21:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:22:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 커브 - 카니탄 | 뉴토끼, links=48"
        },
        {
          "time": "08:22:10",
          "message": "작품 제목: 슈퍼 커브 - 카니탄"
        },
        {
          "time": "08:22:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1116"
        },
        {
          "time": "08:22:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:22:10",
          "message": "메타데이터 태그 저장: 슈퍼 커브, 카니탄"
        },
        {
          "time": "08:22:10",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "08:22:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=슈퍼 커브 23화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:16:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #77"
        },
        {
          "time": "18:16:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:16:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 커브 - 카니탄 | 뉴토끼, links=48"
        },
        {
          "time": "18:17:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #78"
        },
        {
          "time": "18:17:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:17:12",
          "message": "작품 제목: 슈퍼 커브 - 카니탄"
        },
        {
          "time": "18:17:12",
          "message": "메타데이터 태그 저장: 슈퍼 커브, 카니탄"
        },
        {
          "time": "18:17:12",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "18:17:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=슈퍼 커브 23화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #618"
        },
        {
          "time": "13:25:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:25:53",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:25:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #619"
        },
        {
          "time": "13:25:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:26:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 커브 - 카니탄 | 뉴토끼, links=48"
        },
        {
          "time": "13:26:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #620"
        },
        {
          "time": "13:26:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:26:09",
          "message": "작품 제목: 슈퍼 커브 - 카니탄"
        },
        {
          "time": "13:26:11",
          "message": "메타데이터 태그 저장: 슈퍼 커브, 카니탄"
        },
        {
          "time": "13:26:11",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "13:26:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #621"
        },
        {
          "time": "13:26:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:26:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #622"
        },
        {
          "time": "13:26:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:27:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=슈퍼 커브 23화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:47:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1134"
        },
        {
          "time": "06:47:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:48:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=슈퍼 커브 - 카니탄 | 뉴토끼, links=48"
        },
        {
          "time": "06:48:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1135"
        },
        {
          "time": "06:48:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:48:26",
          "message": "작품 제목: 슈퍼 커브 - 카니탄"
        },
        {
          "time": "06:48:27",
          "message": "메타데이터 태그 저장: 슈퍼 커브, 카니탄"
        },
        {
          "time": "06:48:27",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "06:48:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=슈퍼 커브 23화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8107",
        "target_id": "manhwa_8107",
        "title": "슈퍼 커브 - 카니탄",
        "episodes_found": 46,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 45,
        "images_found": 1,
        "images_downloaded": 0,
        "images_skipped": 1,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8107",
          "title": "슈퍼 커브 - 카니탄",
          "list_url": "https://newtoki1.org/manhwa/8107",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8107"
          },
          "tags": [
            "슈퍼 커브",
            "카니탄"
          ],
          "description": "야마나시의 한 고등학교에 다니는 소녀 코구마. 양친도 친구도 취미도 없이 보잘것없는 일상을 보내던 소녀는 중고 슈퍼커브를 얻는다. 그것은 코구마의 세계를 빛나게 할 작고 거대한 변화였다. 외톨이 여자아이와 세계에서 가장 뛰어난 바이크가 엮어내는 일상과 우정의 이야기가 시작된다??",
          "metadata_path": "/downloads/manhwa_8107/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 34,
          "url": "https://newtoki1.org/manhwa/8107/249736",
          "title": "슈퍼 커브 23화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "38a7bb3ec0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:09:17",
      "started_at": "2026-06-04T06:46:26",
      "finished_at": "2026-06-04T06:47:21",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "연장 아빠 - 아리마 타케시",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/23997",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_23997",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "20:52:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_040/011.jpg"
        },
        {
          "time": "20:52:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_040/012.jpg"
        },
        {
          "time": "20:52:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_040/013.jpg"
        },
        {
          "time": "20:52:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_040/014.jpg"
        },
        {
          "time": "20:52:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_040/015.jpg"
        },
        {
          "time": "20:52:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_040/016.jpg"
        },
        {
          "time": "20:52:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_040/017.jpg"
        },
        {
          "time": "20:52:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_040/018.jpg"
        },
        {
          "time": "20:52:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_040/019.jpg"
        },
        {
          "time": "20:52:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_040/020.jpg"
        },
        {
          "time": "20:52:18",
          "message": "  [>] 이미지 20/20개 처리 완료.\n"
        },
        {
          "time": "20:52:19",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23997/237014"
        },
        {
          "time": "20:52:19",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23997/237014"
        },
        {
          "time": "20:52:29",
          "message": "  [i] 회차 제목: 연장 아빠 41화"
        },
        {
          "time": "20:52:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/001.jpg"
        },
        {
          "time": "20:52:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/002.jpg"
        },
        {
          "time": "20:52:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/003.jpg"
        },
        {
          "time": "20:52:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/004.jpg"
        },
        {
          "time": "20:52:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/005.jpg"
        },
        {
          "time": "20:52:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/006.jpg"
        },
        {
          "time": "20:52:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/007.jpg"
        },
        {
          "time": "20:52:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/008.jpg"
        },
        {
          "time": "20:52:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/009.jpg"
        },
        {
          "time": "20:52:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/010.jpg"
        },
        {
          "time": "20:52:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/011.jpg"
        },
        {
          "time": "20:52:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/012.jpg"
        },
        {
          "time": "20:52:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/013.jpg"
        },
        {
          "time": "20:52:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/014.jpg"
        },
        {
          "time": "20:52:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/015.jpg"
        },
        {
          "time": "20:52:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/016.jpg"
        },
        {
          "time": "20:52:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/017.jpg"
        },
        {
          "time": "20:52:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/018.jpg"
        },
        {
          "time": "20:52:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/019.jpg"
        },
        {
          "time": "20:52:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_041/020.jpg"
        },
        {
          "time": "20:52:56",
          "message": "  [>] 이미지 20/20개 처리 완료.\n"
        },
        {
          "time": "20:52:57",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23997/237013"
        },
        {
          "time": "20:52:58",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23997/237013"
        },
        {
          "time": "20:53:07",
          "message": "  [i] 회차 제목: 연장 아빠 42화"
        },
        {
          "time": "20:53:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/001.jpg"
        },
        {
          "time": "20:53:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/002.jpg"
        },
        {
          "time": "20:53:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/003.jpg"
        },
        {
          "time": "20:53:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/004.jpg"
        },
        {
          "time": "20:53:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/005.jpg"
        },
        {
          "time": "20:53:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/006.jpg"
        },
        {
          "time": "20:53:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/007.jpg"
        },
        {
          "time": "20:53:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/008.jpg"
        },
        {
          "time": "20:53:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/009.jpg"
        },
        {
          "time": "20:53:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/010.jpg"
        },
        {
          "time": "20:53:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/011.jpg"
        },
        {
          "time": "20:53:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/012.jpg"
        },
        {
          "time": "20:53:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/013.jpg"
        },
        {
          "time": "20:53:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/014.jpg"
        },
        {
          "time": "20:53:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/015.jpg"
        },
        {
          "time": "20:53:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/016.jpg"
        },
        {
          "time": "20:53:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/017.jpg"
        },
        {
          "time": "20:53:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/018.jpg"
        },
        {
          "time": "20:53:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/019.jpg"
        },
        {
          "time": "20:53:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_042/020.jpg"
        },
        {
          "time": "20:53:40",
          "message": "  [>] 이미지 20/20개 처리 완료.\n"
        },
        {
          "time": "20:53:42",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23997/237012"
        },
        {
          "time": "20:53:42",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23997/237012"
        },
        {
          "time": "20:53:51",
          "message": "  [i] 회차 제목: 연장 아빠 43화"
        },
        {
          "time": "20:53:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/001.jpg"
        },
        {
          "time": "20:53:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/002.jpg"
        },
        {
          "time": "20:53:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/003.jpg"
        },
        {
          "time": "20:53:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/004.jpg"
        },
        {
          "time": "20:53:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/005.jpg"
        },
        {
          "time": "20:53:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/006.jpg"
        },
        {
          "time": "20:54:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/007.jpg"
        },
        {
          "time": "20:54:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/008.jpg"
        },
        {
          "time": "20:54:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/009.jpg"
        },
        {
          "time": "20:54:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/010.jpg"
        },
        {
          "time": "20:54:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/011.jpg"
        },
        {
          "time": "20:54:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/012.jpg"
        },
        {
          "time": "20:54:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/013.jpg"
        },
        {
          "time": "20:54:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/014.jpg"
        },
        {
          "time": "20:54:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/015.jpg"
        },
        {
          "time": "20:54:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/016.jpg"
        },
        {
          "time": "20:54:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/017.jpg"
        },
        {
          "time": "20:54:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/018.jpg"
        },
        {
          "time": "20:54:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/019.jpg"
        },
        {
          "time": "20:54:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23997/ep_043/020.jpg"
        },
        {
          "time": "20:54:16",
          "message": "  [>] 이미지 20/20개 처리 완료.\n"
        },
        {
          "time": "20:54:18",
          "message": "완료: 회차 43개 처리, 이미지 862개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 43)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:08:22",
          "message": "작품 제목: 23997"
        },
        {
          "time": "06:18:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:18:44"
        },
        {
          "time": "06:18:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:18:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:37:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #297"
        },
        {
          "time": "21:37:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:38:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연장 아빠 - 아리마 타케시 | 뉴토끼, links=45"
        },
        {
          "time": "21:38:04",
          "message": "작품 제목: 연장 아빠 - 아리마 타케시"
        },
        {
          "time": "21:38:05",
          "message": "메타데이터 태그 저장: 아리마 타케시, 연장 아빠"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:03:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #126"
        },
        {
          "time": "14:03:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:04:11",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:04:11",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:14:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:14:40"
        },
        {
          "time": "14:14:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:14:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:08:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1506"
        },
        {
          "time": "14:08:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:08:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연장 아빠 - 아리마 타케시 | 뉴토끼, links=45"
        },
        {
          "time": "14:08:20",
          "message": "작품 제목: 연장 아빠 - 아리마 타케시"
        },
        {
          "time": "14:08:20",
          "message": "메타데이터 태그 저장: 아리마 타케시, 연장 아빠"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:58:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "16:58:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:58:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연장 아빠 - 아리마 타케시 | 뉴토끼, links=45"
        },
        {
          "time": "16:58:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "16:58:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:58:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연장 아빠 - 아리마 타케시 | 뉴토끼, links=45"
        },
        {
          "time": "16:58:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "16:58:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:58:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연장 아빠 - 아리마 타케시 | 뉴토끼, links=45"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:09:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #442"
        },
        {
          "time": "22:09:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:09:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연장 아빠 - 아리마 타케시 | 뉴토끼, links=45"
        },
        {
          "time": "22:10:23",
          "message": "작품 제목: 연장 아빠 - 아리마 타케시"
        },
        {
          "time": "22:10:23",
          "message": "메타데이터 태그 저장: 아리마 타케시, 연장 아빠"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:25:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #82"
        },
        {
          "time": "03:25:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:25:58",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:25:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #83"
        },
        {
          "time": "03:25:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:26:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연장 아빠 - 아리마 타케시 | 뉴토끼, links=45"
        },
        {
          "time": "03:26:12",
          "message": "작품 제목: 연장 아빠 - 아리마 타케시"
        },
        {
          "time": "03:26:13",
          "message": "메타데이터 태그 저장: 아리마 타케시, 연장 아빠"
        },
        {
          "time": "03:26:50",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T03:26:36 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:25:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #209"
        },
        {
          "time": "16:25:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:26:01",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:26:02",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:26:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #210"
        },
        {
          "time": "16:26:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:26:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연장 아빠 - 아리마 타케시 | 뉴토끼, links=45"
        },
        {
          "time": "16:26:47",
          "message": "작품 제목: 연장 아빠 - 아리마 타케시"
        },
        {
          "time": "16:26:47",
          "message": "메타데이터 태그 저장: 아리마 타케시, 연장 아빠"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:46:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1133"
        },
        {
          "time": "06:46:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:47:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=연장 아빠 - 아리마 타케시 | 뉴토끼, links=45"
        },
        {
          "time": "06:47:19",
          "message": "작품 제목: 연장 아빠 - 아리마 타케시"
        },
        {
          "time": "06:47:19",
          "message": "메타데이터 태그 저장: 아리마 타케시, 연장 아빠"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23997",
        "target_id": "manhwa_23997",
        "title": "연장 아빠 - 아리마 타케시",
        "episodes_found": 43,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 43,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23997",
          "title": "연장 아빠 - 아리마 타케시",
          "list_url": "https://newtoki1.org/manhwa/23997",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23997"
          },
          "tags": [
            "아리마 타케시",
            "연장 아빠"
          ],
          "description": "저는 엄연히 프로 겜블러입니다! - 작중 주인공이 가장 많이 외치는 대사. 그냥 자기합리화다.",
          "metadata_path": "/downloads/manhwa_23997/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 43,
        "total": 43,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "c67a5b2eff",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:03:14",
      "started_at": "2026-06-04T03:35:59",
      "finished_at": "2026-06-04T03:38:07",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/23187",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_23187",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "20:25:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_003/001.jpg"
        },
        {
          "time": "20:25:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_003/002.jpg"
        },
        {
          "time": "20:25:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_003/003.jpg"
        },
        {
          "time": "20:25:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_003/004.jpg"
        },
        {
          "time": "20:25:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_003/005.jpg"
        },
        {
          "time": "20:26:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_003/006.jpg"
        },
        {
          "time": "20:26:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_003/007.jpg"
        },
        {
          "time": "20:26:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_003/008.jpg"
        },
        {
          "time": "20:26:02",
          "message": "  [>] 이미지 8/8개 처리 완료.\n"
        },
        {
          "time": "20:26:03",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23187/219357"
        },
        {
          "time": "20:26:03",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23187/219357"
        },
        {
          "time": "20:26:13",
          "message": "  [i] 회차 제목: 어른을 글러먹게 만드는 간호사 키타노 씨 3화 어른을 글러먹게 만… 키타노 씨 3화"
        },
        {
          "time": "20:26:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/001.jpg"
        },
        {
          "time": "20:26:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/002.jpg"
        },
        {
          "time": "20:26:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/003.jpg"
        },
        {
          "time": "20:26:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/004.jpg"
        },
        {
          "time": "20:26:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/005.jpg"
        },
        {
          "time": "20:26:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/006.jpg"
        },
        {
          "time": "20:26:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/007.jpg"
        },
        {
          "time": "20:26:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/008.jpg"
        },
        {
          "time": "20:26:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/009.jpg"
        },
        {
          "time": "20:26:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/010.jpg"
        },
        {
          "time": "20:26:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/011.jpg"
        },
        {
          "time": "20:26:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/012.jpg"
        },
        {
          "time": "20:26:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/013.jpg"
        },
        {
          "time": "20:26:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/014.jpg"
        },
        {
          "time": "20:26:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/015.jpg"
        },
        {
          "time": "20:26:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/016.jpg"
        },
        {
          "time": "20:26:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/017.jpg"
        },
        {
          "time": "20:26:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/018.jpg"
        },
        {
          "time": "20:26:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/019.jpg"
        },
        {
          "time": "20:26:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_004/020.jpg"
        },
        {
          "time": "20:26:32",
          "message": "  [>] 이미지 20/20개 처리 완료.\n"
        },
        {
          "time": "20:26:33",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23187/219462"
        },
        {
          "time": "20:26:33",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23187/219462"
        },
        {
          "time": "20:26:42",
          "message": "  [i] 회차 제목: 어른을 글러먹게 만드는 간호사 키타노 씨 4화 어른을 글러먹게 만… 키타노 씨 4화"
        },
        {
          "time": "20:26:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/001.jpg"
        },
        {
          "time": "20:26:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/002.jpg"
        },
        {
          "time": "20:26:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/003.jpg"
        },
        {
          "time": "20:26:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/004.jpg"
        },
        {
          "time": "20:26:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/005.jpg"
        },
        {
          "time": "20:26:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/006.jpg"
        },
        {
          "time": "20:26:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/007.jpg"
        },
        {
          "time": "20:26:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/008.jpg"
        },
        {
          "time": "20:26:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/009.jpg"
        },
        {
          "time": "20:26:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/010.jpg"
        },
        {
          "time": "20:26:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/011.jpg"
        },
        {
          "time": "20:26:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/012.jpg"
        },
        {
          "time": "20:26:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/013.jpg"
        },
        {
          "time": "20:26:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_005/014.jpg"
        },
        {
          "time": "20:26:55",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "20:26:56",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23187/219456"
        },
        {
          "time": "20:26:56",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23187/219456"
        },
        {
          "time": "20:27:06",
          "message": "  [i] 회차 제목: 어른을 글러먹게 만드는 간호사 키타노 씨 5화 어른을 글러먹게 만… 키타노 씨 5화"
        },
        {
          "time": "20:27:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/001.jpg"
        },
        {
          "time": "20:27:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/002.jpg"
        },
        {
          "time": "20:27:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/003.jpg"
        },
        {
          "time": "20:27:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/004.jpg"
        },
        {
          "time": "20:27:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/005.jpg"
        },
        {
          "time": "20:27:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/006.jpg"
        },
        {
          "time": "20:27:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/007.jpg"
        },
        {
          "time": "20:27:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/008.jpg"
        },
        {
          "time": "20:27:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/009.jpg"
        },
        {
          "time": "20:27:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/010.jpg"
        },
        {
          "time": "20:27:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/011.jpg"
        },
        {
          "time": "20:27:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/012.jpg"
        },
        {
          "time": "20:27:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/013.jpg"
        },
        {
          "time": "20:27:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/014.jpg"
        },
        {
          "time": "20:27:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/015.jpg"
        },
        {
          "time": "20:27:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_23187/ep_006/016.jpg"
        },
        {
          "time": "20:27:22",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "20:27:23",
          "message": "완료: 회차 6개 처리, 이미지 105개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 6)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:08:27",
          "message": "작품 제목: 23187"
        },
        {
          "time": "06:18:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:18:44"
        },
        {
          "time": "06:18:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:18:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:37:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #296"
        },
        {
          "time": "21:37:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:37:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄 | 뉴토끼, links=8"
        },
        {
          "time": "21:37:49",
          "message": "작품 제목: 어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄"
        },
        {
          "time": "21:37:49",
          "message": "메타데이터 태그 저장: 어른을 글러먹게 만드는 간호사 키타노 씨, 젯쿄"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:04:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #127"
        },
        {
          "time": "14:04:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:04:34",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:05:06",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:15:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:15:56"
        },
        {
          "time": "14:15:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:15:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:09:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1507"
        },
        {
          "time": "14:09:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:09:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄 | 뉴토끼, links=8"
        },
        {
          "time": "14:10:07",
          "message": "작품 제목: 어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄"
        },
        {
          "time": "14:10:07",
          "message": "메타데이터 태그 저장: 어른을 글러먹게 만드는 간호사 키타노 씨, 젯쿄"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:57:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "16:57:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:58:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄 | 뉴토끼, links=8"
        },
        {
          "time": "16:58:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "16:58:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:58:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄 | 뉴토끼, links=8"
        },
        {
          "time": "16:58:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "16:58:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:58:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄 | 뉴토끼, links=8"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:08:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #441"
        },
        {
          "time": "22:08:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:09:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄 | 뉴토끼, links=8"
        },
        {
          "time": "22:09:37",
          "message": "작품 제목: 어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄"
        },
        {
          "time": "22:09:37",
          "message": "메타데이터 태그 저장: 어른을 글러먹게 만드는 간호사 키타노 씨, 젯쿄"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:26:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #84"
        },
        {
          "time": "03:26:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:27:46",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:27:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #85"
        },
        {
          "time": "03:27:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:27:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄 | 뉴토끼, links=8"
        },
        {
          "time": "03:27:56",
          "message": "작품 제목: 어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄"
        },
        {
          "time": "03:27:56",
          "message": "메타데이터 태그 저장: 어른을 글러먹게 만드는 간호사 키타노 씨, 젯쿄"
        },
        {
          "time": "05:26:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T05:25:52 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:59:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #255"
        },
        {
          "time": "16:59:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:00:03",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23187, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060402"
        },
        {
          "time": "17:00:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #256"
        },
        {
          "time": "17:00:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:00:26",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23187, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060408"
        },
        {
          "time": "17:00:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #257"
        },
        {
          "time": "17:00:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:00:47",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23187, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060410"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:02:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #833"
        },
        {
          "time": "02:02:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:02:43",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "02:02:43",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "02:02:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #834"
        },
        {
          "time": "02:02:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:03:03",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23187, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0635b8"
        },
        {
          "time": "02:03:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #835"
        },
        {
          "time": "02:03:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:03:48",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23187, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0635c7"
        },
        {
          "time": "02:03:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #836"
        },
        {
          "time": "02:03:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:04:09",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/23187, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0635d0"
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:37:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #887"
        },
        {
          "time": "03:37:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:37:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄 | 뉴토끼, links=8"
        },
        {
          "time": "03:38:06",
          "message": "작품 제목: 어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄"
        },
        {
          "time": "03:38:06",
          "message": "메타데이터 태그 저장: 어른을 글러먹게 만드는 간호사 키타노 씨, 젯쿄"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23187",
        "target_id": "manhwa_23187",
        "title": "어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄",
        "episodes_found": 6,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 6,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23187",
          "title": "어른을 글러먹게 만드는 간호사 키타노 씨 - 젯쿄",
          "list_url": "https://newtoki1.org/manhwa/23187",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23187"
          },
          "tags": [
            "어른을 글러먹게 만드는 간호사 키타노 씨",
            "젯쿄"
          ],
          "description": "하나도 안 아프니까, 이 누나만 믿어♥ 풀컬러로 만나는 순도 100% 치유계 간호사 키타노 씨! WEB을 들었다 놓은 화제의 작품이 마침내 정발!! 작가의 고집과 신념이 담긴 수준 높은 한 컷 한 컷 속에 달콤한 약이 숨겨져 있답니다♬",
          "metadata_path": "/downloads/manhwa_23187/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 6,
        "total": 6,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "bd0d2e73c8",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:03:02",
      "started_at": "2026-06-04T03:35:18",
      "finished_at": "2026-06-04T03:35:58",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "옆집의 소리 - .",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/19876",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_19876",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:18:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:19:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:19:52"
        },
        {
          "time": "15:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:26:42",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "23:27:59",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "23:27:59",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "23:27:59",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "23:28:00",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "23:28:00",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/19876"
        },
        {
          "time": "23:28:00",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/19876"
        },
        {
          "time": "23:28:20",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/19876\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/19876"
        },
        {
          "time": "23:39:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T23:39:57"
        },
        {
          "time": "23:39:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:39:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:21:46",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "01:23:04",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "01:23:04",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "01:23:04",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "01:23:04",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "01:23:04",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/19876"
        },
        {
          "time": "01:23:04",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/19876"
        },
        {
          "time": "01:23:24",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/19876\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/19876"
        },
        {
          "time": "01:33:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T01:33:24"
        },
        {
          "time": "01:33:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:33:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:41:11",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "04:42:31",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "04:42:31",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "04:42:31",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "04:42:31",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "04:42:31",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/19876"
        },
        {
          "time": "04:42:31",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/19876"
        },
        {
          "time": "04:42:51",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/19876\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/19876"
        },
        {
          "time": "04:53:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T04:53:09"
        },
        {
          "time": "04:53:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:53:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "20:20:23",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "20:21:22",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "20:21:22",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "20:21:22",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "20:21:22",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "20:21:22",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/19876"
        },
        {
          "time": "20:21:22",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/19876"
        },
        {
          "time": "20:21:46",
          "message": "작품 제목: 옆집의 소리 - ."
        },
        {
          "time": "20:21:46",
          "message": "메타데이터 저장: /downloads/manhwa_19876/metadata.yaml"
        },
        {
          "time": "20:21:46",
          "message": "메타데이터 태그 저장: ., 옆집의 소리"
        },
        {
          "time": "20:21:47",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "20:21:47",
          "message": "총 1개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "20:21:47",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/19876/137415"
        },
        {
          "time": "20:21:47",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/19876/137415"
        },
        {
          "time": "20:21:56",
          "message": "  [i] 회차 제목: 옆집의 소리 1화"
        },
        {
          "time": "20:22:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/001.jpg"
        },
        {
          "time": "20:22:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/002.jpg"
        },
        {
          "time": "20:22:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/003.jpg"
        },
        {
          "time": "20:22:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/004.jpg"
        },
        {
          "time": "20:22:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/005.jpg"
        },
        {
          "time": "20:22:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/006.jpg"
        },
        {
          "time": "20:22:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/007.jpg"
        },
        {
          "time": "20:22:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/008.jpg"
        },
        {
          "time": "20:22:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/009.jpg"
        },
        {
          "time": "20:22:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/010.jpg"
        },
        {
          "time": "20:22:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/011.jpg"
        },
        {
          "time": "20:22:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/012.jpg"
        },
        {
          "time": "20:22:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/013.jpg"
        },
        {
          "time": "20:22:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/014.jpg"
        },
        {
          "time": "20:22:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/015.jpg"
        },
        {
          "time": "20:22:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/016.jpg"
        },
        {
          "time": "20:22:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/017.jpg"
        },
        {
          "time": "20:22:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/018.jpg"
        },
        {
          "time": "20:22:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_19876/ep_001/019.jpg"
        },
        {
          "time": "20:22:27",
          "message": "  [>] 이미지 19/19개 처리 완료.\n"
        },
        {
          "time": "20:22:28",
          "message": "완료: 회차 1개 처리, 이미지 19개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:09:20",
          "message": "작품 제목: 옆집의 소리 - ."
        },
        {
          "time": "06:09:21",
          "message": "메타데이터 태그 저장: ., 옆집의 소리"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:36:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #295"
        },
        {
          "time": "21:36:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:36:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=옆집의 소리 - . | 뉴토끼, links=3"
        },
        {
          "time": "21:37:03",
          "message": "작품 제목: 옆집의 소리 - ."
        },
        {
          "time": "21:37:03",
          "message": "메타데이터 태그 저장: ., 옆집의 소리"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:05:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #128"
        },
        {
          "time": "14:05:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:05:27",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:05:28",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:15:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:15:56"
        },
        {
          "time": "14:15:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:15:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:10:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1508"
        },
        {
          "time": "14:10:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:10:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=옆집의 소리 - . | 뉴토끼, links=3"
        },
        {
          "time": "14:10:42",
          "message": "작품 제목: 옆집의 소리 - ."
        },
        {
          "time": "14:10:42",
          "message": "메타데이터 태그 저장: ., 옆집의 소리"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:57:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "16:57:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:57:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=옆집의 소리 - . | 뉴토끼, links=3"
        },
        {
          "time": "16:57:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "16:57:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:57:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=옆집의 소리 - . | 뉴토끼, links=3"
        },
        {
          "time": "16:57:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "16:57:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:57:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=옆집의 소리 - . | 뉴토끼, links=3"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:08:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #440"
        },
        {
          "time": "22:08:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:08:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=옆집의 소리 - . | 뉴토끼, links=3"
        },
        {
          "time": "22:08:18",
          "message": "작품 제목: 옆집의 소리 - ."
        },
        {
          "time": "22:08:18",
          "message": "메타데이터 태그 저장: ., 옆집의 소리"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:23:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "05:23:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:23:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=옆집의 소리 - . | 뉴토끼, links=3"
        },
        {
          "time": "05:23:48",
          "message": "작품 제목: 옆집의 소리 - ."
        },
        {
          "time": "05:23:48",
          "message": "메타데이터 태그 저장: ., 옆집의 소리"
        },
        {
          "time": "05:26:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T05:25:52 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:52:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #244"
        },
        {
          "time": "16:52:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:53:29",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:53:29",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:53:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #245"
        },
        {
          "time": "16:53:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:53:49",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/19876, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06036e"
        },
        {
          "time": "16:53:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #246"
        },
        {
          "time": "16:53:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:54:10",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/19876, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060375"
        },
        {
          "time": "16:54:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #247"
        },
        {
          "time": "16:54:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:54:32",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/19876, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06037e"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:59:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #830"
        },
        {
          "time": "01:59:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:00:33",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/19876, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a063572"
        },
        {
          "time": "02:01:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #831"
        },
        {
          "time": "02:01:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:01:25",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/19876, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a063592"
        },
        {
          "time": "02:01:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #832"
        },
        {
          "time": "02:01:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:01:46",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/19876, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a063598"
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:35:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #885"
        },
        {
          "time": "03:35:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:35:42",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:35:42",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:35:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #886"
        },
        {
          "time": "03:35:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:35:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=옆집의 소리 - . | 뉴토끼, links=3"
        },
        {
          "time": "03:35:57",
          "message": "작품 제목: 옆집의 소리 - ."
        },
        {
          "time": "03:35:58",
          "message": "메타데이터 태그 저장: ., 옆집의 소리"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_19876",
        "target_id": "manhwa_19876",
        "title": "옆집의 소리 - .",
        "episodes_found": 1,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 1,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_19876",
          "title": "옆집의 소리 - .",
          "list_url": "https://newtoki1.org/manhwa/19876",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/19876"
          },
          "tags": [
            ".",
            "옆집의 소리"
          ],
          "description": "옆집의 소리 (.)",
          "metadata_path": "/downloads/manhwa_19876/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "c7a6d15e96",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:00:39",
      "started_at": "2026-06-04T03:34:27",
      "finished_at": "2026-06-04T03:35:18",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "GTO - 후지사와 토오루",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/9030",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_9030",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "20:19:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/046.jpg"
        },
        {
          "time": "20:19:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/047.jpg"
        },
        {
          "time": "20:19:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/048.jpg"
        },
        {
          "time": "20:19:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/049.jpg"
        },
        {
          "time": "20:19:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/050.jpg"
        },
        {
          "time": "20:19:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/051.jpg"
        },
        {
          "time": "20:19:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/052.jpg"
        },
        {
          "time": "20:19:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/053.jpg"
        },
        {
          "time": "20:19:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/054.jpg"
        },
        {
          "time": "20:19:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/055.jpg"
        },
        {
          "time": "20:19:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/056.jpg"
        },
        {
          "time": "20:19:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/057.jpg"
        },
        {
          "time": "20:19:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/058.jpg"
        },
        {
          "time": "20:19:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/059.jpg"
        },
        {
          "time": "20:19:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/060.jpg"
        },
        {
          "time": "20:19:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/061.jpg"
        },
        {
          "time": "20:19:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/062.jpg"
        },
        {
          "time": "20:19:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/063.jpg"
        },
        {
          "time": "20:19:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/064.jpg"
        },
        {
          "time": "20:19:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/065.jpg"
        },
        {
          "time": "20:19:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/066.jpg"
        },
        {
          "time": "20:19:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/067.jpg"
        },
        {
          "time": "20:19:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/068.jpg"
        },
        {
          "time": "20:19:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/069.jpg"
        },
        {
          "time": "20:19:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/070.jpg"
        },
        {
          "time": "20:19:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/071.jpg"
        },
        {
          "time": "20:19:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/072.jpg"
        },
        {
          "time": "20:19:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/073.jpg"
        },
        {
          "time": "20:19:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/074.jpg"
        },
        {
          "time": "20:19:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/075.jpg"
        },
        {
          "time": "20:19:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/076.jpg"
        },
        {
          "time": "20:19:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/077.jpg"
        },
        {
          "time": "20:19:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/078.jpg"
        },
        {
          "time": "20:19:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/079.jpg"
        },
        {
          "time": "20:19:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/080.jpg"
        },
        {
          "time": "20:19:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/081.jpg"
        },
        {
          "time": "20:20:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/082.jpg"
        },
        {
          "time": "20:20:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/083.jpg"
        },
        {
          "time": "20:20:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/084.jpg"
        },
        {
          "time": "20:20:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/085.jpg"
        },
        {
          "time": "20:20:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/086.jpg"
        },
        {
          "time": "20:20:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/087.jpg"
        },
        {
          "time": "20:20:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/088.jpg"
        },
        {
          "time": "20:20:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/089.jpg"
        },
        {
          "time": "20:20:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/090.jpg"
        },
        {
          "time": "20:20:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/091.jpg"
        },
        {
          "time": "20:20:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/092.jpg"
        },
        {
          "time": "20:20:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/093.jpg"
        },
        {
          "time": "20:20:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/094.jpg"
        },
        {
          "time": "20:20:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/095.jpg"
        },
        {
          "time": "20:20:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/096.jpg"
        },
        {
          "time": "20:20:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/097.jpg"
        },
        {
          "time": "20:20:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/098.jpg"
        },
        {
          "time": "20:20:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/099.jpg"
        },
        {
          "time": "20:20:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9030/ep_040/100.jpg"
        },
        {
          "time": "20:20:22",
          "message": "  [>] 이미지 100/100개 처리 완료.\n"
        },
        {
          "time": "20:20:23",
          "message": "완료: 회차 40개 처리, 이미지 4166개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 40)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:09:56",
          "message": "작품 제목: 9030"
        },
        {
          "time": "06:20:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:20:01"
        },
        {
          "time": "06:20:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:20:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:35:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #294"
        },
        {
          "time": "21:35:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:35:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=GTO - 후지사와 토오루 | 뉴토끼, links=42"
        },
        {
          "time": "21:36:32",
          "message": "작품 제목: GTO - 후지사와 토오루"
        },
        {
          "time": "21:36:32",
          "message": "메타데이터 태그 저장: GTO, 후지사와 토오루"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:06:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #129"
        },
        {
          "time": "14:06:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:06:23",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:06:23",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:16:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:16:49"
        },
        {
          "time": "14:16:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:16:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:10:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1509"
        },
        {
          "time": "14:10:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:10:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=GTO - 후지사와 토오루 | 뉴토끼, links=42"
        },
        {
          "time": "14:10:58",
          "message": "작품 제목: GTO - 후지사와 토오루"
        },
        {
          "time": "14:10:58",
          "message": "메타데이터 태그 저장: GTO, 후지사와 토오루"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:56:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "16:56:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:57:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=GTO - 후지사와 토오루 | 뉴토끼, links=42"
        },
        {
          "time": "16:57:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "16:57:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:57:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=GTO - 후지사와 토오루 | 뉴토끼, links=42"
        },
        {
          "time": "16:57:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "16:57:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:57:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=GTO - 후지사와 토오루 | 뉴토끼, links=42"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:07:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #439"
        },
        {
          "time": "22:07:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:08:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=GTO - 후지사와 토오루 | 뉴토끼, links=42"
        },
        {
          "time": "22:08:03",
          "message": "작품 제목: GTO - 후지사와 토오루"
        },
        {
          "time": "22:08:03",
          "message": "메타데이터 태그 저장: GTO, 후지사와 토오루"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:24:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "05:24:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:24:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=GTO - 후지사와 토오루 | 뉴토끼, links=42"
        },
        {
          "time": "05:24:38",
          "message": "작품 제목: GTO - 후지사와 토오루"
        },
        {
          "time": "05:24:39",
          "message": "메타데이터 태그 저장: GTO, 후지사와 토오루"
        },
        {
          "time": "05:26:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T05:25:52 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:50:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #240"
        },
        {
          "time": "16:50:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:50:55",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:50:56",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:50:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #241"
        },
        {
          "time": "16:50:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:51:16",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:51:16",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "16:51:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #242"
        },
        {
          "time": "16:51:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:51:38",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:51:38",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "16:51:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #243"
        },
        {
          "time": "16:51:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:51:59",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "17:03:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-03T17:03:34"
        },
        {
          "time": "17:03:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:03:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "18:03:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #355"
        },
        {
          "time": "18:03:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:04:10",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "18:04:11",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "18:04:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #356"
        },
        {
          "time": "18:04:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:04:31",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/9030, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0609e9"
        },
        {
          "time": "18:04:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #357"
        },
        {
          "time": "18:04:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:04:52",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/9030, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0609ee"
        },
        {
          "time": "18:05:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #358"
        },
        {
          "time": "18:05:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:05:46",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/9030, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060a03"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:57:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #827"
        },
        {
          "time": "01:57:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:57:44",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/9030, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06353c"
        },
        {
          "time": "01:57:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #828"
        },
        {
          "time": "01:57:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:58:05",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/9030, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a063542"
        },
        {
          "time": "01:58:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #829"
        },
        {
          "time": "01:58:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:58:41",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/9030, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06354f"
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:35:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #884"
        },
        {
          "time": "03:35:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:35:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=GTO - 후지사와 토오루 | 뉴토끼, links=42"
        },
        {
          "time": "03:35:16",
          "message": "작품 제목: GTO - 후지사와 토오루"
        },
        {
          "time": "03:35:17",
          "message": "메타데이터 태그 저장: GTO, 후지사와 토오루"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_9030",
        "target_id": "manhwa_9030",
        "title": "GTO - 후지사와 토오루",
        "episodes_found": 40,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 40,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_9030",
          "title": "GTO - 후지사와 토오루",
          "list_url": "https://newtoki1.org/manhwa/9030",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/9030"
          },
          "tags": [
            "GTO",
            "후지사와 토오루"
          ],
          "description": "전작인 상남2인조의 주인공 중 한 명인 악귀 오니즈카 에이키치가 고등학교를 졸업하고 어른이 돼서 최고로 훌륭한 교사가 된다는 것이 기본적인 이야기. 기본적으로 주인공 에이키치 자신이 상남2인조 시절 등에서 쓰고 단맛을 모두 맛본 파란만장한 학창시절을 보냈기에, 선생이 된 이후에도 그",
          "metadata_path": "/downloads/manhwa_9030/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 40,
        "total": 40,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "7460281c36",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:00:29",
      "started_at": "2026-06-04T06:45:17",
      "finished_at": "2026-06-04T06:46:26",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "세인트 영멘 - 나카무라 히카루",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8876",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8876",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "18:52:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/057.jpg"
        },
        {
          "time": "18:52:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/058.jpg"
        },
        {
          "time": "18:52:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/059.jpg"
        },
        {
          "time": "18:52:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/060.jpg"
        },
        {
          "time": "18:52:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/061.jpg"
        },
        {
          "time": "18:52:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/062.jpg"
        },
        {
          "time": "18:52:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/063.jpg"
        },
        {
          "time": "18:52:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/064.jpg"
        },
        {
          "time": "18:52:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/065.jpg"
        },
        {
          "time": "18:52:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/066.jpg"
        },
        {
          "time": "18:52:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/067.jpg"
        },
        {
          "time": "18:52:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/068.jpg"
        },
        {
          "time": "18:52:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/069.jpg"
        },
        {
          "time": "18:52:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_021/070.jpg"
        },
        {
          "time": "18:52:30",
          "message": "  [>] 이미지 70/70개 처리 완료.\n"
        },
        {
          "time": "18:52:31",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8876/76347"
        },
        {
          "time": "18:52:32",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8876/76347"
        },
        {
          "time": "18:52:49",
          "message": "  [i] 회차 제목: 세인트 영멘 2화 세인트 영맨 1권 - 후"
        },
        {
          "time": "18:52:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/001.jpg"
        },
        {
          "time": "18:52:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/002.jpg"
        },
        {
          "time": "18:52:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/003.jpg"
        },
        {
          "time": "18:52:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/004.jpg"
        },
        {
          "time": "18:52:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/005.jpg"
        },
        {
          "time": "18:52:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/006.jpg"
        },
        {
          "time": "18:52:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/007.jpg"
        },
        {
          "time": "18:52:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/008.jpg"
        },
        {
          "time": "18:53:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/009.jpg"
        },
        {
          "time": "18:53:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/010.jpg"
        },
        {
          "time": "18:53:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/011.jpg"
        },
        {
          "time": "18:53:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/012.jpg"
        },
        {
          "time": "18:53:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/013.jpg"
        },
        {
          "time": "18:53:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/014.jpg"
        },
        {
          "time": "18:53:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/015.jpg"
        },
        {
          "time": "18:53:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/016.jpg"
        },
        {
          "time": "18:53:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/017.jpg"
        },
        {
          "time": "18:53:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/018.jpg"
        },
        {
          "time": "18:53:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/019.jpg"
        },
        {
          "time": "18:53:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/020.jpg"
        },
        {
          "time": "18:53:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/021.jpg"
        },
        {
          "time": "18:53:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/022.jpg"
        },
        {
          "time": "18:53:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/023.jpg"
        },
        {
          "time": "18:53:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/024.jpg"
        },
        {
          "time": "18:53:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/025.jpg"
        },
        {
          "time": "18:53:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/026.jpg"
        },
        {
          "time": "18:53:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/027.jpg"
        },
        {
          "time": "18:53:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/028.jpg"
        },
        {
          "time": "18:53:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/029.jpg"
        },
        {
          "time": "18:53:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/030.jpg"
        },
        {
          "time": "18:53:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/031.jpg"
        },
        {
          "time": "18:53:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/032.jpg"
        },
        {
          "time": "18:53:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/033.jpg"
        },
        {
          "time": "18:53:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/034.jpg"
        },
        {
          "time": "18:53:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/035.jpg"
        },
        {
          "time": "18:53:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/036.jpg"
        },
        {
          "time": "18:53:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/037.jpg"
        },
        {
          "time": "18:53:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/038.jpg"
        },
        {
          "time": "18:53:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/039.jpg"
        },
        {
          "time": "18:53:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/040.jpg"
        },
        {
          "time": "18:53:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/041.jpg"
        },
        {
          "time": "18:53:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/042.jpg"
        },
        {
          "time": "18:53:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/043.jpg"
        },
        {
          "time": "18:53:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/044.jpg"
        },
        {
          "time": "18:53:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/045.jpg"
        },
        {
          "time": "18:54:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/046.jpg"
        },
        {
          "time": "18:54:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/047.jpg"
        },
        {
          "time": "18:54:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/048.jpg"
        },
        {
          "time": "18:54:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/049.jpg"
        },
        {
          "time": "18:54:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/050.jpg"
        },
        {
          "time": "18:54:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/051.jpg"
        },
        {
          "time": "18:54:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/052.jpg"
        },
        {
          "time": "18:54:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/053.jpg"
        },
        {
          "time": "18:54:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/054.jpg"
        },
        {
          "time": "18:54:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/055.jpg"
        },
        {
          "time": "18:54:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/056.jpg"
        },
        {
          "time": "18:54:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/057.jpg"
        },
        {
          "time": "18:54:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/058.jpg"
        },
        {
          "time": "18:54:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/059.jpg"
        },
        {
          "time": "18:54:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/060.jpg"
        },
        {
          "time": "18:54:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/061.jpg"
        },
        {
          "time": "18:54:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/062.jpg"
        },
        {
          "time": "18:54:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/063.jpg"
        },
        {
          "time": "18:54:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/064.jpg"
        },
        {
          "time": "18:54:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/065.jpg"
        },
        {
          "time": "18:54:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/066.jpg"
        },
        {
          "time": "18:54:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/067.jpg"
        },
        {
          "time": "18:54:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/068.jpg"
        },
        {
          "time": "18:54:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/069.jpg"
        },
        {
          "time": "18:54:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/070.jpg"
        },
        {
          "time": "18:54:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/071.jpg"
        },
        {
          "time": "18:54:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_8876/ep_022/072.jpg"
        },
        {
          "time": "18:54:36",
          "message": "  [>] 이미지 72/72개 처리 완료.\n"
        },
        {
          "time": "18:54:37",
          "message": "완료: 회차 22개 처리, 이미지 1488개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 22)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:10:37",
          "message": "작품 제목: 8876"
        },
        {
          "time": "06:20:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:20:47"
        },
        {
          "time": "06:20:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:20:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:35:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #293"
        },
        {
          "time": "21:35:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:35:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세인트 영멘 - 나카무라 히카루 | 뉴토끼, links=24"
        },
        {
          "time": "21:35:41",
          "message": "작품 제목: 세인트 영멘 - 나카무라 히카루"
        },
        {
          "time": "21:35:41",
          "message": "메타데이터 태그 저장: 나카무라 히카루, 세인트 영멘"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:06:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #130"
        },
        {
          "time": "14:06:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:07:14",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:07:45",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:23:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:23:55"
        },
        {
          "time": "14:23:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:23:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:11:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1510"
        },
        {
          "time": "14:11:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:11:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세인트 영멘 - 나카무라 히카루 | 뉴토끼, links=24"
        },
        {
          "time": "14:11:14",
          "message": "작품 제목: 세인트 영멘 - 나카무라 히카루"
        },
        {
          "time": "14:11:14",
          "message": "메타데이터 태그 저장: 나카무라 히카루, 세인트 영멘"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:54:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #56"
        },
        {
          "time": "16:54:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:54:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세인트 영멘 - 나카무라 히카루 | 뉴토끼, links=24"
        },
        {
          "time": "16:54:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #57"
        },
        {
          "time": "16:54:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:55:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세인트 영멘 - 나카무라 히카루 | 뉴토끼, links=24"
        },
        {
          "time": "16:55:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #58"
        },
        {
          "time": "16:55:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:55:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세인트 영멘 - 나카무라 히카루 | 뉴토끼, links=24"
        },
        {
          "time": "16:56:34",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "17:10:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "17:10:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:10:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세인트 영멘 - 나카무라 히카루 | 뉴토끼, links=24"
        },
        {
          "time": "17:10:25",
          "message": "작품 제목: 세인트 영멘 - 나카무라 히카루"
        },
        {
          "time": "17:10:25",
          "message": "메타데이터 태그 저장: 나카무라 히카루, 세인트 영멘"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:55:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #62"
        },
        {
          "time": "14:55:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:56:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세인트 영멘 - 나카무라 히카루 | 뉴토끼, links=24"
        },
        {
          "time": "14:56:09",
          "message": "작품 제목: 세인트 영멘 - 나카무라 히카루"
        },
        {
          "time": "14:56:10",
          "message": "메타데이터 태그 저장: 나카무라 히카루, 세인트 영멘"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:45:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1131"
        },
        {
          "time": "06:45:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:46:12",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:46:12",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:46:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1132"
        },
        {
          "time": "06:46:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:46:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세인트 영멘 - 나카무라 히카루 | 뉴토끼, links=24"
        },
        {
          "time": "06:46:25",
          "message": "작품 제목: 세인트 영멘 - 나카무라 히카루"
        },
        {
          "time": "06:46:25",
          "message": "메타데이터 태그 저장: 나카무라 히카루, 세인트 영멘"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8876",
        "target_id": "manhwa_8876",
        "title": "세인트 영멘 - 나카무라 히카루",
        "episodes_found": 22,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 22,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8876",
          "title": "세인트 영멘 - 나카무라 히카루",
          "list_url": "https://newtoki1.org/manhwa/8876",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8876"
          },
          "tags": [
            "나카무라 히카루",
            "세인트 영멘"
          ],
          "description": "세기말도 끝나고, 그동안 눈 코 뜰새 없이 바쁘게 일했던 만큼 그럭저럭 바쁜 일이 일단락되자 두 성인은 모처럼 휴가를 내기로 결정한다. 지상으로 휴가를 떠나기로 한 예수, 그런 예수에게 이끌려 함께 내려온 부처. 일본에서 작은 방을 빌려 함께 동거하기 시작한 두 성인의 유쾌한 나날은",
          "metadata_path": "/downloads/manhwa_8876/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 22,
        "total": 22,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "6add2afa14",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T09:00:20",
      "started_at": "2026-06-04T03:33:49",
      "finished_at": "2026-06-04T03:34:26",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8530",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8530",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "18:14:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_009/015.jpg"
        },
        {
          "time": "18:14:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_009/016.jpg"
        },
        {
          "time": "18:14:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_009/017.jpg"
        },
        {
          "time": "18:14:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_009/018.jpg"
        },
        {
          "time": "18:14:08",
          "message": "  [>] 이미지 18/18개 처리 완료.\n"
        },
        {
          "time": "18:14:09",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8530/69460"
        },
        {
          "time": "18:14:09",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8530/69460"
        },
        {
          "time": "18:14:18",
          "message": "  [i] 회차 제목: 일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ 2-5화 통상공격이 전체공격…하세요？ 2-5화"
        },
        {
          "time": "18:14:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/001.jpg"
        },
        {
          "time": "18:14:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/002.jpg"
        },
        {
          "time": "18:14:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/003.jpg"
        },
        {
          "time": "18:14:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/004.jpg"
        },
        {
          "time": "18:14:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/005.jpg"
        },
        {
          "time": "18:14:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/006.jpg"
        },
        {
          "time": "18:14:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/007.jpg"
        },
        {
          "time": "18:14:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/008.jpg"
        },
        {
          "time": "18:14:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/009.jpg"
        },
        {
          "time": "18:14:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/010.jpg"
        },
        {
          "time": "18:14:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/011.jpg"
        },
        {
          "time": "18:14:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/012.jpg"
        },
        {
          "time": "18:14:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/013.jpg"
        },
        {
          "time": "18:14:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_010/014.jpg"
        },
        {
          "time": "18:14:37",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "18:14:38",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8530/69459"
        },
        {
          "time": "18:14:38",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8530/69459"
        },
        {
          "time": "18:14:47",
          "message": "  [i] 회차 제목: 일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ 3화 통상공격이 전체공격…좋아하세요？ 3화"
        },
        {
          "time": "18:14:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_011/001.jpg"
        },
        {
          "time": "18:14:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_011/002.jpg"
        },
        {
          "time": "18:14:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_011/003.jpg"
        },
        {
          "time": "18:14:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_011/004.jpg"
        },
        {
          "time": "18:14:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_011/005.jpg"
        },
        {
          "time": "18:14:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_011/006.jpg"
        },
        {
          "time": "18:14:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_011/007.jpg"
        },
        {
          "time": "18:14:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_011/008.jpg"
        },
        {
          "time": "18:14:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_011/009.jpg"
        },
        {
          "time": "18:14:57",
          "message": "  [>] 이미지 9/9개 처리 완료.\n"
        },
        {
          "time": "18:14:58",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8530/69458"
        },
        {
          "time": "18:14:58",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8530/69458"
        },
        {
          "time": "18:15:08",
          "message": "  [i] 회차 제목: 일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ 3-2화 통상공격이 전체공격…하세요？ 3-2화"
        },
        {
          "time": "18:15:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_012/001.jpg"
        },
        {
          "time": "18:15:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_012/002.jpg"
        },
        {
          "time": "18:15:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_012/003.jpg"
        },
        {
          "time": "18:15:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_012/004.jpg"
        },
        {
          "time": "18:15:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_012/005.jpg"
        },
        {
          "time": "18:15:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_012/006.jpg"
        },
        {
          "time": "18:15:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_012/007.jpg"
        },
        {
          "time": "18:15:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_012/008.jpg"
        },
        {
          "time": "18:15:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_012/009.jpg"
        },
        {
          "time": "18:15:16",
          "message": "  [>] 이미지 9/9개 처리 완료.\n"
        },
        {
          "time": "18:15:17",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8530/69457"
        },
        {
          "time": "18:15:17",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8530/69457"
        },
        {
          "time": "18:15:26",
          "message": "  [i] 회차 제목: 일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ 3-3화 통상공격이 전체공격…하세요？ 3-3화"
        },
        {
          "time": "18:15:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_013/001.jpg"
        },
        {
          "time": "18:15:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_013/002.jpg"
        },
        {
          "time": "18:15:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_013/003.jpg"
        },
        {
          "time": "18:15:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_013/004.jpg"
        },
        {
          "time": "18:15:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_013/005.jpg"
        },
        {
          "time": "18:15:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_013/006.jpg"
        },
        {
          "time": "18:15:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_013/007.jpg"
        },
        {
          "time": "18:15:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_013/008.jpg"
        },
        {
          "time": "18:15:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_013/009.jpg"
        },
        {
          "time": "18:15:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_8530/ep_013/010.jpg"
        },
        {
          "time": "18:15:36",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "18:15:37",
          "message": "완료: 회차 13개 처리, 이미지 172개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 13)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:11:13",
          "message": "작품 제목: 8530"
        },
        {
          "time": "06:21:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:21:28"
        },
        {
          "time": "06:21:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:21:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:35:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #292"
        },
        {
          "time": "21:35:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:35:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠 | 뉴토끼, links=15"
        },
        {
          "time": "21:35:26",
          "message": "작품 제목: 일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠"
        },
        {
          "time": "21:35:26",
          "message": "메타데이터 태그 저장: 메이챠"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:08:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #131"
        },
        {
          "time": "14:08:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:09:02",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:09:02",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:23:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:23:55"
        },
        {
          "time": "14:23:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:23:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:11:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1511"
        },
        {
          "time": "14:11:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:11:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠 | 뉴토끼, links=15"
        },
        {
          "time": "14:11:32",
          "message": "작품 제목: 일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠"
        },
        {
          "time": "14:11:32",
          "message": "메타데이터 태그 저장: 메이챠"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:53:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #53"
        },
        {
          "time": "16:53:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:54:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠 | 뉴토끼, links=15"
        },
        {
          "time": "16:54:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #54"
        },
        {
          "time": "16:54:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:54:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠 | 뉴토끼, links=15"
        },
        {
          "time": "16:54:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #55"
        },
        {
          "time": "16:54:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:54:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠 | 뉴토끼, links=15"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:07:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #438"
        },
        {
          "time": "22:07:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:07:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠 | 뉴토끼, links=15"
        },
        {
          "time": "22:07:47",
          "message": "작품 제목: 일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠"
        },
        {
          "time": "22:07:47",
          "message": "메타데이터 태그 저장: 메이챠"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:24:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "05:24:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:25:03",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:25:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "05:25:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:25:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠 | 뉴토끼, links=15"
        },
        {
          "time": "05:25:47",
          "message": "작품 제목: 일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠"
        },
        {
          "time": "05:25:47",
          "message": "메타데이터 태그 저장: 메이챠"
        },
        {
          "time": "05:26:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-03T05:25:52 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:47:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #236"
        },
        {
          "time": "16:47:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:48:01",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "16:48:01",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:48:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #237"
        },
        {
          "time": "16:48:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:48:22",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/8530, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0602f0"
        },
        {
          "time": "16:48:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #238"
        },
        {
          "time": "16:48:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:49:13",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/8530, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060301"
        },
        {
          "time": "16:49:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #239"
        },
        {
          "time": "16:49:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:49:35",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/8530, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06030a"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:54:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #823"
        },
        {
          "time": "01:54:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:55:21",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "01:55:21",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "01:55:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #824"
        },
        {
          "time": "01:55:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:55:42",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/8530, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06350a"
        },
        {
          "time": "01:55:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #825"
        },
        {
          "time": "01:55:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:56:02",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/8530, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a063512"
        },
        {
          "time": "01:56:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #826"
        },
        {
          "time": "01:56:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:56:58",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/8530, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a063527"
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:33:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #882"
        },
        {
          "time": "03:33:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:34:11",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:34:11",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:34:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #883"
        },
        {
          "time": "03:34:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:34:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠 | 뉴토끼, links=15"
        },
        {
          "time": "03:34:25",
          "message": "작품 제목: 일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠"
        },
        {
          "time": "03:34:26",
          "message": "메타데이터 태그 저장: 메이챠"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8530",
        "target_id": "manhwa_8530",
        "title": "일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠",
        "episodes_found": 13,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 13,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8530",
          "title": "일반공격이 전체공격에 2회 공격인 엄마는 좋아하세요？ - 메이챠",
          "list_url": "https://newtoki1.org/manhwa/8530",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8530"
          },
          "tags": [
            "메이챠"
          ],
          "description": "“이제부터 이 엄마와 함께 실컷 모험을 하는 거야.” “맙소사…….” 고교생 오오스키 마사토는 그렇게 염원하던 게임세계로 전송되지만, 어찌된 영문인지 그의 어머니이자 아들이라면 껌뻑 죽는 마마코도 따라오는데?! 길드에서는 「아들의 연인이 될지도 모르는 애들이니까」라는 이유로 마사토가",
          "metadata_path": "/downloads/manhwa_8530/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 13,
        "total": 13,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "348222cb77",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:59:43",
      "started_at": "2026-06-04T06:43:55",
      "finished_at": "2026-06-04T06:45:17",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "마호로매틱(사이버 걸 마호로) - 나카야마 분주로",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/9386",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_9386",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "00:51:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_007/081.jpg"
        },
        {
          "time": "00:51:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_007/082.jpg"
        },
        {
          "time": "00:51:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_007/083.jpg"
        },
        {
          "time": "00:51:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_007/084.jpg"
        },
        {
          "time": "00:51:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_007/085.jpg"
        },
        {
          "time": "00:51:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_007/086.jpg"
        },
        {
          "time": "00:51:46",
          "message": "  [>] 이미지 86/86개 처리 완료.\n"
        },
        {
          "time": "00:51:47",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9386/86742"
        },
        {
          "time": "00:51:47",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9386/86742"
        },
        {
          "time": "00:52:13",
          "message": "  [i] 회차 제목: 마호로매틱(사이버 걸 마호로) 2화 마호로매틱 02권"
        },
        {
          "time": "00:52:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/001.jpg"
        },
        {
          "time": "00:52:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/002.jpg"
        },
        {
          "time": "00:52:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/003.jpg"
        },
        {
          "time": "00:52:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/004.jpg"
        },
        {
          "time": "00:52:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/005.jpg"
        },
        {
          "time": "00:52:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/006.jpg"
        },
        {
          "time": "00:52:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/007.jpg"
        },
        {
          "time": "00:52:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/008.jpg"
        },
        {
          "time": "00:52:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/009.jpg"
        },
        {
          "time": "00:52:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/010.jpg"
        },
        {
          "time": "00:52:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/011.jpg"
        },
        {
          "time": "00:52:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/012.jpg"
        },
        {
          "time": "00:52:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/013.jpg"
        },
        {
          "time": "00:52:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/014.jpg"
        },
        {
          "time": "00:52:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/015.jpg"
        },
        {
          "time": "00:52:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/016.jpg"
        },
        {
          "time": "00:52:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/017.jpg"
        },
        {
          "time": "00:52:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/018.jpg"
        },
        {
          "time": "00:52:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/019.jpg"
        },
        {
          "time": "00:52:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/020.jpg"
        },
        {
          "time": "00:52:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/021.jpg"
        },
        {
          "time": "00:52:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/022.jpg"
        },
        {
          "time": "00:52:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/023.jpg"
        },
        {
          "time": "00:52:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/024.jpg"
        },
        {
          "time": "00:52:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/025.jpg"
        },
        {
          "time": "00:52:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/026.jpg"
        },
        {
          "time": "00:52:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/027.jpg"
        },
        {
          "time": "00:52:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/028.jpg"
        },
        {
          "time": "00:52:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/029.jpg"
        },
        {
          "time": "00:52:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/030.jpg"
        },
        {
          "time": "00:52:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/031.jpg"
        },
        {
          "time": "00:52:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/032.jpg"
        },
        {
          "time": "00:52:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/033.jpg"
        },
        {
          "time": "00:52:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/034.jpg"
        },
        {
          "time": "00:52:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/035.jpg"
        },
        {
          "time": "00:52:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/036.jpg"
        },
        {
          "time": "00:52:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/037.jpg"
        },
        {
          "time": "00:52:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/038.jpg"
        },
        {
          "time": "00:53:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/039.jpg"
        },
        {
          "time": "00:53:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/040.jpg"
        },
        {
          "time": "00:53:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/041.jpg"
        },
        {
          "time": "00:53:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/042.jpg"
        },
        {
          "time": "00:53:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/043.jpg"
        },
        {
          "time": "00:53:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/044.jpg"
        },
        {
          "time": "00:53:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/045.jpg"
        },
        {
          "time": "00:53:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/046.jpg"
        },
        {
          "time": "00:53:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/047.jpg"
        },
        {
          "time": "00:53:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/048.jpg"
        },
        {
          "time": "00:53:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/049.jpg"
        },
        {
          "time": "00:53:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/050.jpg"
        },
        {
          "time": "00:53:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/051.jpg"
        },
        {
          "time": "00:53:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/052.jpg"
        },
        {
          "time": "00:53:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/053.jpg"
        },
        {
          "time": "00:53:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/054.jpg"
        },
        {
          "time": "00:53:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/055.jpg"
        },
        {
          "time": "00:53:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/056.jpg"
        },
        {
          "time": "00:53:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/057.jpg"
        },
        {
          "time": "00:53:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/058.jpg"
        },
        {
          "time": "00:53:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/059.jpg"
        },
        {
          "time": "00:53:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/060.jpg"
        },
        {
          "time": "00:53:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/061.jpg"
        },
        {
          "time": "00:53:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/062.jpg"
        },
        {
          "time": "00:53:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/063.jpg"
        },
        {
          "time": "00:53:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/064.jpg"
        },
        {
          "time": "00:53:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/065.jpg"
        },
        {
          "time": "00:53:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/066.jpg"
        },
        {
          "time": "00:53:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/067.jpg"
        },
        {
          "time": "00:53:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/068.jpg"
        },
        {
          "time": "00:53:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/069.jpg"
        },
        {
          "time": "00:53:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/070.jpg"
        },
        {
          "time": "00:53:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/071.jpg"
        },
        {
          "time": "00:53:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/072.jpg"
        },
        {
          "time": "00:53:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/073.jpg"
        },
        {
          "time": "00:53:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/074.jpg"
        },
        {
          "time": "00:53:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/075.jpg"
        },
        {
          "time": "00:53:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/076.jpg"
        },
        {
          "time": "00:53:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/077.jpg"
        },
        {
          "time": "00:53:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/078.jpg"
        },
        {
          "time": "00:53:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/079.jpg"
        },
        {
          "time": "00:53:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/080.jpg"
        },
        {
          "time": "00:53:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/081.jpg"
        },
        {
          "time": "00:53:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9386/ep_008/082.jpg"
        },
        {
          "time": "00:53:47",
          "message": "  [>] 이미지 82/82개 처리 완료.\n"
        },
        {
          "time": "00:53:48",
          "message": "완료: 회차 8개 처리, 이미지 741개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:58",
          "message": "작품 제목: 9386"
        },
        {
          "time": "06:05:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:05:10"
        },
        {
          "time": "06:05:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:05:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:34:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #291"
        },
        {
          "time": "21:34:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:34:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마호로매틱(사이버 걸 마호로) - 나카야마 분주로 | 뉴토끼, links=10"
        },
        {
          "time": "21:35:10",
          "message": "작품 제목: 마호로매틱(사이버 걸 마호로) - 나카야마 분주로"
        },
        {
          "time": "21:35:10",
          "message": "메타데이터 태그 저장: 나카야마 분주로, 마호로매틱(사이버 걸 마호로"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:10:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #132"
        },
        {
          "time": "14:10:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:10:24",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:10:25",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:23:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:23:55"
        },
        {
          "time": "14:23:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:23:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:12:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1512"
        },
        {
          "time": "14:12:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:12:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마호로매틱(사이버 걸 마호로) - 나카야마 분주로 | 뉴토끼, links=10"
        },
        {
          "time": "14:12:20",
          "message": "작품 제목: 마호로매틱(사이버 걸 마호로) - 나카야마 분주로"
        },
        {
          "time": "14:12:20",
          "message": "메타데이터 태그 저장: 나카야마 분주로, 마호로매틱(사이버 걸 마호로"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:52:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #50"
        },
        {
          "time": "16:52:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:52:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마호로매틱(사이버 걸 마호로) - 나카야마 분주로 | 뉴토끼, links=10"
        },
        {
          "time": "16:52:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #51"
        },
        {
          "time": "16:52:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:53:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마호로매틱(사이버 걸 마호로) - 나카야마 분주로 | 뉴토끼, links=10"
        },
        {
          "time": "16:53:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #52"
        },
        {
          "time": "16:53:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:53:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마호로매틱(사이버 걸 마호로) - 나카야마 분주로 | 뉴토끼, links=10"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:07:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #437"
        },
        {
          "time": "22:07:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:07:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마호로매틱(사이버 걸 마호로) - 나카야마 분주로 | 뉴토끼, links=10"
        },
        {
          "time": "22:07:33",
          "message": "작품 제목: 마호로매틱(사이버 걸 마호로) - 나카야마 분주로"
        },
        {
          "time": "22:07:33",
          "message": "메타데이터 태그 저장: 나카야마 분주로, 마호로매틱(사이버 걸 마호로"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:25:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "05:25:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:26:11",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:26:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "05:26:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:26:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마호로매틱(사이버 걸 마호로) - 나카야마 분주로 | 뉴토끼, links=10"
        },
        {
          "time": "05:27:13",
          "message": "작품 제목: 마호로매틱(사이버 걸 마호로) - 나카야마 분주로"
        },
        {
          "time": "05:27:13",
          "message": "메타데이터 태그 저장: 나카야마 분주로, 마호로매틱(사이버 걸 마호로"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:44:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1130"
        },
        {
          "time": "06:44:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:44:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마호로매틱(사이버 걸 마호로) - 나카야마 분주로 | 뉴토끼, links=10"
        },
        {
          "time": "06:45:16",
          "message": "작품 제목: 마호로매틱(사이버 걸 마호로) - 나카야마 분주로"
        },
        {
          "time": "06:45:17",
          "message": "메타데이터 태그 저장: 나카야마 분주로, 마호로매틱(사이버 걸 마호로"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_9386",
        "target_id": "manhwa_9386",
        "title": "마호로매틱(사이버 걸 마호로) - 나카야마 분주로",
        "episodes_found": 8,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 8,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_9386",
          "title": "마호로매틱(사이버 걸 마호로) - 나카야마 분주로",
          "list_url": "https://newtoki1.org/manhwa/9386",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/9386"
          },
          "tags": [
            "나카야마 분주로",
            "마호로매틱(사이버 걸 마호로"
          ],
          "description": "우주에서 온 침략자에 대항하기 위해 결성된 조직 `베스파`가 만들어 낸 최강의 전투용 안드로이드 `MAHORO V1046-R`, 통칭 `마호로`는 어느 날 임무 보고에서 그 동안의 공적에 대한 보상으로 임무에서 해방되어 남겨진 시간을 자유롭게 쓸 수 있는 권한을 부여받는다. 이에 마호로",
          "metadata_path": "/downloads/manhwa_9386/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 8,
        "total": 8,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "699d790ff4",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:58:59",
      "started_at": "2026-06-04T03:33:11",
      "finished_at": "2026-06-04T03:33:49",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "시마부장 - 호시노 릴리",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/7569",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_7569",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "18:06:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/040.jpg"
        },
        {
          "time": "18:06:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/041.jpg"
        },
        {
          "time": "18:06:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/042.jpg"
        },
        {
          "time": "18:06:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/043.jpg"
        },
        {
          "time": "18:06:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/044.jpg"
        },
        {
          "time": "18:06:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/045.jpg"
        },
        {
          "time": "18:06:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/046.jpg"
        },
        {
          "time": "18:06:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/047.jpg"
        },
        {
          "time": "18:06:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/048.jpg"
        },
        {
          "time": "18:06:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/049.jpg"
        },
        {
          "time": "18:06:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/050.jpg"
        },
        {
          "time": "18:06:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/051.jpg"
        },
        {
          "time": "18:06:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/052.jpg"
        },
        {
          "time": "18:06:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/053.jpg"
        },
        {
          "time": "18:06:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/054.jpg"
        },
        {
          "time": "18:06:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/055.jpg"
        },
        {
          "time": "18:06:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/056.jpg"
        },
        {
          "time": "18:06:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/057.jpg"
        },
        {
          "time": "18:06:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/058.jpg"
        },
        {
          "time": "18:06:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/059.jpg"
        },
        {
          "time": "18:06:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/060.jpg"
        },
        {
          "time": "18:06:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/061.jpg"
        },
        {
          "time": "18:06:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/062.jpg"
        },
        {
          "time": "18:06:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/063.jpg"
        },
        {
          "time": "18:06:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/064.jpg"
        },
        {
          "time": "18:06:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/065.jpg"
        },
        {
          "time": "18:06:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/066.jpg"
        },
        {
          "time": "18:06:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/067.jpg"
        },
        {
          "time": "18:06:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/068.jpg"
        },
        {
          "time": "18:06:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/069.jpg"
        },
        {
          "time": "18:06:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/070.jpg"
        },
        {
          "time": "18:06:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/071.jpg"
        },
        {
          "time": "18:06:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/072.jpg"
        },
        {
          "time": "18:06:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/073.jpg"
        },
        {
          "time": "18:06:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/074.jpg"
        },
        {
          "time": "18:06:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/075.jpg"
        },
        {
          "time": "18:06:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/076.jpg"
        },
        {
          "time": "18:06:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/077.jpg"
        },
        {
          "time": "18:06:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/078.jpg"
        },
        {
          "time": "18:06:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/079.jpg"
        },
        {
          "time": "18:06:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/080.jpg"
        },
        {
          "time": "18:06:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/081.jpg"
        },
        {
          "time": "18:06:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/082.jpg"
        },
        {
          "time": "18:06:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/083.jpg"
        },
        {
          "time": "18:06:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/084.jpg"
        },
        {
          "time": "18:06:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/085.jpg"
        },
        {
          "time": "18:06:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/086.jpg"
        },
        {
          "time": "18:07:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/087.jpg"
        },
        {
          "time": "18:07:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/088.jpg"
        },
        {
          "time": "18:07:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/089.jpg"
        },
        {
          "time": "18:07:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/090.jpg"
        },
        {
          "time": "18:07:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/091.jpg"
        },
        {
          "time": "18:07:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/092.jpg"
        },
        {
          "time": "18:07:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/093.jpg"
        },
        {
          "time": "18:07:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/094.jpg"
        },
        {
          "time": "18:07:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/095.jpg"
        },
        {
          "time": "18:07:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/096.jpg"
        },
        {
          "time": "18:07:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/097.jpg"
        },
        {
          "time": "18:07:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/098.jpg"
        },
        {
          "time": "18:07:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/099.jpg"
        },
        {
          "time": "18:07:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/100.jpg"
        },
        {
          "time": "18:07:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/101.jpg"
        },
        {
          "time": "18:07:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/102.jpg"
        },
        {
          "time": "18:07:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/103.jpg"
        },
        {
          "time": "18:07:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/104.jpg"
        },
        {
          "time": "18:07:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/105.jpg"
        },
        {
          "time": "18:07:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/106.jpg"
        },
        {
          "time": "18:07:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_7569/ep_013/107.jpg"
        },
        {
          "time": "18:07:18",
          "message": "  [>] 이미지 107/107개 처리 완료.\n"
        },
        {
          "time": "18:07:19",
          "message": "완료: 회차 13개 처리, 이미지 1463개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 13)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:12:25",
          "message": "작품 제목: 7569"
        },
        {
          "time": "06:22:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:22:29"
        },
        {
          "time": "06:22:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:22:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:34:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #290"
        },
        {
          "time": "21:34:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:34:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마부장 - 호시노 릴리 | 뉴토끼, links=15"
        },
        {
          "time": "21:34:20",
          "message": "작품 제목: 시마부장 - 호시노 릴리"
        },
        {
          "time": "21:34:20",
          "message": "메타데이터 태그 저장: 시마부장, 호시노 릴리"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:10:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #133"
        },
        {
          "time": "14:10:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:10:48",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:10:48",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:23:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:23:55"
        },
        {
          "time": "14:23:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:23:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:12:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1513"
        },
        {
          "time": "14:12:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:13:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마부장 - 호시노 릴리 | 뉴토끼, links=15"
        },
        {
          "time": "14:13:37",
          "message": "작품 제목: 시마부장 - 호시노 릴리"
        },
        {
          "time": "14:13:37",
          "message": "메타데이터 태그 저장: 시마부장, 호시노 릴리"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:52:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #47"
        },
        {
          "time": "16:52:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:52:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마부장 - 호시노 릴리 | 뉴토끼, links=15"
        },
        {
          "time": "16:52:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #48"
        },
        {
          "time": "16:52:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:52:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마부장 - 호시노 릴리 | 뉴토끼, links=15"
        },
        {
          "time": "16:52:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #49"
        },
        {
          "time": "16:52:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:52:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마부장 - 호시노 릴리 | 뉴토끼, links=15"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:07:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #436"
        },
        {
          "time": "22:07:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:07:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마부장 - 호시노 릴리 | 뉴토끼, links=15"
        },
        {
          "time": "22:07:18",
          "message": "작품 제목: 시마부장 - 호시노 릴리"
        },
        {
          "time": "22:07:18",
          "message": "메타데이터 태그 저장: 시마부장, 호시노 릴리"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:12:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-03T10:12:28"
        },
        {
          "time": "10:12:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:12:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "17:01:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #258"
        },
        {
          "time": "17:01:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:01:42",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "17:01:42",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "17:01:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #259"
        },
        {
          "time": "17:01:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:02:03",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/7569, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060430"
        },
        {
          "time": "17:02:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #260"
        },
        {
          "time": "17:02:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:02:24",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/7569, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060436"
        },
        {
          "time": "17:02:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #261"
        },
        {
          "time": "17:02:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:03:18",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/7569, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06044b"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:53:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #819"
        },
        {
          "time": "01:53:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:53:21",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "01:53:21",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "01:53:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #820"
        },
        {
          "time": "01:53:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:53:42",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/7569, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0634dd"
        },
        {
          "time": "01:53:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #821"
        },
        {
          "time": "01:53:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:54:02",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/7569, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0634e3"
        },
        {
          "time": "01:54:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #822"
        },
        {
          "time": "01:54:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:54:24",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/7569, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0634eb"
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:33:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #880"
        },
        {
          "time": "03:33:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:33:33",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:33:33",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:33:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #881"
        },
        {
          "time": "03:33:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:33:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마부장 - 호시노 릴리 | 뉴토끼, links=15"
        },
        {
          "time": "03:33:48",
          "message": "작품 제목: 시마부장 - 호시노 릴리"
        },
        {
          "time": "03:33:48",
          "message": "메타데이터 태그 저장: 시마부장, 호시노 릴리"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_7569",
        "target_id": "manhwa_7569",
        "title": "시마부장 - 호시노 릴리",
        "episodes_found": 13,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 13,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_7569",
          "title": "시마부장 - 호시노 릴리",
          "list_url": "https://newtoki1.org/manhwa/7569",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/7569"
          },
          "tags": [
            "시마부장",
            "호시노 릴리"
          ],
          "description": "하츠시바전산이라는 거대한 조직 속에서 자신의 뜻에 따라 충실히 살아가려고 한다. 종합선전과가 단독적인 부로 승격된 것을 계기로 시마는 과장에서 부장으로 승진한다.",
          "metadata_path": "/downloads/manhwa_7569/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 13,
        "total": 13,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "dfa1733059",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:56:38",
      "started_at": "2026-06-04T06:41:59",
      "finished_at": "2026-06-04T06:43:55",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "미도리의 나날 - 이노우에 카즈로",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3111",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3111",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "17:34:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/006.jpg"
        },
        {
          "time": "17:34:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/007.jpg"
        },
        {
          "time": "17:34:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/008.jpg"
        },
        {
          "time": "17:34:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/009.jpg"
        },
        {
          "time": "17:34:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/010.jpg"
        },
        {
          "time": "17:34:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/011.jpg"
        },
        {
          "time": "17:34:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/012.jpg"
        },
        {
          "time": "17:34:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/013.jpg"
        },
        {
          "time": "17:34:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/014.jpg"
        },
        {
          "time": "17:34:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/015.jpg"
        },
        {
          "time": "17:34:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/016.jpg"
        },
        {
          "time": "17:34:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/017.jpg"
        },
        {
          "time": "17:35:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/018.jpg"
        },
        {
          "time": "17:35:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/019.jpg"
        },
        {
          "time": "17:35:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/020.jpg"
        },
        {
          "time": "17:35:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/021.jpg"
        },
        {
          "time": "17:35:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/022.jpg"
        },
        {
          "time": "17:35:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/023.jpg"
        },
        {
          "time": "17:35:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/024.jpg"
        },
        {
          "time": "17:35:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/025.jpg"
        },
        {
          "time": "17:35:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/026.jpg"
        },
        {
          "time": "17:35:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/027.jpg"
        },
        {
          "time": "17:35:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/028.jpg"
        },
        {
          "time": "17:35:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/029.jpg"
        },
        {
          "time": "17:35:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/030.jpg"
        },
        {
          "time": "17:35:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/031.jpg"
        },
        {
          "time": "17:35:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/032.jpg"
        },
        {
          "time": "17:35:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/033.jpg"
        },
        {
          "time": "17:35:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/034.jpg"
        },
        {
          "time": "17:35:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/035.jpg"
        },
        {
          "time": "17:35:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/036.jpg"
        },
        {
          "time": "17:35:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/037.jpg"
        },
        {
          "time": "17:35:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/038.jpg"
        },
        {
          "time": "17:35:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/039.jpg"
        },
        {
          "time": "17:35:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/040.jpg"
        },
        {
          "time": "17:35:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/041.jpg"
        },
        {
          "time": "17:35:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/042.jpg"
        },
        {
          "time": "17:35:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/043.jpg"
        },
        {
          "time": "17:35:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/044.jpg"
        },
        {
          "time": "17:35:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/045.jpg"
        },
        {
          "time": "17:35:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/046.jpg"
        },
        {
          "time": "17:35:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/047.jpg"
        },
        {
          "time": "17:35:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/048.jpg"
        },
        {
          "time": "17:35:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/049.jpg"
        },
        {
          "time": "17:35:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/050.jpg"
        },
        {
          "time": "17:35:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/051.jpg"
        },
        {
          "time": "17:35:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/052.jpg"
        },
        {
          "time": "17:35:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/053.jpg"
        },
        {
          "time": "17:35:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/054.jpg"
        },
        {
          "time": "17:35:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/055.jpg"
        },
        {
          "time": "17:35:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/056.jpg"
        },
        {
          "time": "17:35:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/057.jpg"
        },
        {
          "time": "17:35:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/058.jpg"
        },
        {
          "time": "17:35:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/059.jpg"
        },
        {
          "time": "17:35:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/060.jpg"
        },
        {
          "time": "17:35:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/061.jpg"
        },
        {
          "time": "17:35:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/062.jpg"
        },
        {
          "time": "17:35:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/063.jpg"
        },
        {
          "time": "17:35:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/064.jpg"
        },
        {
          "time": "17:35:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/065.jpg"
        },
        {
          "time": "17:35:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/066.jpg"
        },
        {
          "time": "17:35:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/067.jpg"
        },
        {
          "time": "17:36:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/068.jpg"
        },
        {
          "time": "17:36:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/069.jpg"
        },
        {
          "time": "17:36:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/070.jpg"
        },
        {
          "time": "17:36:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/071.jpg"
        },
        {
          "time": "17:36:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/072.jpg"
        },
        {
          "time": "17:36:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/073.jpg"
        },
        {
          "time": "17:36:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/074.jpg"
        },
        {
          "time": "17:36:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/075.jpg"
        },
        {
          "time": "17:36:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/076.jpg"
        },
        {
          "time": "17:36:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/077.jpg"
        },
        {
          "time": "17:36:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/078.jpg"
        },
        {
          "time": "17:36:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/079.jpg"
        },
        {
          "time": "17:36:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/080.jpg"
        },
        {
          "time": "17:36:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/081.jpg"
        },
        {
          "time": "17:36:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/082.jpg"
        },
        {
          "time": "17:36:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/083.jpg"
        },
        {
          "time": "17:36:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/084.jpg"
        },
        {
          "time": "17:36:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/085.jpg"
        },
        {
          "time": "17:36:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/086.jpg"
        },
        {
          "time": "17:36:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/087.jpg"
        },
        {
          "time": "17:36:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/088.jpg"
        },
        {
          "time": "17:36:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/089.jpg"
        },
        {
          "time": "17:36:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/090.jpg"
        },
        {
          "time": "17:36:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/091.jpg"
        },
        {
          "time": "17:36:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/092.jpg"
        },
        {
          "time": "17:36:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/093.jpg"
        },
        {
          "time": "17:36:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/094.jpg"
        },
        {
          "time": "17:36:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/095.jpg"
        },
        {
          "time": "17:36:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/096.jpg"
        },
        {
          "time": "17:36:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3111/ep_008/097.jpg"
        },
        {
          "time": "17:36:27",
          "message": "  [>] 이미지 97/97개 처리 완료.\n"
        },
        {
          "time": "17:36:28",
          "message": "완료: 회차 8개 처리, 이미지 776개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:13:11",
          "message": "작품 제목: 3111"
        },
        {
          "time": "06:23:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:23:15"
        },
        {
          "time": "06:23:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:23:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:33:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #289"
        },
        {
          "time": "21:33:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:33:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미도리의 나날 - 이노우에 카즈로 | 뉴토끼, links=10"
        },
        {
          "time": "21:34:04",
          "message": "작품 제목: 미도리의 나날 - 이노우에 카즈로"
        },
        {
          "time": "21:34:04",
          "message": "메타데이터 태그 저장: 미도리의 나날, 이노우에 카즈로"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:11:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #134"
        },
        {
          "time": "14:11:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:11:40",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:11:40",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:23:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:23:55"
        },
        {
          "time": "14:23:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:23:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:14:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1514"
        },
        {
          "time": "14:14:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:14:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미도리의 나날 - 이노우에 카즈로 | 뉴토끼, links=10"
        },
        {
          "time": "14:14:27",
          "message": "작품 제목: 미도리의 나날 - 이노우에 카즈로"
        },
        {
          "time": "14:14:28",
          "message": "메타데이터 태그 저장: 미도리의 나날, 이노우에 카즈로"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:51:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #44"
        },
        {
          "time": "16:51:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:51:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미도리의 나날 - 이노우에 카즈로 | 뉴토끼, links=10"
        },
        {
          "time": "16:51:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #45"
        },
        {
          "time": "16:51:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:51:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미도리의 나날 - 이노우에 카즈로 | 뉴토끼, links=10"
        },
        {
          "time": "16:52:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #46"
        },
        {
          "time": "16:52:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:52:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미도리의 나날 - 이노우에 카즈로 | 뉴토끼, links=10"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:06:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #435"
        },
        {
          "time": "22:06:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:06:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미도리의 나날 - 이노우에 카즈로 | 뉴토끼, links=10"
        },
        {
          "time": "22:06:41",
          "message": "작품 제목: 미도리의 나날 - 이노우에 카즈로"
        },
        {
          "time": "22:06:41",
          "message": "메타데이터 태그 저장: 미도리의 나날, 이노우에 카즈로"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:01:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #339"
        },
        {
          "time": "10:01:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:02:04",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:02:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #340"
        },
        {
          "time": "10:02:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:02:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미도리의 나날 - 이노우에 카즈로 | 뉴토끼, links=10"
        },
        {
          "time": "10:02:45",
          "message": "작품 제목: 미도리의 나날 - 이노우에 카즈로"
        },
        {
          "time": "10:02:46",
          "message": "메타데이터 태그 저장: 미도리의 나날, 이노우에 카즈로"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:43:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1129"
        },
        {
          "time": "06:43:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:43:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미도리의 나날 - 이노우에 카즈로 | 뉴토끼, links=10"
        },
        {
          "time": "06:43:54",
          "message": "작품 제목: 미도리의 나날 - 이노우에 카즈로"
        },
        {
          "time": "06:43:55",
          "message": "메타데이터 태그 저장: 미도리의 나날, 이노우에 카즈로"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3111",
        "target_id": "manhwa_3111",
        "title": "미도리의 나날 - 이노우에 카즈로",
        "episodes_found": 8,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 8,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3111",
          "title": "미도리의 나날 - 이노우에 카즈로",
          "list_url": "https://newtoki1.org/manhwa/3111",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3111"
          },
          "tags": [
            "미도리의 나날",
            "이노우에 카즈로"
          ],
          "description": "`미친 개`로 악명 높은 싸움 최강 고교생 사와무라 세이지. 그의 청춘은 솔로 경력 17년, `오른손이 애인`인 허무한 나날의 연속이었다. 그런 사와무라를 한결같이 사랑하는 소녀 미도리가 어느 날 갑자기 오른손에 출현! 기묘하고 약간은 안타까운 사랑의(?) 생활이 시작되는데…….",
          "metadata_path": "/downloads/manhwa_3111/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 8,
        "total": 8,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "115be2e0a8",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:56:25",
      "started_at": "2026-06-04T06:40:00",
      "finished_at": "2026-06-04T06:41:59",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "여름의 폭풍 - 코바야시진",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/2794",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_2794",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "17:11:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_005/081.jpg"
        },
        {
          "time": "17:11:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_005/082.jpg"
        },
        {
          "time": "17:11:56",
          "message": "  [>] 이미지 82/82개 처리 완료.\n"
        },
        {
          "time": "17:11:57",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2794/11181"
        },
        {
          "time": "17:11:57",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2794/11181"
        },
        {
          "time": "17:12:13",
          "message": "  [i] 회차 제목: 여름의 폭풍 2화 02권"
        },
        {
          "time": "17:12:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/001.jpg"
        },
        {
          "time": "17:12:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/002.jpg"
        },
        {
          "time": "17:12:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/003.jpg"
        },
        {
          "time": "17:12:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/004.jpg"
        },
        {
          "time": "17:12:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/005.jpg"
        },
        {
          "time": "17:12:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/006.jpg"
        },
        {
          "time": "17:12:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/007.jpg"
        },
        {
          "time": "17:12:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/008.jpg"
        },
        {
          "time": "17:12:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/009.jpg"
        },
        {
          "time": "17:12:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/010.jpg"
        },
        {
          "time": "17:12:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/011.jpg"
        },
        {
          "time": "17:12:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/012.jpg"
        },
        {
          "time": "17:12:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/013.jpg"
        },
        {
          "time": "17:12:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/014.jpg"
        },
        {
          "time": "17:12:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/015.jpg"
        },
        {
          "time": "17:12:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/016.jpg"
        },
        {
          "time": "17:12:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/017.jpg"
        },
        {
          "time": "17:12:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/018.jpg"
        },
        {
          "time": "17:12:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/019.jpg"
        },
        {
          "time": "17:12:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/020.jpg"
        },
        {
          "time": "17:12:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/021.jpg"
        },
        {
          "time": "17:12:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/022.jpg"
        },
        {
          "time": "17:12:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/023.jpg"
        },
        {
          "time": "17:12:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/024.jpg"
        },
        {
          "time": "17:12:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/025.jpg"
        },
        {
          "time": "17:12:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/026.jpg"
        },
        {
          "time": "17:12:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/027.jpg"
        },
        {
          "time": "17:12:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/028.jpg"
        },
        {
          "time": "17:12:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/029.jpg"
        },
        {
          "time": "17:12:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/030.jpg"
        },
        {
          "time": "17:12:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/031.jpg"
        },
        {
          "time": "17:12:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/032.jpg"
        },
        {
          "time": "17:12:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/033.jpg"
        },
        {
          "time": "17:12:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/034.jpg"
        },
        {
          "time": "17:13:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/035.jpg"
        },
        {
          "time": "17:13:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/036.jpg"
        },
        {
          "time": "17:13:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/037.jpg"
        },
        {
          "time": "17:13:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/038.jpg"
        },
        {
          "time": "17:13:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/039.jpg"
        },
        {
          "time": "17:13:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/040.jpg"
        },
        {
          "time": "17:13:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/041.jpg"
        },
        {
          "time": "17:13:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/042.jpg"
        },
        {
          "time": "17:13:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/043.jpg"
        },
        {
          "time": "17:13:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/044.jpg"
        },
        {
          "time": "17:13:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/045.jpg"
        },
        {
          "time": "17:13:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/046.jpg"
        },
        {
          "time": "17:13:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/047.jpg"
        },
        {
          "time": "17:13:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/048.jpg"
        },
        {
          "time": "17:13:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/049.jpg"
        },
        {
          "time": "17:13:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/050.jpg"
        },
        {
          "time": "17:13:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/051.jpg"
        },
        {
          "time": "17:13:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/052.jpg"
        },
        {
          "time": "17:13:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/053.jpg"
        },
        {
          "time": "17:13:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/054.jpg"
        },
        {
          "time": "17:13:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/055.jpg"
        },
        {
          "time": "17:13:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/056.jpg"
        },
        {
          "time": "17:13:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/057.jpg"
        },
        {
          "time": "17:13:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/058.jpg"
        },
        {
          "time": "17:13:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/059.jpg"
        },
        {
          "time": "17:13:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/060.jpg"
        },
        {
          "time": "17:13:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/061.jpg"
        },
        {
          "time": "17:13:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/062.jpg"
        },
        {
          "time": "17:13:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/063.jpg"
        },
        {
          "time": "17:13:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/064.jpg"
        },
        {
          "time": "17:13:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/065.jpg"
        },
        {
          "time": "17:13:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/066.jpg"
        },
        {
          "time": "17:13:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/067.jpg"
        },
        {
          "time": "17:13:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/068.jpg"
        },
        {
          "time": "17:13:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/069.jpg"
        },
        {
          "time": "17:13:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/070.jpg"
        },
        {
          "time": "17:13:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/071.jpg"
        },
        {
          "time": "17:13:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/072.jpg"
        },
        {
          "time": "17:13:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/073.jpg"
        },
        {
          "time": "17:13:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/074.jpg"
        },
        {
          "time": "17:13:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/075.jpg"
        },
        {
          "time": "17:13:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/076.jpg"
        },
        {
          "time": "17:13:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/077.jpg"
        },
        {
          "time": "17:13:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/078.jpg"
        },
        {
          "time": "17:14:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/079.jpg"
        },
        {
          "time": "17:14:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/080.jpg"
        },
        {
          "time": "17:14:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/081.jpg"
        },
        {
          "time": "17:14:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/082.jpg"
        },
        {
          "time": "17:14:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_2794/ep_006/083.jpg"
        },
        {
          "time": "17:14:08",
          "message": "  [>] 이미지 83/83개 처리 완료.\n"
        },
        {
          "time": "17:14:09",
          "message": "완료: 회차 6개 처리, 이미지 521개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 6)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:13:17",
          "message": "작품 제목: 2794"
        },
        {
          "time": "06:23:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:23:22"
        },
        {
          "time": "06:23:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:23:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:33:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #288"
        },
        {
          "time": "21:33:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:33:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여름의 폭풍 - 코바야시진 | 뉴토끼, links=8"
        },
        {
          "time": "21:33:18",
          "message": "작품 제목: 여름의 폭풍 - 코바야시진"
        },
        {
          "time": "21:33:18",
          "message": "메타데이터 태그 저장: 여름의 폭풍, 코바야시진"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:11:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #135"
        },
        {
          "time": "14:11:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:12:01",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:12:02",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:23:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:23:55"
        },
        {
          "time": "14:23:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:23:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:14:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1515"
        },
        {
          "time": "14:14:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:14:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여름의 폭풍 - 코바야시진 | 뉴토끼, links=8"
        },
        {
          "time": "14:14:43",
          "message": "작품 제목: 여름의 폭풍 - 코바야시진"
        },
        {
          "time": "14:14:43",
          "message": "메타데이터 태그 저장: 여름의 폭풍, 코바야시진"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:50:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #40"
        },
        {
          "time": "16:50:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:50:53",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "16:50:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #41"
        },
        {
          "time": "16:50:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:50:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여름의 폭풍 - 코바야시진 | 뉴토끼, links=8"
        },
        {
          "time": "16:50:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #42"
        },
        {
          "time": "16:50:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:51:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여름의 폭풍 - 코바야시진 | 뉴토끼, links=8"
        },
        {
          "time": "16:51:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #43"
        },
        {
          "time": "16:51:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:51:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여름의 폭풍 - 코바야시진 | 뉴토끼, links=8"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:06:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #434"
        },
        {
          "time": "22:06:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:06:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여름의 폭풍 - 코바야시진 | 뉴토끼, links=8"
        },
        {
          "time": "22:06:27",
          "message": "작품 제목: 여름의 폭풍 - 코바야시진"
        },
        {
          "time": "22:06:27",
          "message": "메타데이터 태그 저장: 여름의 폭풍, 코바야시진"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:03:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #341"
        },
        {
          "time": "10:03:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:04:17",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:04:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #342"
        },
        {
          "time": "10:04:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:04:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여름의 폭풍 - 코바야시진 | 뉴토끼, links=8"
        },
        {
          "time": "10:04:26",
          "message": "작품 제목: 여름의 폭풍 - 코바야시진"
        },
        {
          "time": "10:04:27",
          "message": "메타데이터 태그 저장: 여름의 폭풍, 코바야시진"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:41:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1128"
        },
        {
          "time": "06:41:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:41:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여름의 폭풍 - 코바야시진 | 뉴토끼, links=8"
        },
        {
          "time": "06:41:57",
          "message": "작품 제목: 여름의 폭풍 - 코바야시진"
        },
        {
          "time": "06:41:57",
          "message": "메타데이터 태그 저장: 여름의 폭풍, 코바야시진"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_2794",
        "target_id": "manhwa_2794",
        "title": "여름의 폭풍 - 코바야시진",
        "episodes_found": 6,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 6,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_2794",
          "title": "여름의 폭풍 - 코바야시진",
          "list_url": "https://newtoki1.org/manhwa/2794",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/2794"
          },
          "tags": [
            "여름의 폭풍",
            "코바야시진"
          ],
          "description": "알콩달콩한 학원물과 시공을 초월한 판타지가 만났다! 일본 만화가 코바야시 진의 『여름의 폭풍』 제1권. 스쿨럼블을 창작한 저자가 새롭게 선보이는 알콩달콩한 학원물이다. 시공을 초월한 판타지도 덧붙여졌다. 과거로부터 온 소녀와 현실의 소년이 펼치는 모험의 세계 속으로 초대한다. 개성적인",
          "metadata_path": "/downloads/manhwa_2794/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 6,
        "total": 6,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "fb93fa518b",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:53:11",
      "started_at": "2026-06-04T06:39:08",
      "finished_at": "2026-06-04T06:40:00",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3217",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3217",
        "viewer_image_mode": "auto",
        "display_title": "이세계 선술집 노부 - 세미카와 나츠야",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "12:03:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3217/ep_134/029.jpg"
        },
        {
          "time": "12:03:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3217/ep_134/030.jpg"
        },
        {
          "time": "12:03:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3217/ep_134/031.jpg"
        },
        {
          "time": "12:03:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3217/ep_134/032.jpg"
        },
        {
          "time": "12:03:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3217/ep_134/033.jpg"
        },
        {
          "time": "12:03:31",
          "message": "  [>] 이미지 33개 처리 완료.\n"
        },
        {
          "time": "12:03:33",
          "message": "완료: 회차 134개 처리, 이미지 3276개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 134)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 134)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:44:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:44:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:55:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:55:20"
        },
        {
          "time": "06:55:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:55:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:55:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:55:56",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:06:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:06:05"
        },
        {
          "time": "07:06:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:06:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:07:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:08:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:18:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:18:43"
        },
        {
          "time": "07:18:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:18:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:18:44",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:19:19",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:30:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:30:09"
        },
        {
          "time": "07:30:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:30:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:31:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:31:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:42:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:42:06"
        },
        {
          "time": "07:42:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:42:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:42:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:42:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "07:53:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T07:53:17"
        },
        {
          "time": "07:53:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:53:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:54:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "07:54:44",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:05:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:05:08"
        },
        {
          "time": "08:05:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:05:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:07:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:07:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:17:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:17:52"
        },
        {
          "time": "08:17:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:17:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:17:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:18:27",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:28:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:28:30"
        },
        {
          "time": "08:28:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:28:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:29:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:29:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:39:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:39:52"
        },
        {
          "time": "08:39:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:39:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:42:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:43:17",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:53:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:53:42"
        },
        {
          "time": "08:53:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:53:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:53:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:54:02",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:04:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:04:27"
        },
        {
          "time": "09:04:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:04:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:04:28",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:04:32",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:15:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:15:02"
        },
        {
          "time": "09:15:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:15:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:15:09",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:15:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:26:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:26:12"
        },
        {
          "time": "09:26:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:26:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:26:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:26:37",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:36:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:36:52"
        },
        {
          "time": "09:36:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:36:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:38:44",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:39:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:49:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:49:21"
        },
        {
          "time": "09:49:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:49:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:49:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:49:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:59:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:59:55"
        },
        {
          "time": "09:59:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:59:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:03:25",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:04:00",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:14:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:14:35"
        },
        {
          "time": "10:14:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:14:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:16:34",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:32:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #287"
        },
        {
          "time": "21:32:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:32:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 선술집 노부 - 세미카와 나츠야 | 뉴토끼, links=136"
        },
        {
          "time": "21:33:02",
          "message": "작품 제목: 이세계 선술집 노부 - 세미카와 나츠야"
        },
        {
          "time": "21:33:02",
          "message": "메타데이터 태그 저장: 세미카와 나츠야, 이세계 선술집 노부"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:12:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #136"
        },
        {
          "time": "14:12:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:12:24",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:12:25",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:23:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:23:55"
        },
        {
          "time": "14:23:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:23:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:14:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1516"
        },
        {
          "time": "14:14:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:15:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 선술집 노부 - 세미카와 나츠야 | 뉴토끼, links=136"
        },
        {
          "time": "14:15:05",
          "message": "작품 제목: 이세계 선술집 노부 - 세미카와 나츠야"
        },
        {
          "time": "14:15:05",
          "message": "메타데이터 태그 저장: 세미카와 나츠야, 이세계 선술집 노부"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:49:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #37"
        },
        {
          "time": "16:49:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:50:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 선술집 노부 - 세미카와 나츠야 | 뉴토끼, links=136"
        },
        {
          "time": "16:50:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #38"
        },
        {
          "time": "16:50:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:50:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 선술집 노부 - 세미카와 나츠야 | 뉴토끼, links=136"
        },
        {
          "time": "16:50:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #39"
        },
        {
          "time": "16:50:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:50:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 선술집 노부 - 세미카와 나츠야 | 뉴토끼, links=136"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:04:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #433"
        },
        {
          "time": "22:04:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:05:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 선술집 노부 - 세미카와 나츠야 | 뉴토끼, links=136"
        },
        {
          "time": "22:05:46",
          "message": "작품 제목: 이세계 선술집 노부 - 세미카와 나츠야"
        },
        {
          "time": "22:05:46",
          "message": "메타데이터 태그 저장: 세미카와 나츠야, 이세계 선술집 노부"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:04:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #343"
        },
        {
          "time": "10:04:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:04:51",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:04:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #344"
        },
        {
          "time": "10:04:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:05:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 선술집 노부 - 세미카와 나츠야 | 뉴토끼, links=136"
        },
        {
          "time": "10:05:07",
          "message": "작품 제목: 이세계 선술집 노부 - 세미카와 나츠야"
        },
        {
          "time": "10:05:07",
          "message": "메타데이터 태그 저장: 세미카와 나츠야, 이세계 선술집 노부"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:39:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1127"
        },
        {
          "time": "06:39:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:39:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이세계 선술집 노부 - 세미카와 나츠야 | 뉴토끼, links=136"
        },
        {
          "time": "06:39:59",
          "message": "작품 제목: 이세계 선술집 노부 - 세미카와 나츠야"
        },
        {
          "time": "06:40:00",
          "message": "메타데이터 태그 저장: 세미카와 나츠야, 이세계 선술집 노부"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3217",
        "target_id": "manhwa_3217",
        "title": "이세계 선술집 노부 - 세미카와 나츠야",
        "episodes_found": 134,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 134,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3217",
          "title": "이세계 선술집 노부 - 세미카와 나츠야",
          "list_url": "https://newtoki1.org/manhwa/3217",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3217"
          },
          "tags": [
            "세미카와 나츠야",
            "이세계 선술집 노부"
          ],
          "description": "“점장님! 『일단 생맥』을 주게!” 이세계와 연결된 주점 「노부」를 찾는 손님은 게으른 경비병들, 잠행 중인 성직자, 수운 길드 마스터 등 개성적인 사람들뿐. 그들은 과묵한 가게 주인, 노부 점장님이 내놓는 놀라우리만큼 맛있는 술과 낯선 요리에 감탄하고 입맛을 다시며 잠시나마 하루의",
          "metadata_path": "/downloads/manhwa_3217/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 134,
        "total": 134,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "221db87385",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:53:06",
      "started_at": "2026-06-04T06:33:39",
      "finished_at": "2026-06-04T06:39:08",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "내 마음의 위험한 녀석 - 사쿠라이 노리오",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/23495",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_23495",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "21:29:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:30:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #283"
        },
        {
          "time": "21:30:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:31:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #284"
        },
        {
          "time": "21:31:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:31:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #285"
        },
        {
          "time": "21:31:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:31:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #286"
        },
        {
          "time": "21:31:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:42:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T21:42:41"
        },
        {
          "time": "21:42:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:42:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:53:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #42"
        },
        {
          "time": "12:53:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:54:14",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:54:14",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:04:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:04:26"
        },
        {
          "time": "13:04:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:04:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:14:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1103"
        },
        {
          "time": "08:14:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:15:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 - 사쿠라이 노리오 | 뉴토끼, links=264"
        },
        {
          "time": "08:15:07",
          "message": "작품 제목: 내 마음의 위험한 녀석 - 사쿠라이 노리오"
        },
        {
          "time": "08:15:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1104"
        },
        {
          "time": "08:15:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:15:07",
          "message": "메타데이터 태그 저장: 내 마음의 위험한 녀석, 사쿠라이 노리오"
        },
        {
          "time": "08:15:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 4화 트위터 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:15:42",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "08:15:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1105"
        },
        {
          "time": "08:15:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:15:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 12화 내 마음의 위험한 …녀석트위터 12화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "08:16:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1106"
        },
        {
          "time": "08:16:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:16:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 20화 내 마음의 위험한 …녀석트위터 20화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:17:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1107"
        },
        {
          "time": "08:17:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:17:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1108"
        },
        {
          "time": "08:17:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:17:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1109"
        },
        {
          "time": "08:17:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:18:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 30화 내 마음의 위험한 …녀석트위터 30화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "08:18:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1110"
        },
        {
          "time": "08:18:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:18:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 32화 내 마음의 위험한 …녀석트위터 32화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:19:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1111"
        },
        {
          "time": "08:19:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:19:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1112"
        },
        {
          "time": "08:19:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:20:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 35화 내 마음의 위험한 …녀석트위터 35화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:20:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1113"
        },
        {
          "time": "08:20:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:20:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 145.1화 내 마음속 위험한 …녀석 145.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "08:20:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1114"
        },
        {
          "time": "08:20:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:20:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 29화 내 마음의 위험한 …녀석트위터 29화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:17:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #79"
        },
        {
          "time": "18:17:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:18:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 - 사쿠라이 노리오 | 뉴토끼, links=264"
        },
        {
          "time": "18:18:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #80"
        },
        {
          "time": "18:18:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:18:10",
          "message": "작품 제목: 내 마음의 위험한 녀석 - 사쿠라이 노리오"
        },
        {
          "time": "18:18:10",
          "message": "메타데이터 태그 저장: 내 마음의 위험한 녀석, 사쿠라이 노리오"
        },
        {
          "time": "18:18:11",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "18:18:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 4화 트위터 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:18:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #81"
        },
        {
          "time": "18:18:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:18:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 12화 내 마음의 위험한 …녀석트위터 12화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "18:20:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #82"
        },
        {
          "time": "18:20:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:20:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 20화 내 마음의 위험한 …녀석트위터 20화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:20:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #83"
        },
        {
          "time": "18:20:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:21:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 29화 내 마음의 위험한 …녀석트위터 29화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:21:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #84"
        },
        {
          "time": "18:21:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:21:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 30화 내 마음의 위험한 …녀석트위터 30화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "18:21:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #85"
        },
        {
          "time": "18:21:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:21:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 32화 내 마음의 위험한 …녀석트위터 32화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:21:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #86"
        },
        {
          "time": "18:21:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:21:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 35화 내 마음의 위험한 …녀석트위터 35화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:22:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #87"
        },
        {
          "time": "18:22:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:22:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 145.1화 내 마음속 위험한 …녀석 145.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:18:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #608"
        },
        {
          "time": "13:18:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:19:42",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:19:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #609"
        },
        {
          "time": "13:19:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:19:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 - 사쿠라이 노리오 | 뉴토끼, links=264"
        },
        {
          "time": "13:19:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #610"
        },
        {
          "time": "13:20:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:20:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 4화 트위터 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:20:30",
          "message": "작품 제목: 내 마음의 위험한 녀석 - 사쿠라이 노리오"
        },
        {
          "time": "13:20:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #611"
        },
        {
          "time": "13:20:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:21:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 12화 내 마음의 위험한 …녀석트위터 12화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "13:21:36",
          "message": "메타데이터 태그 저장: 내 마음의 위험한 녀석, 사쿠라이 노리오"
        },
        {
          "time": "13:21:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #612"
        },
        {
          "time": "13:21:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:21:37",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "13:21:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 20화 내 마음의 위험한 …녀석트위터 20화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:21:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #613"
        },
        {
          "time": "13:21:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:22:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 29화 내 마음의 위험한 …녀석트위터 29화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:22:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #614"
        },
        {
          "time": "13:22:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:23:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 30화 내 마음의 위험한 …녀석트위터 30화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "13:23:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #615"
        },
        {
          "time": "13:23:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:23:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 32화 내 마음의 위험한 …녀석트위터 32화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:24:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #616"
        },
        {
          "time": "13:24:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:24:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 35화 내 마음의 위험한 …녀석트위터 35화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:24:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #617"
        },
        {
          "time": "13:24:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:24:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 145.1화 내 마음속 위험한 …녀석 145.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:34:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1117"
        },
        {
          "time": "06:34:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:34:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 - 사쿠라이 노리오 | 뉴토끼, links=265"
        },
        {
          "time": "06:34:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1118"
        },
        {
          "time": "06:34:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:34:53",
          "message": "작품 제목: 내 마음의 위험한 녀석 - 사쿠라이 노리오"
        },
        {
          "time": "06:34:54",
          "message": "메타데이터 태그 저장: 내 마음의 위험한 녀석, 사쿠라이 노리오"
        },
        {
          "time": "06:34:55",
          "message": "순회 계획을 저장했습니다: 9개 회차"
        },
        {
          "time": "06:34:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 4화 트위터 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:35:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1119"
        },
        {
          "time": "06:35:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:35:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 12화 내 마음의 위험한 …녀석트위터 12화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "06:35:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1120"
        },
        {
          "time": "06:35:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:35:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 20화 내 마음의 위험한 …녀석트위터 20화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:35:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1121"
        },
        {
          "time": "06:35:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:35:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 29화 내 마음의 위험한 …녀석트위터 29화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:35:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1122"
        },
        {
          "time": "06:35:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:36:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 30화 내 마음의 위험한 …녀석트위터 30화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "06:36:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1123"
        },
        {
          "time": "06:36:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:36:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 32화 내 마음의 위험한 …녀석트위터 32화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:37:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1124"
        },
        {
          "time": "06:38:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:38:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 35화 내 마음의 위험한 …녀석트위터 35화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:38:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1125"
        },
        {
          "time": "06:38:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:38:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 145.1화 내 마음속 위험한 …녀석 145.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:38:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1126"
        },
        {
          "time": "06:38:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:38:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내 마음의 위험한 녀석 192화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 9)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 9)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 9)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23495",
        "target_id": "manhwa_23495",
        "title": "내 마음의 위험한 녀석 - 사쿠라이 노리오",
        "episodes_found": 263,
        "episodes_processed": 9,
        "episodes_failed": 0,
        "episodes_skipped": 254,
        "images_found": 24,
        "images_downloaded": 10,
        "images_skipped": 14,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23495",
          "title": "내 마음의 위험한 녀석 - 사쿠라이 노리오",
          "list_url": "https://newtoki1.org/manhwa/23495",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23495"
          },
          "tags": [
            "내 마음의 위험한 녀석",
            "사쿠라이 노리오"
          ],
          "description": "아싸 소년×인싸 미소녀 이 시대 최고의 러브코미디! 학교 계급의 정점을 찍는 미소녀 야마다 안나와 중증의 중2병 아싸 이치카와 쿄타로. 드디어 연락처를 주고받은 두 사람에게 찾아온 겨울 방학. 무대는 학교 밖으로--. 작은 스마트폰이 이어주는 가까운 듯하지만 먼, 먼 듯하지만 가까운,",
          "metadata_path": "/downloads/manhwa_23495/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 9,
        "total": 9,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 10,
          "url": "https://newtoki1.org/manhwa/23495/224852",
          "title": "내 마음의 위험한 녀석 4화 트위터 4화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 26,
          "url": "https://newtoki1.org/manhwa/23495/224835",
          "title": "내 마음의 위험한 녀석 12화 내 마음의 위험한 …녀석트위터 12화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 43,
          "url": "https://newtoki1.org/manhwa/23495/224816",
          "title": "내 마음의 위험한 녀석 20화 내 마음의 위험한 …녀석트위터 20화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 61,
          "url": "https://newtoki1.org/manhwa/23495/224789",
          "title": "내 마음의 위험한 녀석 29화 내 마음의 위험한 …녀석트위터 29화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 63,
          "url": "https://newtoki1.org/manhwa/23495/224787",
          "title": "내 마음의 위험한 녀석 30화 내 마음의 위험한 …녀석트위터 30화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 68,
          "url": "https://newtoki1.org/manhwa/23495/224785",
          "title": "내 마음의 위험한 녀석 32화 내 마음의 위험한 …녀석트위터 32화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 74,
          "url": "https://newtoki1.org/manhwa/23495/224781",
          "title": "내 마음의 위험한 녀석 35화 내 마음의 위험한 …녀석트위터 35화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 215,
          "url": "https://newtoki1.org/manhwa/23495/1763315",
          "title": "내 마음의 위험한 녀석 145.1화 내 마음속 위험한 …녀석 145.1화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 263,
          "url": "https://newtoki1.org/manhwa/23495/u-mpx0whgh-ld7a",
          "title": "내 마음의 위험한 녀석 192화",
          "status": "completed",
          "image_count": 10,
          "images_done": 10,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "7dbb4ff149",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:52:59",
      "started_at": "2026-06-04T06:32:07",
      "finished_at": "2026-06-04T06:33:39",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "마도정병의 슬레이브 - 타케무라 요헤이",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8164",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8164",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:43:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T02:43:35"
        },
        {
          "time": "02:43:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:43:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:48:58",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:48:07",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T14:48:06"
        },
        {
          "time": "14:48:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:47",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:18:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:19:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:19:52"
        },
        {
          "time": "15:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:11:47",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "23:13:04",
          "message": "기존 완료 기록을 적용합니다: 199개 회차"
        },
        {
          "time": "23:13:04",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "23:13:04",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "23:13:04",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "23:13:04",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "23:13:04",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8164"
        },
        {
          "time": "23:13:04",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8164"
        },
        {
          "time": "23:13:24",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/8164\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/8164"
        },
        {
          "time": "23:25:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T23:25:02"
        },
        {
          "time": "23:25:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:25:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:06:41",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "01:08:00",
          "message": "기존 완료 기록을 적용합니다: 199개 회차"
        },
        {
          "time": "01:08:00",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "01:08:00",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "01:08:00",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "01:08:00",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "01:08:00",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8164"
        },
        {
          "time": "01:08:00",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8164"
        },
        {
          "time": "01:08:20",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/8164\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/8164"
        },
        {
          "time": "01:18:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T01:18:22"
        },
        {
          "time": "01:18:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:18:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:25:41",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "04:27:00",
          "message": "기존 완료 기록을 적용합니다: 199개 회차"
        },
        {
          "time": "04:27:00",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "04:27:00",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "04:27:00",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "04:27:00",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "04:27:00",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8164"
        },
        {
          "time": "04:27:00",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8164"
        },
        {
          "time": "04:27:20",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/8164\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/8164"
        },
        {
          "time": "04:37:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T04:37:50"
        },
        {
          "time": "04:37:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:37:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "16:31:33",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:33:43",
          "message": "기존 완료 기록을 적용합니다: 199개 회차"
        },
        {
          "time": "16:33:43",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:33:43",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "16:33:43",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:33:43",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:33:43",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8164"
        },
        {
          "time": "16:33:43",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8164"
        },
        {
          "time": "16:35:02",
          "message": "작품 제목: 마도정병의 슬레이브 - 타케무라 요헤이"
        },
        {
          "time": "16:35:02",
          "message": "메타데이터 저장: /downloads/manhwa_8164/metadata.yaml"
        },
        {
          "time": "16:35:02",
          "message": "메타데이터 태그 저장: 마도정병의 슬레이브, 타케무라 요헤이"
        },
        {
          "time": "16:35:02",
          "message": "기존 완료 회차 199개 제외"
        },
        {
          "time": "16:35:30",
          "message": "총 199개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:35:30",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:13:27",
          "message": "작품 제목: 8164"
        },
        {
          "time": "06:24:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:24:01"
        },
        {
          "time": "06:24:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:24:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:33:48",
          "message": "작품 제목: 8164"
        },
        {
          "time": "13:33:54",
          "message": "작품 제목: 8164"
        },
        {
          "time": "13:34:01",
          "message": "작품 제목: 8164"
        },
        {
          "time": "13:44:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:44:38"
        },
        {
          "time": "13:44:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:44:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:45:08",
          "message": "작품 제목: 8164"
        },
        {
          "time": "13:45:17",
          "message": "작품 제목: 8164"
        },
        {
          "time": "13:46:00",
          "message": "작품 제목: 8164"
        },
        {
          "time": "13:57:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:57:01"
        },
        {
          "time": "13:57:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:57:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:59:56",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:00:16",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:00:16",
          "message": "작품 제목: 8164"
        },
        {
          "time": "14:00:25",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:00:45",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:00:45",
          "message": "작품 제목: 8164"
        },
        {
          "time": "14:00:53",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:01:13",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:01:42",
          "message": "작품 제목: 8164"
        },
        {
          "time": "14:12:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:12:14"
        },
        {
          "time": "14:12:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:12:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:19:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:30:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:30:12"
        },
        {
          "time": "14:30:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:30:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:41:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:41:43"
        },
        {
          "time": "14:41:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:41:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:41:44",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:51:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:51:50"
        },
        {
          "time": "14:51:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:54:04",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:54:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:04:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:04:27"
        },
        {
          "time": "15:04:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:04:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:04:27",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:04:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:15:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:15:02"
        },
        {
          "time": "15:15:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:15:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:15:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "15:15:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:15:57",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:42:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "16:42:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:42:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마도정병의 슬레이브 - 타케무라 요헤이 | 뉴토끼, links=201"
        },
        {
          "time": "16:42:27",
          "message": "작품 제목: 마도정병의 슬레이브 - 타케무라 요헤이"
        },
        {
          "time": "16:42:27",
          "message": "메타데이터 태그 저장: 마도정병의 슬레이브, 타케무라 요헤이"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:11:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #976"
        },
        {
          "time": "06:11:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:11:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마도정병의 슬레이브 - 타케무라 요헤이 | 뉴토끼, links=202"
        },
        {
          "time": "06:11:46",
          "message": "작품 제목: 마도정병의 슬레이브 - 타케무라 요헤이"
        },
        {
          "time": "06:11:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #977"
        },
        {
          "time": "06:11:46",
          "message": "메타데이터 태그 저장: 마도정병의 슬레이브, 타케무라 요헤이"
        },
        {
          "time": "06:11:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:11:47",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "06:11:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=마도정병의 슬레이브 180화 | 뉴토끼, img_tags=54, image_urls=53"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:58:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #143"
        },
        {
          "time": "18:58:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:58:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마도정병의 슬레이브 - 타케무라 요헤이 | 뉴토끼, links=202"
        },
        {
          "time": "18:58:18",
          "message": "작품 제목: 마도정병의 슬레이브 - 타케무라 요헤이"
        },
        {
          "time": "18:58:18",
          "message": "메타데이터 태그 저장: 마도정병의 슬레이브, 타케무라 요헤이"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:41:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #550"
        },
        {
          "time": "12:41:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:42:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마도정병의 슬레이브 - 타케무라 요헤이 | 뉴토끼, links=202"
        },
        {
          "time": "12:42:12",
          "message": "작품 제목: 마도정병의 슬레이브 - 타케무라 요헤이"
        },
        {
          "time": "12:42:13",
          "message": "메타데이터 태그 저장: 마도정병의 슬레이브, 타케무라 요헤이"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:32:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1116"
        },
        {
          "time": "06:32:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:33:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=마도정병의 슬레이브 - 타케무라 요헤이 | 뉴토끼, links=202"
        },
        {
          "time": "06:33:36",
          "message": "작품 제목: 마도정병의 슬레이브 - 타케무라 요헤이"
        },
        {
          "time": "06:33:37",
          "message": "메타데이터 태그 저장: 마도정병의 슬레이브, 타케무라 요헤이"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8164",
        "target_id": "manhwa_8164",
        "title": "마도정병의 슬레이브 - 타케무라 요헤이",
        "episodes_found": 200,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 200,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8164",
          "title": "마도정병의 슬레이브 - 타케무라 요헤이",
          "list_url": "https://newtoki1.org/manhwa/8164",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8164"
          },
          "tags": [
            "마도정병의 슬레이브",
            "타케무라 요헤이"
          ],
          "description": "일본 각지에 이공간 「마도」가 출현, 마도에 존재하는 「복숭아」가 여성에게만 특이한 능력을 가져오게 되면서 「마방대」라고 불리는 여군이 조직되었다. 어느날 울적한 인생을 보내고 있던 남자 고교생 와쿠라 유우키는 갑자기 발생한 마도의 입구에 휘말리고 만다. 그곳에서 만난 「마방대」 7번대",
          "metadata_path": "/downloads/manhwa_8164/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 200,
        "total": 200,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "27939e0710",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:52:55",
      "started_at": "2026-06-04T06:30:48",
      "finished_at": "2026-06-04T06:32:07",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "우메와 모모의 평범한 일상 - 후지사와 카미야",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/23212",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_23212",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "00:28:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_121/001.jpg"
        },
        {
          "time": "00:28:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_121/002.jpg"
        },
        {
          "time": "00:28:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_121/003.jpg"
        },
        {
          "time": "00:28:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_121/004.jpg"
        },
        {
          "time": "00:28:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_121/005.jpg"
        },
        {
          "time": "00:28:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_121/006.jpg"
        },
        {
          "time": "00:28:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_121/007.jpg"
        },
        {
          "time": "00:28:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_121/008.jpg"
        },
        {
          "time": "00:28:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_121/009.jpg"
        },
        {
          "time": "00:28:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_121/010.jpg"
        },
        {
          "time": "00:28:56",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "00:28:57",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23212/1809666"
        },
        {
          "time": "00:28:57",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23212/1809666"
        },
        {
          "time": "00:29:16",
          "message": "  [i] 회차 제목: 우메와 모모의 평범한 일상 111.5화 우메와 모모의 평범…일상 111.5화"
        },
        {
          "time": "00:29:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_122/001.jpg"
        },
        {
          "time": "00:29:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_122/002.jpg"
        },
        {
          "time": "00:29:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_122/003.jpg"
        },
        {
          "time": "00:29:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_122/004.jpg"
        },
        {
          "time": "00:29:20",
          "message": "  [>] 이미지 4/4개 처리 완료.\n"
        },
        {
          "time": "00:29:21",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23212/1810716"
        },
        {
          "time": "00:29:21",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23212/1810716"
        },
        {
          "time": "00:29:40",
          "message": "  [i] 회차 제목: 우메와 모모의 평범한 일상 112화 우메와 모모의 평범…한 일상 112화"
        },
        {
          "time": "00:29:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_123/001.jpg"
        },
        {
          "time": "00:29:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_123/002.jpg"
        },
        {
          "time": "00:29:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_123/003.jpg"
        },
        {
          "time": "00:29:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_123/004.jpg"
        },
        {
          "time": "00:29:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_123/005.jpg"
        },
        {
          "time": "00:29:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_123/006.jpg"
        },
        {
          "time": "00:29:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_123/007.jpg"
        },
        {
          "time": "00:29:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_123/008.jpg"
        },
        {
          "time": "00:29:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_123/009.jpg"
        },
        {
          "time": "00:29:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_123/010.jpg"
        },
        {
          "time": "00:29:50",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "00:29:52",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23212/1812385"
        },
        {
          "time": "00:29:52",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23212/1812385"
        },
        {
          "time": "00:30:10",
          "message": "  [i] 회차 제목: 우메와 모모의 평범한 일상 113화 우메와 모모의 평범…한 일상 113화"
        },
        {
          "time": "00:30:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_124/001.jpg"
        },
        {
          "time": "00:30:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_124/002.jpg"
        },
        {
          "time": "00:30:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_124/003.jpg"
        },
        {
          "time": "00:30:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_124/004.jpg"
        },
        {
          "time": "00:30:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_124/005.jpg"
        },
        {
          "time": "00:30:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_124/006.jpg"
        },
        {
          "time": "00:30:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_124/007.jpg"
        },
        {
          "time": "00:30:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_124/008.jpg"
        },
        {
          "time": "00:30:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_124/009.jpg"
        },
        {
          "time": "00:30:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_124/010.jpg"
        },
        {
          "time": "00:30:21",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "00:30:22",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23212/1813471"
        },
        {
          "time": "00:30:22",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23212/1813471"
        },
        {
          "time": "00:30:40",
          "message": "  [i] 회차 제목: 우메와 모모의 평범한 일상 114화 우메와 모모의 평범…한 일상 114화"
        },
        {
          "time": "00:30:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_125/001.jpg"
        },
        {
          "time": "00:30:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_125/002.jpg"
        },
        {
          "time": "00:30:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_125/003.jpg"
        },
        {
          "time": "00:30:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_125/004.jpg"
        },
        {
          "time": "00:30:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_125/005.jpg"
        },
        {
          "time": "00:30:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_125/006.jpg"
        },
        {
          "time": "00:30:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_125/007.jpg"
        },
        {
          "time": "00:30:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_125/008.jpg"
        },
        {
          "time": "00:30:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_125/009.jpg"
        },
        {
          "time": "00:30:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_125/010.jpg"
        },
        {
          "time": "00:30:50",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "00:30:51",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23212/1815267"
        },
        {
          "time": "00:30:51",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23212/1815267"
        },
        {
          "time": "00:31:10",
          "message": "  [i] 회차 제목: 우메와 모모의 평범한 일상 115화 우메와 모모의 평범…한 일상 115화"
        },
        {
          "time": "00:31:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_126/001.jpg"
        },
        {
          "time": "00:31:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_126/002.jpg"
        },
        {
          "time": "00:31:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_126/003.jpg"
        },
        {
          "time": "00:31:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_126/004.jpg"
        },
        {
          "time": "00:31:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_126/005.jpg"
        },
        {
          "time": "00:31:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_126/006.jpg"
        },
        {
          "time": "00:31:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_126/007.jpg"
        },
        {
          "time": "00:31:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_126/008.jpg"
        },
        {
          "time": "00:31:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_126/009.jpg"
        },
        {
          "time": "00:31:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_126/010.jpg"
        },
        {
          "time": "00:31:22",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "00:31:23",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/23212/1816178"
        },
        {
          "time": "00:31:23",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/23212/1816178"
        },
        {
          "time": "00:31:42",
          "message": "  [i] 회차 제목: 우메와 모모의 평범한 일상 116화 우메와 모모의 평범…한 일상 116화"
        },
        {
          "time": "00:31:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_127/001.jpg"
        },
        {
          "time": "00:31:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_127/002.jpg"
        },
        {
          "time": "00:31:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_127/003.jpg"
        },
        {
          "time": "00:31:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_127/004.jpg"
        },
        {
          "time": "00:31:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_127/005.jpg"
        },
        {
          "time": "00:31:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_127/006.jpg"
        },
        {
          "time": "00:31:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_127/007.jpg"
        },
        {
          "time": "00:31:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_127/008.jpg"
        },
        {
          "time": "00:31:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_127/009.jpg"
        },
        {
          "time": "00:31:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_23212/ep_127/010.jpg"
        },
        {
          "time": "00:31:50",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "00:31:51",
          "message": "완료: 회차 125개 처리, 이미지 1286개 저장, 7개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 125)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:55:39",
          "message": "작품 제목: 23212"
        },
        {
          "time": "06:05:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:05:51"
        },
        {
          "time": "06:05:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:05:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:33:31",
          "message": "작품 제목: 23212"
        },
        {
          "time": "13:33:36",
          "message": "작품 제목: 23212"
        },
        {
          "time": "13:33:43",
          "message": "작품 제목: 23212"
        },
        {
          "time": "13:44:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:44:38"
        },
        {
          "time": "13:44:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:44:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:44:46",
          "message": "작품 제목: 23212"
        },
        {
          "time": "13:44:51",
          "message": "작품 제목: 23212"
        },
        {
          "time": "13:44:58",
          "message": "작품 제목: 23212"
        },
        {
          "time": "13:55:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:55:28"
        },
        {
          "time": "13:55:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:55:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:10:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:10:51"
        },
        {
          "time": "14:10:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:10:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:18:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:29:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:29:39"
        },
        {
          "time": "14:29:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:29:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:30:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:30:57",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:40:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "16:40:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:41:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우메와 모모의 평범한 일상 - 후지사와 카미야 | 뉴토끼, links=129"
        },
        {
          "time": "16:41:07",
          "message": "작품 제목: 우메와 모모의 평범한 일상 - 후지사와 카미야"
        },
        {
          "time": "16:41:38",
          "message": "메타데이터 태그 저장: 우메와 모모의 평범한 일상, 후지사와 카미야"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:14:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #978"
        },
        {
          "time": "06:14:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:15:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우메와 모모의 평범한 일상 - 후지사와 카미야 | 뉴토끼, links=129"
        },
        {
          "time": "06:15:03",
          "message": "작품 제목: 우메와 모모의 평범한 일상 - 후지사와 카미야"
        },
        {
          "time": "06:15:03",
          "message": "메타데이터 태그 저장: 우메와 모모의 평범한 일상, 후지사와 카미야"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:57:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #142"
        },
        {
          "time": "18:57:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:57:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우메와 모모의 평범한 일상 - 후지사와 카미야 | 뉴토끼, links=129"
        },
        {
          "time": "18:57:28",
          "message": "작품 제목: 우메와 모모의 평범한 일상 - 후지사와 카미야"
        },
        {
          "time": "18:57:28",
          "message": "메타데이터 태그 저장: 우메와 모모의 평범한 일상, 후지사와 카미야"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:42:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #551"
        },
        {
          "time": "12:42:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:42:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우메와 모모의 평범한 일상 - 후지사와 카미야 | 뉴토끼, links=129"
        },
        {
          "time": "12:43:22",
          "message": "작품 제목: 우메와 모모의 평범한 일상 - 후지사와 카미야"
        },
        {
          "time": "12:43:23",
          "message": "메타데이터 태그 저장: 우메와 모모의 평범한 일상, 후지사와 카미야"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:30:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1114"
        },
        {
          "time": "06:30:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:31:15",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:31:16",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:31:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1115"
        },
        {
          "time": "06:31:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:31:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우메와 모모의 평범한 일상 - 후지사와 카미야 | 뉴토끼, links=129"
        },
        {
          "time": "06:32:06",
          "message": "작품 제목: 우메와 모모의 평범한 일상 - 후지사와 카미야"
        },
        {
          "time": "06:32:06",
          "message": "메타데이터 태그 저장: 우메와 모모의 평범한 일상, 후지사와 카미야"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23212",
        "target_id": "manhwa_23212",
        "title": "우메와 모모의 평범한 일상 - 후지사와 카미야",
        "episodes_found": 127,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 127,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23212",
          "title": "우메와 모모의 평범한 일상 - 후지사와 카미야",
          "list_url": "https://newtoki1.org/manhwa/23212",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23212"
          },
          "tags": [
            "우메와 모모의 평범한 일상",
            "후지사와 카미야"
          ],
          "description": "고양이 같은 자매 우메와 모모. 먹고, 자고, 때때로 일하고. 아무것도 아닌 나날을 쌓아가며 즐겁게 살고 있습니다.",
          "metadata_path": "/downloads/manhwa_23212/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 127,
        "total": 127,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "068b193869",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:52:50",
      "started_at": "2026-06-04T06:28:27",
      "finished_at": "2026-06-04T06:30:48",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "사신짱 드롭킥 - 유키오",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/7610",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_7610",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "14:45:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_321/022.jpg"
        },
        {
          "time": "14:45:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_321/023.jpg"
        },
        {
          "time": "14:45:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_321/024.jpg"
        },
        {
          "time": "14:45:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_321/025.jpg"
        },
        {
          "time": "14:45:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_321/026.jpg"
        },
        {
          "time": "14:45:16",
          "message": "  [>] 이미지 26/26개 처리 완료.\n"
        },
        {
          "time": "14:45:17",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/7610/130443"
        },
        {
          "time": "14:45:18",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/7610/130443"
        },
        {
          "time": "14:45:37",
          "message": "  [i] 회차 제목: 사신짱 드롭킥 10화 단행본 04권 부록"
        },
        {
          "time": "14:45:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/001.jpg"
        },
        {
          "time": "14:45:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/002.jpg"
        },
        {
          "time": "14:45:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/003.jpg"
        },
        {
          "time": "14:45:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/004.jpg"
        },
        {
          "time": "14:45:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/005.jpg"
        },
        {
          "time": "14:45:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/006.jpg"
        },
        {
          "time": "14:45:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/007.jpg"
        },
        {
          "time": "14:45:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/008.jpg"
        },
        {
          "time": "14:45:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/009.jpg"
        },
        {
          "time": "14:45:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/010.jpg"
        },
        {
          "time": "14:45:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/011.jpg"
        },
        {
          "time": "14:45:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/012.jpg"
        },
        {
          "time": "14:45:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/013.jpg"
        },
        {
          "time": "14:46:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/014.jpg"
        },
        {
          "time": "14:46:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/015.jpg"
        },
        {
          "time": "14:46:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/016.jpg"
        },
        {
          "time": "14:46:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/017.jpg"
        },
        {
          "time": "14:46:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/018.jpg"
        },
        {
          "time": "14:46:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/019.jpg"
        },
        {
          "time": "14:46:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/020.jpg"
        },
        {
          "time": "14:46:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_322/021.jpg"
        },
        {
          "time": "14:46:08",
          "message": "  [>] 이미지 21/21개 처리 완료.\n"
        },
        {
          "time": "14:46:09",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/7610/130422"
        },
        {
          "time": "14:46:09",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/7610/130422"
        },
        {
          "time": "14:46:29",
          "message": "  [i] 회차 제목: 사신짱 드롭킥 9화 단행본 03권 부록"
        },
        {
          "time": "14:46:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/001.jpg"
        },
        {
          "time": "14:46:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/002.jpg"
        },
        {
          "time": "14:46:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/003.jpg"
        },
        {
          "time": "14:46:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/004.jpg"
        },
        {
          "time": "14:46:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/005.jpg"
        },
        {
          "time": "14:46:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/006.jpg"
        },
        {
          "time": "14:46:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/007.jpg"
        },
        {
          "time": "14:46:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/008.jpg"
        },
        {
          "time": "14:46:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/009.jpg"
        },
        {
          "time": "14:46:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/010.jpg"
        },
        {
          "time": "14:46:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/011.jpg"
        },
        {
          "time": "14:46:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/012.jpg"
        },
        {
          "time": "14:46:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_323/013.jpg"
        },
        {
          "time": "14:46:46",
          "message": "  [>] 이미지 13/13개 처리 완료.\n"
        },
        {
          "time": "14:46:48",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/7610/130390"
        },
        {
          "time": "14:46:48",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/7610/130390"
        },
        {
          "time": "14:47:07",
          "message": "  [i] 회차 제목: 사신짱 드롭킥 8화 단행본 02권 부록"
        },
        {
          "time": "14:47:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/001.jpg"
        },
        {
          "time": "14:47:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/002.jpg"
        },
        {
          "time": "14:47:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/003.jpg"
        },
        {
          "time": "14:47:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/004.jpg"
        },
        {
          "time": "14:47:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/005.jpg"
        },
        {
          "time": "14:47:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/006.jpg"
        },
        {
          "time": "14:47:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/007.jpg"
        },
        {
          "time": "14:47:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/008.jpg"
        },
        {
          "time": "14:47:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/009.jpg"
        },
        {
          "time": "14:47:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/010.jpg"
        },
        {
          "time": "14:47:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/011.jpg"
        },
        {
          "time": "14:47:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/012.jpg"
        },
        {
          "time": "14:47:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/013.jpg"
        },
        {
          "time": "14:47:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/014.jpg"
        },
        {
          "time": "14:47:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/015.jpg"
        },
        {
          "time": "14:47:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/016.jpg"
        },
        {
          "time": "14:47:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_324/017.jpg"
        },
        {
          "time": "14:47:24",
          "message": "  [>] 이미지 17/17개 처리 완료.\n"
        },
        {
          "time": "14:47:25",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/7610/130413"
        },
        {
          "time": "14:47:25",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/7610/130413"
        },
        {
          "time": "14:47:46",
          "message": "  [i] 회차 제목: 사신짱 드롭킥 7화 단행본 01권 부록"
        },
        {
          "time": "14:47:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_325/001.jpg"
        },
        {
          "time": "14:47:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_325/002.jpg"
        },
        {
          "time": "14:47:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_325/003.jpg"
        },
        {
          "time": "14:47:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_325/004.jpg"
        },
        {
          "time": "14:47:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_325/005.jpg"
        },
        {
          "time": "14:47:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_325/006.jpg"
        },
        {
          "time": "14:47:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_325/007.jpg"
        },
        {
          "time": "14:47:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_325/008.jpg"
        },
        {
          "time": "14:47:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_325/009.jpg"
        },
        {
          "time": "14:47:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_7610/ep_325/010.jpg"
        },
        {
          "time": "14:47:56",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "14:47:57",
          "message": "완료: 회차 242개 처리, 이미지 2572개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 242)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:48:13",
          "message": "작품 제목: 7610"
        },
        {
          "time": "05:58:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:58:13"
        },
        {
          "time": "05:58:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:58:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:33:12",
          "message": "작품 제목: 7610"
        },
        {
          "time": "13:33:18",
          "message": "작품 제목: 7610"
        },
        {
          "time": "13:33:24",
          "message": "작품 제목: 7610"
        },
        {
          "time": "13:43:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:43:40"
        },
        {
          "time": "13:43:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:43:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:43:48",
          "message": "작품 제목: 7610"
        },
        {
          "time": "13:43:55",
          "message": "작품 제목: 7610"
        },
        {
          "time": "13:44:38",
          "message": "작품 제목: 7610"
        },
        {
          "time": "13:54:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:54:55"
        },
        {
          "time": "13:54:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:54:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:58:59",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:58:59",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:58:59",
          "message": "작품 제목: 7610"
        },
        {
          "time": "13:59:05",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:59:05",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:59:05",
          "message": "작품 제목: 7610"
        },
        {
          "time": "13:59:26",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:40:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #31"
        },
        {
          "time": "16:40:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:40:48",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:17:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #69"
        },
        {
          "time": "13:17:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:18:08",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "13:18:16",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:28:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:28:35"
        },
        {
          "time": "13:28:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:28:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:21:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1438"
        },
        {
          "time": "13:21:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:21:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신짱 드롭킥 - 유키오 | 뉴토끼, links=327"
        },
        {
          "time": "13:21:24",
          "message": "작품 제목: 사신짱 드롭킥 - 유키오"
        },
        {
          "time": "13:21:44",
          "message": "메타데이터 태그 저장: 사신짱 드롭킥, 유키오"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:31:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "17:31:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:32:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신짱 드롭킥 - 유키오 | 뉴토끼, links=327"
        },
        {
          "time": "17:32:10",
          "message": "작품 제목: 사신짱 드롭킥 - 유키오"
        },
        {
          "time": "17:32:11",
          "message": "메타데이터 태그 저장: 사신짱 드롭킥, 유키오"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:06:08",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "14:33:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-03T14:33:25"
        },
        {
          "time": "14:33:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:34:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #35"
        },
        {
          "time": "14:34:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:35:02",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "14:35:46",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:35:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #36"
        },
        {
          "time": "14:35:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:35:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신짱 드롭킥 - 유키오 | 뉴토끼, links=327"
        },
        {
          "time": "14:36:23",
          "message": "작품 제목: 사신짱 드롭킥 - 유키오"
        },
        {
          "time": "14:36:24",
          "message": "메타데이터 태그 저장: 사신짱 드롭킥, 유키오"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:29:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1113"
        },
        {
          "time": "06:30:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:30:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사신짱 드롭킥 - 유키오 | 뉴토끼, links=327"
        },
        {
          "time": "06:30:42",
          "message": "작품 제목: 사신짱 드롭킥 - 유키오"
        },
        {
          "time": "06:30:45",
          "message": "메타데이터 태그 저장: 사신짱 드롭킥, 유키오"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_7610",
        "target_id": "manhwa_7610",
        "title": "사신짱 드롭킥 - 유키오",
        "episodes_found": 325,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 325,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_7610",
          "title": "사신짱 드롭킥 - 유키오",
          "list_url": "https://newtoki1.org/manhwa/7610",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/7610"
          },
          "tags": [
            "사신짱 드롭킥",
            "유키오"
          ],
          "description": "진보초의 낡은 아파트에 사는 소녀·하나조노 유리네에 의해 어느 날 강제로 인간계에 소환돼버린 마계의 악마·사신 짱. 그런데, 유리네는 소환 주문만 알고 귀환 주문은 알지 못해 사신 짱은 마계로 돌아갈 수가 없게 되고……. 어쩔 수 없이 유리네의 좁다란 집에서 눌러살게 된다. 하지만 사",
          "metadata_path": "/downloads/manhwa_7610/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 325,
        "total": 325,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "8e356a3321",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:52:46",
      "started_at": "2026-06-04T06:27:33",
      "finished_at": "2026-06-04T06:28:27",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "아르슬란 전기 - 다나카 요시키",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8611",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8611",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "23:26:54",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8611/1815900"
        },
        {
          "time": "23:27:13",
          "message": "  [i] 회차 제목: 아르슬란 전기 132화"
        },
        {
          "time": "23:27:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/001.jpg"
        },
        {
          "time": "23:27:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/002.jpg"
        },
        {
          "time": "23:27:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/003.jpg"
        },
        {
          "time": "23:27:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/004.jpg"
        },
        {
          "time": "23:27:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/005.jpg"
        },
        {
          "time": "23:27:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/006.jpg"
        },
        {
          "time": "23:27:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/007.jpg"
        },
        {
          "time": "23:27:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/008.jpg"
        },
        {
          "time": "23:27:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/009.jpg"
        },
        {
          "time": "23:27:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/010.jpg"
        },
        {
          "time": "23:27:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/011.jpg"
        },
        {
          "time": "23:27:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/012.jpg"
        },
        {
          "time": "23:27:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/013.jpg"
        },
        {
          "time": "23:27:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/014.jpg"
        },
        {
          "time": "23:27:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/015.jpg"
        },
        {
          "time": "23:27:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/016.jpg"
        },
        {
          "time": "23:27:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/017.jpg"
        },
        {
          "time": "23:27:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/018.jpg"
        },
        {
          "time": "23:27:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/019.jpg"
        },
        {
          "time": "23:27:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/020.jpg"
        },
        {
          "time": "23:27:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/021.jpg"
        },
        {
          "time": "23:27:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/022.jpg"
        },
        {
          "time": "23:27:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/023.jpg"
        },
        {
          "time": "23:27:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/024.jpg"
        },
        {
          "time": "23:27:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/025.jpg"
        },
        {
          "time": "23:27:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/026.jpg"
        },
        {
          "time": "23:27:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/027.jpg"
        },
        {
          "time": "23:27:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/028.jpg"
        },
        {
          "time": "23:27:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/029.jpg"
        },
        {
          "time": "23:27:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8611/ep_132/030.jpg"
        },
        {
          "time": "23:27:40",
          "message": "  [>] 이미지 30/30개 처리 완료.\n"
        },
        {
          "time": "23:27:41",
          "message": "완료: 회차 63개 처리, 이미지 1891개 저장, 21개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 63)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:55:51",
          "message": "작품 제목: 8611"
        },
        {
          "time": "06:05:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:05:51"
        },
        {
          "time": "06:05:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:05:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:32:50",
          "message": "작품 제목: 8611"
        },
        {
          "time": "13:32:55",
          "message": "작품 제목: 8611"
        },
        {
          "time": "13:33:05",
          "message": "작품 제목: 8611"
        },
        {
          "time": "13:43:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:43:20"
        },
        {
          "time": "13:43:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:43:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:43:27",
          "message": "작품 제목: 8611"
        },
        {
          "time": "13:43:33",
          "message": "작품 제목: 8611"
        },
        {
          "time": "13:43:40",
          "message": "작품 제목: 8611"
        },
        {
          "time": "13:54:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:54:34"
        },
        {
          "time": "13:54:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:54:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:58:32",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:58:32",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:58:33",
          "message": "작품 제목: 8611"
        },
        {
          "time": "13:58:38",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:58:38",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:58:38",
          "message": "작품 제목: 8611"
        },
        {
          "time": "13:58:45",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:58:45",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:58:46",
          "message": "작품 제목: 8611"
        },
        {
          "time": "14:09:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:09:01"
        },
        {
          "time": "14:09:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:09:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:18:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:29:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:29:03"
        },
        {
          "time": "14:29:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:29:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:29:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:40:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:40:47"
        },
        {
          "time": "14:40:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:40:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:40:48",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:51:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:50:53"
        },
        {
          "time": "14:51:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:53:42",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:53:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:04:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:04:04"
        },
        {
          "time": "15:04:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:04:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:04:04",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:04:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:14:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:14:37"
        },
        {
          "time": "15:14:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:14:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:14:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "15:14:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:26:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:26:16"
        },
        {
          "time": "15:26:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:26:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:29:31",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:29:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:29:52",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:29:52",
          "message": "작품 제목: 8611"
        },
        {
          "time": "15:29:52",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:29:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:30:12",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:30:12",
          "message": "작품 제목: 8611"
        },
        {
          "time": "15:30:13",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:30:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:30:33",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:30:33",
          "message": "작품 제목: 8611"
        },
        {
          "time": "15:41:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:41:33"
        },
        {
          "time": "15:41:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:41:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:41:35",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:41:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:41:55",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:41:55",
          "message": "작품 제목: 8611"
        },
        {
          "time": "15:41:55",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:41:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:42:15",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:42:15",
          "message": "작품 제목: 8611"
        },
        {
          "time": "15:42:16",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:42:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:56:55"
        },
        {
          "time": "15:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "16:04:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "16:04:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:04:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아르슬란 전기 - 다나카 요시키 | 뉴토끼, links=134"
        },
        {
          "time": "16:04:26",
          "message": "작품 제목: 아르슬란 전기 - 다나카 요시키"
        },
        {
          "time": "16:04:26",
          "message": "메타데이터 태그 저장: 다나카 요시키, 아르슬란 전기"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:34:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "12:34:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:34:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아르슬란 전기 - 다나카 요시키 | 뉴토끼, links=134"
        },
        {
          "time": "12:34:55",
          "message": "작품 제목: 아르슬란 전기 - 다나카 요시키"
        },
        {
          "time": "12:34:55",
          "message": "메타데이터 태그 저장: 다나카 요시키, 아르슬란 전기"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:23:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #358"
        },
        {
          "time": "21:23:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:23:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아르슬란 전기 - 다나카 요시키 | 뉴토끼, links=134"
        },
        {
          "time": "21:23:47",
          "message": "작품 제목: 아르슬란 전기 - 다나카 요시키"
        },
        {
          "time": "21:23:47",
          "message": "메타데이터 태그 저장: 다나카 요시키, 아르슬란 전기"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:40:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #398"
        },
        {
          "time": "10:40:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:41:51",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:41:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #399"
        },
        {
          "time": "10:41:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:42:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아르슬란 전기 - 다나카 요시키 | 뉴토끼, links=134"
        },
        {
          "time": "10:42:06",
          "message": "작품 제목: 아르슬란 전기 - 다나카 요시키"
        },
        {
          "time": "10:42:07",
          "message": "메타데이터 태그 저장: 다나카 요시키, 아르슬란 전기"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:28:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1112"
        },
        {
          "time": "06:28:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:28:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아르슬란 전기 - 다나카 요시키 | 뉴토끼, links=134"
        },
        {
          "time": "06:28:26",
          "message": "작품 제목: 아르슬란 전기 - 다나카 요시키"
        },
        {
          "time": "06:28:27",
          "message": "메타데이터 태그 저장: 다나카 요시키, 아르슬란 전기"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8611",
        "target_id": "manhwa_8611",
        "title": "아르슬란 전기 - 다나카 요시키",
        "episodes_found": 132,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 132,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8611",
          "title": "아르슬란 전기 - 다나카 요시키",
          "list_url": "https://newtoki1.org/manhwa/8611",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8611"
          },
          "tags": [
            "다나카 요시키",
            "아르슬란 전기"
          ],
          "description": "강철의 연금술사, 은수저 아라카와 히로무 최신간 발행!!다나카 요시키의 아르슬란 전기, 전격 만화화!!‘못미덥다’, ‘나약하다’, ‘기량이 부족하다’는 말만을 듣던 아르슬란이 열네 살이 되었을 때, 먼 나라의 이교도들이 파르스를 침공. 왕자 아르슬란은 첫 출전을 맞는다. 파르스 군은 고",
          "metadata_path": "/downloads/manhwa_8611/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 132,
        "total": 132,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "32fcc408e9",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:52:40",
      "started_at": "2026-06-04T06:25:46",
      "finished_at": "2026-06-04T06:27:33",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "푸른 상자 - 미우라 코지",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/24511",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_24511",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "23:06:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/008.jpg"
        },
        {
          "time": "23:06:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/009.jpg"
        },
        {
          "time": "23:06:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/010.jpg"
        },
        {
          "time": "23:06:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/011.jpg"
        },
        {
          "time": "23:06:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/012.jpg"
        },
        {
          "time": "23:06:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/013.jpg"
        },
        {
          "time": "23:06:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/014.jpg"
        },
        {
          "time": "23:06:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/015.jpg"
        },
        {
          "time": "23:06:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/016.jpg"
        },
        {
          "time": "23:06:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/017.jpg"
        },
        {
          "time": "23:06:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/018.jpg"
        },
        {
          "time": "23:06:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/019.jpg"
        },
        {
          "time": "23:06:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/020.jpg"
        },
        {
          "time": "23:06:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/021.jpg"
        },
        {
          "time": "23:06:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/022.jpg"
        },
        {
          "time": "23:06:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/023.jpg"
        },
        {
          "time": "23:06:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/024.jpg"
        },
        {
          "time": "23:06:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/025.jpg"
        },
        {
          "time": "23:06:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/026.jpg"
        },
        {
          "time": "23:06:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/027.jpg"
        },
        {
          "time": "23:06:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/028.jpg"
        },
        {
          "time": "23:06:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/029.jpg"
        },
        {
          "time": "23:06:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/030.jpg"
        },
        {
          "time": "23:06:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/031.jpg"
        },
        {
          "time": "23:06:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/032.jpg"
        },
        {
          "time": "23:06:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/033.jpg"
        },
        {
          "time": "23:06:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/034.jpg"
        },
        {
          "time": "23:06:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/035.jpg"
        },
        {
          "time": "23:06:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/036.jpg"
        },
        {
          "time": "23:06:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/037.jpg"
        },
        {
          "time": "23:06:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/038.jpg"
        },
        {
          "time": "23:06:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/039.jpg"
        },
        {
          "time": "23:06:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/040.jpg"
        },
        {
          "time": "23:06:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/041.jpg"
        },
        {
          "time": "23:06:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/042.jpg"
        },
        {
          "time": "23:06:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/043.jpg"
        },
        {
          "time": "23:06:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/044.jpg"
        },
        {
          "time": "23:06:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/045.jpg"
        },
        {
          "time": "23:06:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/046.jpg"
        },
        {
          "time": "23:06:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_24511/ep_240/047.jpg"
        },
        {
          "time": "23:06:47",
          "message": "  [>] 이미지 47개 처리 완료.\n"
        },
        {
          "time": "23:06:48",
          "message": "완료: 회차 240개 처리, 이미지 4681개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 240)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:18:03",
          "message": "작품 제목: 24511"
        },
        {
          "time": "06:28:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:28:33"
        },
        {
          "time": "06:28:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:28:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:32:31",
          "message": "작품 제목: 24511"
        },
        {
          "time": "13:32:38",
          "message": "작품 제목: 24511"
        },
        {
          "time": "13:32:44",
          "message": "작품 제목: 24511"
        },
        {
          "time": "13:43:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:43:00"
        },
        {
          "time": "13:43:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:43:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:43:07",
          "message": "작품 제목: 24511"
        },
        {
          "time": "13:43:13",
          "message": "작품 제목: 24511"
        },
        {
          "time": "13:43:20",
          "message": "작품 제목: 24511"
        },
        {
          "time": "13:54:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:54:34"
        },
        {
          "time": "13:54:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:54:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:58:02",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:58:05",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:58:11",
          "message": "작품 제목: 24511"
        },
        {
          "time": "13:58:20",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:58:20",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:58:20",
          "message": "작품 제목: 24511"
        },
        {
          "time": "13:58:26",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:58:26",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:58:26",
          "message": "작품 제목: 24511"
        },
        {
          "time": "14:09:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:09:01"
        },
        {
          "time": "14:09:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:09:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:17:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:28:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:28:32"
        },
        {
          "time": "14:28:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:28:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:29:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:39:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:39:38"
        },
        {
          "time": "14:39:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:39:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:39:38",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:50:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:50:53"
        },
        {
          "time": "14:50:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:50:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:53:09",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:53:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:03:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:03:31"
        },
        {
          "time": "15:03:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:03:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:03:32",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:03:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:14:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:14:13"
        },
        {
          "time": "15:14:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:14:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:14:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "15:14:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:26:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:26:16"
        },
        {
          "time": "15:26:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:26:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:29:11",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:29:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:40:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:40:31"
        },
        {
          "time": "15:40:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:40:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:40:31",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:40:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:40:52",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:40:52",
          "message": "작품 제목: 24511"
        },
        {
          "time": "15:40:52",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:40:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:41:12",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:41:12",
          "message": "작품 제목: 24511"
        },
        {
          "time": "15:41:13",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:41:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:41:33",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:41:33",
          "message": "작품 제목: 24511"
        },
        {
          "time": "15:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:56:55"
        },
        {
          "time": "15:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:57:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "15:57:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:57:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 상자 - 미우라 코지 | 뉴토끼, links=242"
        },
        {
          "time": "15:58:02",
          "message": "작품 제목: 푸른 상자 - 미우라 코지"
        },
        {
          "time": "15:58:02",
          "message": "메타데이터 태그 저장: 미우라 코지, 푸른 상자"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:34:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "12:34:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:35:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 상자 - 미우라 코지 | 뉴토끼, links=242"
        },
        {
          "time": "12:35:13",
          "message": "작품 제목: 푸른 상자 - 미우라 코지"
        },
        {
          "time": "12:35:13",
          "message": "메타데이터 태그 저장: 미우라 코지, 푸른 상자"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:22:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #357"
        },
        {
          "time": "21:22:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:22:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 상자 - 미우라 코지 | 뉴토끼, links=242"
        },
        {
          "time": "21:22:58",
          "message": "작품 제목: 푸른 상자 - 미우라 코지"
        },
        {
          "time": "21:22:58",
          "message": "메타데이터 태그 저장: 미우라 코지, 푸른 상자"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:42:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #400"
        },
        {
          "time": "10:42:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:42:31",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:42:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #401"
        },
        {
          "time": "10:42:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:42:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 상자 - 미우라 코지 | 뉴토끼, links=242"
        },
        {
          "time": "10:43:19",
          "message": "작품 제목: 푸른 상자 - 미우라 코지"
        },
        {
          "time": "10:43:20",
          "message": "메타데이터 태그 저장: 미우라 코지, 푸른 상자"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:26:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1111"
        },
        {
          "time": "06:26:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:27:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 상자 - 미우라 코지 | 뉴토끼, links=242"
        },
        {
          "time": "06:27:32",
          "message": "작품 제목: 푸른 상자 - 미우라 코지"
        },
        {
          "time": "06:27:33",
          "message": "메타데이터 태그 저장: 미우라 코지, 푸른 상자"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_24511",
        "target_id": "manhwa_24511",
        "title": "푸른 상자 - 미우라 코지",
        "episodes_found": 240,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 240,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_24511",
          "title": "푸른 상자 - 미우라 코지",
          "list_url": "https://newtoki1.org/manhwa/24511",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/24511"
          },
          "tags": [
            "미우라 코지",
            "푸른 상자"
          ],
          "description": "중고 일관 스포츠 강호교, 에이메이 학원. 배드민턴부 이노마타 타이키는 매일 아침 체육관에서 만나는[1] 한 살 위 여자 농구부의 선배 카노 치나츠를 좋아한다. 그러던 어느날, 진급을 맞이하는 봄에 둘의 거리가 일변하는데ーー 푸르름이 가슴을 찌르는 청춘 동아리 러브 스토리 개막 !!",
          "metadata_path": "/downloads/manhwa_24511/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 240,
        "total": 240,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "63cb9b59ac",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:52:35",
      "started_at": "2026-06-04T06:24:21",
      "finished_at": "2026-06-04T06:25:45",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "하나노이 군과 상사병 - Megumi Morino",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/9126",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_9126",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "11:38:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/006.jpg"
        },
        {
          "time": "11:38:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/007.jpg"
        },
        {
          "time": "11:38:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/008.jpg"
        },
        {
          "time": "11:38:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/009.jpg"
        },
        {
          "time": "11:38:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/010.jpg"
        },
        {
          "time": "11:38:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/011.jpg"
        },
        {
          "time": "11:38:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/012.jpg"
        },
        {
          "time": "11:38:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/013.jpg"
        },
        {
          "time": "11:38:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/014.jpg"
        },
        {
          "time": "11:38:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/015.jpg"
        },
        {
          "time": "11:38:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/016.jpg"
        },
        {
          "time": "11:38:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/017.jpg"
        },
        {
          "time": "11:38:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/018.jpg"
        },
        {
          "time": "11:38:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/019.jpg"
        },
        {
          "time": "11:38:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/020.jpg"
        },
        {
          "time": "11:38:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/021.jpg"
        },
        {
          "time": "11:38:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/022.jpg"
        },
        {
          "time": "11:38:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/023.jpg"
        },
        {
          "time": "11:38:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/024.jpg"
        },
        {
          "time": "11:38:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/025.jpg"
        },
        {
          "time": "11:38:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/026.jpg"
        },
        {
          "time": "11:38:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/027.jpg"
        },
        {
          "time": "11:38:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/028.jpg"
        },
        {
          "time": "11:38:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/029.jpg"
        },
        {
          "time": "11:38:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/030.jpg"
        },
        {
          "time": "11:38:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/031.jpg"
        },
        {
          "time": "11:39:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/032.jpg"
        },
        {
          "time": "11:39:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/033.jpg"
        },
        {
          "time": "11:39:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/034.jpg"
        },
        {
          "time": "11:39:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/035.jpg"
        },
        {
          "time": "11:39:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_126/036.jpg"
        },
        {
          "time": "11:39:04",
          "message": "  [>] 이미지 36개 처리 완료.\n"
        },
        {
          "time": "11:39:05",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9126/1816036"
        },
        {
          "time": "11:39:05",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9126/1816036"
        },
        {
          "time": "11:39:15",
          "message": "  [i] 회차 제목: 하나노이 군과 상사병 70-1화"
        },
        {
          "time": "11:39:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/001.jpg"
        },
        {
          "time": "11:39:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/002.jpg"
        },
        {
          "time": "11:39:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/003.jpg"
        },
        {
          "time": "11:39:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/004.jpg"
        },
        {
          "time": "11:39:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/005.jpg"
        },
        {
          "time": "11:39:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/006.jpg"
        },
        {
          "time": "11:39:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/007.jpg"
        },
        {
          "time": "11:39:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/008.jpg"
        },
        {
          "time": "11:39:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/009.jpg"
        },
        {
          "time": "11:39:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/010.jpg"
        },
        {
          "time": "11:39:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/011.jpg"
        },
        {
          "time": "11:39:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/012.jpg"
        },
        {
          "time": "11:39:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/013.jpg"
        },
        {
          "time": "11:39:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/014.jpg"
        },
        {
          "time": "11:39:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/015.jpg"
        },
        {
          "time": "11:40:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/016.jpg"
        },
        {
          "time": "11:40:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/017.jpg"
        },
        {
          "time": "11:40:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/018.jpg"
        },
        {
          "time": "11:40:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/019.jpg"
        },
        {
          "time": "11:40:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/020.jpg"
        },
        {
          "time": "11:40:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_127/021.jpg"
        },
        {
          "time": "11:40:40",
          "message": "  [>] 이미지 21개 처리 완료.\n"
        },
        {
          "time": "11:40:41",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9126/1816037"
        },
        {
          "time": "11:40:41",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9126/1816037"
        },
        {
          "time": "11:40:52",
          "message": "  [i] 회차 제목: 하나노이 군과 상사병 70-2화"
        },
        {
          "time": "11:40:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/001.jpg"
        },
        {
          "time": "11:40:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/002.jpg"
        },
        {
          "time": "11:40:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/003.jpg"
        },
        {
          "time": "11:40:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/004.jpg"
        },
        {
          "time": "11:40:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/005.jpg"
        },
        {
          "time": "11:40:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/006.jpg"
        },
        {
          "time": "11:40:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/007.jpg"
        },
        {
          "time": "11:40:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/008.jpg"
        },
        {
          "time": "11:40:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/009.jpg"
        },
        {
          "time": "11:41:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/010.jpg"
        },
        {
          "time": "11:41:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/011.jpg"
        },
        {
          "time": "11:41:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/012.jpg"
        },
        {
          "time": "11:41:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/013.jpg"
        },
        {
          "time": "11:41:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/014.jpg"
        },
        {
          "time": "11:41:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/015.jpg"
        },
        {
          "time": "11:41:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/016.jpg"
        },
        {
          "time": "11:41:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/017.jpg"
        },
        {
          "time": "11:42:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/018.jpg"
        },
        {
          "time": "11:42:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/019.jpg"
        },
        {
          "time": "11:42:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/020.jpg"
        },
        {
          "time": "11:42:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/021.jpg"
        },
        {
          "time": "11:42:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/022.jpg"
        },
        {
          "time": "11:42:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/023.jpg"
        },
        {
          "time": "11:42:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/024.jpg"
        },
        {
          "time": "11:42:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9126/ep_128/025.jpg"
        },
        {
          "time": "11:42:17",
          "message": "  [>] 이미지 25개 처리 완료.\n"
        },
        {
          "time": "11:42:18",
          "message": "완료: 회차 128개 처리, 이미지 3348개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 128)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:14:12",
          "message": "작품 제목: 9126"
        },
        {
          "time": "06:24:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:24:37"
        },
        {
          "time": "06:24:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:24:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:32:07",
          "message": "작품 제목: 9126"
        },
        {
          "time": "13:32:13",
          "message": "작품 제목: 9126"
        },
        {
          "time": "13:32:23",
          "message": "작품 제목: 9126"
        },
        {
          "time": "13:42:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:42:30"
        },
        {
          "time": "13:42:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:42:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:42:36",
          "message": "작품 제목: 9126"
        },
        {
          "time": "13:42:45",
          "message": "작품 제목: 9126"
        },
        {
          "time": "13:42:59",
          "message": "작품 제목: 9126"
        },
        {
          "time": "13:54:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:54:34"
        },
        {
          "time": "13:54:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:54:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:57:13",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:57:13",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:57:13",
          "message": "작품 제목: 9126"
        },
        {
          "time": "13:57:20",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:57:20",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:57:20",
          "message": "작품 제목: 9126"
        },
        {
          "time": "13:57:40",
          "message": "작품 제목: 하나노이 군과 상사병 - Megumi Morino"
        },
        {
          "time": "13:57:40",
          "message": "메타데이터 태그 저장: Megumi Morino, 하나노이 군과 상사병"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:42:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #27"
        },
        {
          "time": "12:42:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:43:15",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:43:47",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "12:53:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T12:53:52"
        },
        {
          "time": "12:53:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:53:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:46:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1007"
        },
        {
          "time": "06:46:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:47:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하나노이 군과 상사병 - Megumi Morino | 뉴토끼, links=130"
        },
        {
          "time": "06:47:11",
          "message": "작품 제목: 하나노이 군과 상사병 - Megumi Morino"
        },
        {
          "time": "06:47:11",
          "message": "메타데이터 태그 저장: Megumi Morino, 하나노이 군과 상사병"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:44:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #122"
        },
        {
          "time": "18:44:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:45:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하나노이 군과 상사병 - Megumi Morino | 뉴토끼, links=130"
        },
        {
          "time": "18:45:10",
          "message": "작품 제목: 하나노이 군과 상사병 - Megumi Morino"
        },
        {
          "time": "18:45:10",
          "message": "메타데이터 태그 저장: Megumi Morino, 하나노이 군과 상사병"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:56:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #569"
        },
        {
          "time": "12:56:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:57:14",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:57:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #570"
        },
        {
          "time": "12:57:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:57:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하나노이 군과 상사병 - Megumi Morino | 뉴토끼, links=130"
        },
        {
          "time": "12:57:29",
          "message": "작품 제목: 하나노이 군과 상사병 - Megumi Morino"
        },
        {
          "time": "12:57:30",
          "message": "메타데이터 태그 저장: Megumi Morino, 하나노이 군과 상사병"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:24:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1109"
        },
        {
          "time": "06:24:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:24:44",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:24:44",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:24:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1110"
        },
        {
          "time": "06:24:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:25:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하나노이 군과 상사병 - Megumi Morino | 뉴토끼, links=130"
        },
        {
          "time": "06:25:41",
          "message": "작품 제목: 하나노이 군과 상사병 - Megumi Morino"
        },
        {
          "time": "06:25:43",
          "message": "메타데이터 태그 저장: Megumi Morino, 하나노이 군과 상사병"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_9126",
        "target_id": "manhwa_9126",
        "title": "하나노이 군과 상사병 - Megumi Morino",
        "episodes_found": 128,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 128,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_9126",
          "title": "하나노이 군과 상사병 - Megumi Morino",
          "list_url": "https://newtoki1.org/manhwa/9126",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/9126"
          },
          "tags": [
            "Megumi Morino",
            "하나노이 군과 상사병"
          ],
          "description": "“언젠가 나도 사랑을 할 수 있을까…?”옆 반의 하나노이에게 갑자기 고백을 받은 히나세 호타루. 좋아하는 애를 위해서라면 뭐든 해주고 싶은 하나노이 때문에 당황스럽기만 한데…? 사랑을 모르는 소녀×사랑이 너무 무거운 소년의 첫사랑 러브스토리♥",
          "metadata_path": "/downloads/manhwa_9126/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 128,
        "total": 128,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "9d415815a8",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:52:29",
      "started_at": "2026-06-04T06:22:56",
      "finished_at": "2026-06-04T06:24:20",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "히토미는 낯가림쟁이 - 나츠우미 쵸리스케",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/7594",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_7594",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "10:12:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_088/019.jpg"
        },
        {
          "time": "10:12:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_088/020.jpg"
        },
        {
          "time": "10:12:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_088/021.jpg"
        },
        {
          "time": "10:12:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_088/022.jpg"
        },
        {
          "time": "10:12:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_088/023.jpg"
        },
        {
          "time": "10:12:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_088/024.jpg"
        },
        {
          "time": "10:12:36",
          "message": "  [>] 이미지 24개 처리 완료.\n"
        },
        {
          "time": "10:12:37",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/7594/1764355"
        },
        {
          "time": "10:12:37",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/7594/1764355"
        },
        {
          "time": "10:12:46",
          "message": "  [i] 회차 제목: 히토미는 낯가림쟁이 106화 …105, 106화"
        },
        {
          "time": "10:12:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/001.jpg"
        },
        {
          "time": "10:12:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/002.jpg"
        },
        {
          "time": "10:12:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/003.jpg"
        },
        {
          "time": "10:12:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/004.jpg"
        },
        {
          "time": "10:12:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/005.jpg"
        },
        {
          "time": "10:12:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/006.jpg"
        },
        {
          "time": "10:12:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/007.jpg"
        },
        {
          "time": "10:12:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/008.jpg"
        },
        {
          "time": "10:12:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/009.jpg"
        },
        {
          "time": "10:12:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/010.jpg"
        },
        {
          "time": "10:12:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/011.jpg"
        },
        {
          "time": "10:12:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/012.jpg"
        },
        {
          "time": "10:12:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/013.jpg"
        },
        {
          "time": "10:12:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/014.jpg"
        },
        {
          "time": "10:13:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/015.jpg"
        },
        {
          "time": "10:13:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/016.jpg"
        },
        {
          "time": "10:13:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/017.jpg"
        },
        {
          "time": "10:13:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/018.jpg"
        },
        {
          "time": "10:13:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/019.jpg"
        },
        {
          "time": "10:13:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/020.jpg"
        },
        {
          "time": "10:13:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/021.jpg"
        },
        {
          "time": "10:13:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/022.jpg"
        },
        {
          "time": "10:13:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/023.jpg"
        },
        {
          "time": "10:13:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/024.jpg"
        },
        {
          "time": "10:13:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/025.jpg"
        },
        {
          "time": "10:13:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_089/026.jpg"
        },
        {
          "time": "10:13:11",
          "message": "  [>] 이미지 26개 처리 완료.\n"
        },
        {
          "time": "10:13:12",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/7594/1764425"
        },
        {
          "time": "10:13:12",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/7594/1764425"
        },
        {
          "time": "10:13:21",
          "message": "  [i] 회차 제목: 히토미는 낯가림쟁이 108화 …107, 108화"
        },
        {
          "time": "10:13:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/001.jpg"
        },
        {
          "time": "10:13:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/002.jpg"
        },
        {
          "time": "10:13:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/003.jpg"
        },
        {
          "time": "10:13:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/004.jpg"
        },
        {
          "time": "10:13:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/005.jpg"
        },
        {
          "time": "10:13:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/006.jpg"
        },
        {
          "time": "10:13:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/007.jpg"
        },
        {
          "time": "10:13:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/008.jpg"
        },
        {
          "time": "10:13:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/009.jpg"
        },
        {
          "time": "10:13:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/010.jpg"
        },
        {
          "time": "10:13:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/011.jpg"
        },
        {
          "time": "10:13:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/012.jpg"
        },
        {
          "time": "10:13:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/013.jpg"
        },
        {
          "time": "10:13:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/014.jpg"
        },
        {
          "time": "10:13:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/015.jpg"
        },
        {
          "time": "10:13:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/016.jpg"
        },
        {
          "time": "10:13:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/017.jpg"
        },
        {
          "time": "10:13:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/018.jpg"
        },
        {
          "time": "10:13:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/019.jpg"
        },
        {
          "time": "10:13:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/020.jpg"
        },
        {
          "time": "10:13:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/021.jpg"
        },
        {
          "time": "10:13:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/022.jpg"
        },
        {
          "time": "10:13:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/023.jpg"
        },
        {
          "time": "10:13:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/024.jpg"
        },
        {
          "time": "10:13:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/025.jpg"
        },
        {
          "time": "10:13:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/026.jpg"
        },
        {
          "time": "10:13:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/027.jpg"
        },
        {
          "time": "10:13:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/028.jpg"
        },
        {
          "time": "10:13:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/029.jpg"
        },
        {
          "time": "10:13:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/030.jpg"
        },
        {
          "time": "10:13:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_7594/ep_090/031.jpg"
        },
        {
          "time": "10:13:50",
          "message": "  [>] 이미지 31개 처리 완료.\n"
        },
        {
          "time": "10:13:51",
          "message": "완료: 회차 12개 처리, 이미지 321개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 12)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:14:19",
          "message": "작품 제목: 7594"
        },
        {
          "time": "06:24:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:24:37"
        },
        {
          "time": "06:24:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:24:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:30:50",
          "message": "작품 제목: 7594"
        },
        {
          "time": "13:30:58",
          "message": "작품 제목: 7594"
        },
        {
          "time": "13:31:41",
          "message": "작품 제목: 7594"
        },
        {
          "time": "13:41:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:41:49"
        },
        {
          "time": "13:41:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:41:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:41:56",
          "message": "작품 제목: 7594"
        },
        {
          "time": "13:42:02",
          "message": "작품 제목: 7594"
        },
        {
          "time": "13:42:09",
          "message": "작품 제목: 7594"
        },
        {
          "time": "13:52:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:52:25"
        },
        {
          "time": "13:52:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:52:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:55:07",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:55:07",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:55:08",
          "message": "작품 제목: 7594"
        },
        {
          "time": "13:55:20",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:55:20",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:55:21",
          "message": "작품 제목: 7594"
        },
        {
          "time": "13:55:28",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:55:28",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:55:28",
          "message": "작품 제목: 7594"
        },
        {
          "time": "14:06:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:06:22"
        },
        {
          "time": "14:06:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:06:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:17:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:27:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:27:52"
        },
        {
          "time": "14:27:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:27:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:28:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:38:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:38:33"
        },
        {
          "time": "14:38:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:38:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:38:44",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:48:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:48:56"
        },
        {
          "time": "14:48:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:48:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:52:27",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:52:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:52:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=히토미는 낯가림쟁이 - 나츠우미 쵸리스케 | 뉴토끼, links=116"
        },
        {
          "time": "14:52:45",
          "message": "작품 제목: 히토미는 낯가림쟁이 - 나츠우미 쵸리스케"
        },
        {
          "time": "14:52:45",
          "message": "메타데이터 태그 저장: 나츠우미 쵸리스케, 히토미는 낯가림쟁이"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:42:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #26"
        },
        {
          "time": "12:42:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:42:20",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:42:20",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "12:52:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T12:52:44"
        },
        {
          "time": "12:52:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:52:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:46:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1006"
        },
        {
          "time": "06:46:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:46:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=히토미는 낯가림쟁이 - 나츠우미 쵸리스케 | 뉴토끼, links=116"
        },
        {
          "time": "06:46:55",
          "message": "작품 제목: 히토미는 낯가림쟁이 - 나츠우미 쵸리스케"
        },
        {
          "time": "06:46:55",
          "message": "메타데이터 태그 저장: 나츠우미 쵸리스케, 히토미는 낯가림쟁이"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:45:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #123"
        },
        {
          "time": "18:45:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:45:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=히토미는 낯가림쟁이 - 나츠우미 쵸리스케 | 뉴토끼, links=116"
        },
        {
          "time": "18:45:25",
          "message": "작품 제목: 히토미는 낯가림쟁이 - 나츠우미 쵸리스케"
        },
        {
          "time": "18:45:25",
          "message": "메타데이터 태그 저장: 나츠우미 쵸리스케, 히토미는 낯가림쟁이"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:56:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #568"
        },
        {
          "time": "12:56:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:56:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=히토미는 낯가림쟁이 - 나츠우미 쵸리스케 | 뉴토끼, links=116"
        },
        {
          "time": "12:56:50",
          "message": "작품 제목: 히토미는 낯가림쟁이 - 나츠우미 쵸리스케"
        },
        {
          "time": "12:56:51",
          "message": "메타데이터 태그 저장: 나츠우미 쵸리스케, 히토미는 낯가림쟁이"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:24:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1108"
        },
        {
          "time": "06:24:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:24:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=히토미는 낯가림쟁이 - 나츠우미 쵸리스케 | 뉴토끼, links=116"
        },
        {
          "time": "06:24:19",
          "message": "작품 제목: 히토미는 낯가림쟁이 - 나츠우미 쵸리스케"
        },
        {
          "time": "06:24:20",
          "message": "메타데이터 태그 저장: 나츠우미 쵸리스케, 히토미는 낯가림쟁이"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_7594",
        "target_id": "manhwa_7594",
        "title": "히토미는 낯가림쟁이 - 나츠우미 쵸리스케",
        "episodes_found": 114,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 114,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_7594",
          "title": "히토미는 낯가림쟁이 - 나츠우미 쵸리스케",
          "list_url": "https://newtoki1.org/manhwa/7594",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/7594"
          },
          "tags": [
            "나츠우미 쵸리스케",
            "히토미는 낯가림쟁이"
          ],
          "description": "`왜 나를 노려보는 거지?` 오해를 사기 쉬운 날카로운 삼백안 여주인공의 일상 코미디! 어디에나 있는 평범한 고등학생 2학년 남학생 우사미는 어느날 우연히 `뭔가 눈빛이 나빠서 여러가지로 크게 보이는 여자`가 자신을 노려보고 있다는 걸 느낀다. 겉보기엔 무섭고 서툴기도 하지만, 사실",
          "metadata_path": "/downloads/manhwa_7594/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 114,
        "total": 114,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "ad2b79d8f0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:52:23",
      "started_at": "2026-06-04T06:21:43",
      "finished_at": "2026-06-04T06:22:56",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "월요일의 타와와 - 히무라 키세키",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/4172",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_4172",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "22:30:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_185/024.jpg"
        },
        {
          "time": "22:30:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_185/025.jpg"
        },
        {
          "time": "22:30:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_185/026.jpg"
        },
        {
          "time": "22:30:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_185/027.jpg"
        },
        {
          "time": "22:30:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_185/028.jpg"
        },
        {
          "time": "22:30:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_185/029.jpg"
        },
        {
          "time": "22:30:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_185/030.jpg"
        },
        {
          "time": "22:30:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_185/031.jpg"
        },
        {
          "time": "22:30:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_185/032.jpg"
        },
        {
          "time": "22:30:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_185/033.jpg"
        },
        {
          "time": "22:30:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_185/034.jpg"
        },
        {
          "time": "22:30:54",
          "message": "  [>] 이미지 34/34개 처리 완료.\n"
        },
        {
          "time": "22:30:56",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/4172/55127"
        },
        {
          "time": "22:30:56",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/4172/55127"
        },
        {
          "time": "22:31:15",
          "message": "  [i] 회차 제목: 월요일의 타와와 14화 7-1권"
        },
        {
          "time": "22:31:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/001.jpg"
        },
        {
          "time": "22:31:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/002.jpg"
        },
        {
          "time": "22:31:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/003.jpg"
        },
        {
          "time": "22:31:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/004.jpg"
        },
        {
          "time": "22:31:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/005.jpg"
        },
        {
          "time": "22:31:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/006.jpg"
        },
        {
          "time": "22:31:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/007.jpg"
        },
        {
          "time": "22:31:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/008.jpg"
        },
        {
          "time": "22:31:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/009.jpg"
        },
        {
          "time": "22:31:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/010.jpg"
        },
        {
          "time": "22:31:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/011.jpg"
        },
        {
          "time": "22:31:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/012.jpg"
        },
        {
          "time": "22:31:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/013.jpg"
        },
        {
          "time": "22:31:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/014.jpg"
        },
        {
          "time": "22:31:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/015.jpg"
        },
        {
          "time": "22:31:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/016.jpg"
        },
        {
          "time": "22:31:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/017.jpg"
        },
        {
          "time": "22:31:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/018.jpg"
        },
        {
          "time": "22:31:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/019.jpg"
        },
        {
          "time": "22:31:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/020.jpg"
        },
        {
          "time": "22:31:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/021.jpg"
        },
        {
          "time": "22:31:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/022.jpg"
        },
        {
          "time": "22:31:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/023.jpg"
        },
        {
          "time": "22:31:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/024.jpg"
        },
        {
          "time": "22:31:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/025.jpg"
        },
        {
          "time": "22:31:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/026.jpg"
        },
        {
          "time": "22:31:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_4172/ep_186/027.jpg"
        },
        {
          "time": "22:31:48",
          "message": "  [>] 이미지 27/27개 처리 완료.\n"
        },
        {
          "time": "22:31:49",
          "message": "완료: 회차 26개 처리, 이미지 499개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 26)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:56:29",
          "message": "작품 제목: 4172"
        },
        {
          "time": "06:06:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:06:32"
        },
        {
          "time": "06:06:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:06:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:30:17",
          "message": "작품 제목: 4172"
        },
        {
          "time": "13:30:25",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "13:31:04",
          "message": "중단 작업 재개 요청으로 대기열 맨 앞에 추가되었습니다: 2026-05-28T13:31:03"
        },
        {
          "time": "13:31:49",
          "message": "작품 제목: 4172"
        },
        {
          "time": "13:31:54",
          "message": "작품 제목: 4172"
        },
        {
          "time": "13:32:01",
          "message": "작품 제목: 4172"
        },
        {
          "time": "13:42:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:42:09"
        },
        {
          "time": "13:42:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:42:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:42:16",
          "message": "작품 제목: 4172"
        },
        {
          "time": "13:42:22",
          "message": "작품 제목: 4172"
        },
        {
          "time": "13:42:30",
          "message": "작품 제목: 4172"
        },
        {
          "time": "13:52:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:52:52"
        },
        {
          "time": "13:52:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:52:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:55:40",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:55:40",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:55:40",
          "message": "작품 제목: 4172"
        },
        {
          "time": "13:55:48",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:55:48",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:55:48",
          "message": "작품 제목: 4172"
        },
        {
          "time": "13:55:55",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "13:55:55",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function() takes 2 positional arguments but 3 positional arguments (and 2 keyword-only arguments) were given"
        },
        {
          "time": "13:57:01",
          "message": "작품 제목: 4172"
        },
        {
          "time": "14:07:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:07:40"
        },
        {
          "time": "14:07:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:07:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:17:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:27:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:27:52"
        },
        {
          "time": "14:27:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:27:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:28:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:39:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:39:03"
        },
        {
          "time": "14:39:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:39:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:39:03",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:50:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:50:53"
        },
        {
          "time": "14:50:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:50:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:52:46",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:52:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:03:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:03:08"
        },
        {
          "time": "15:03:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:03:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:03:08",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:03:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:13:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:13:51"
        },
        {
          "time": "15:13:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:13:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:13:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "15:13:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:24:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:24:23"
        },
        {
          "time": "15:24:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:24:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:28:55",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:28:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:29:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=월요일의 타와와 - 히무라 키세키 | 뉴토끼, links=188"
        },
        {
          "time": "15:29:10",
          "message": "작품 제목: 월요일의 타와와 - 히무라 키세키"
        },
        {
          "time": "15:29:10",
          "message": "메타데이터 태그 저장: 월요일의 타와와, 히무라 키세키"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:40:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "12:40:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:40:58",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:40:58",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "12:51:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T12:51:27"
        },
        {
          "time": "12:51:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:51:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:43:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1003"
        },
        {
          "time": "06:43:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:43:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=월요일의 타와와 - 히무라 키세키 | 뉴토끼, links=189"
        },
        {
          "time": "06:43:31",
          "message": "작품 제목: 월요일의 타와와 - 히무라 키세키"
        },
        {
          "time": "06:43:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1004"
        },
        {
          "time": "06:43:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:43:31",
          "message": "메타데이터 태그 저장: 월요일의 타와와, 히무라 키세키"
        },
        {
          "time": "06:43:31",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "06:43:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=월요일의 타와와 141화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:45:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #125"
        },
        {
          "time": "18:45:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:45:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=월요일의 타와와 - 히무라 키세키 | 뉴토끼, links=189"
        },
        {
          "time": "18:45:58",
          "message": "작품 제목: 월요일의 타와와 - 히무라 키세키"
        },
        {
          "time": "18:45:58",
          "message": "메타데이터 태그 저장: 월요일의 타와와, 히무라 키세키"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:53:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #565"
        },
        {
          "time": "12:53:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:53:48",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:53:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #566"
        },
        {
          "time": "12:53:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:54:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=월요일의 타와와 - 히무라 키세키 | 뉴토끼, links=189"
        },
        {
          "time": "12:54:39",
          "message": "작품 제목: 월요일의 타와와 - 히무라 키세키"
        },
        {
          "time": "12:54:39",
          "message": "메타데이터 태그 저장: 월요일의 타와와, 히무라 키세키"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:22:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1106"
        },
        {
          "time": "06:22:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:22:38",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:22:38",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:22:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1107"
        },
        {
          "time": "06:22:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:22:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=월요일의 타와와 - 히무라 키세키 | 뉴토끼, links=189"
        },
        {
          "time": "06:22:55",
          "message": "작품 제목: 월요일의 타와와 - 히무라 키세키"
        },
        {
          "time": "06:22:56",
          "message": "메타데이터 태그 저장: 월요일의 타와와, 히무라 키세키"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_4172",
        "target_id": "manhwa_4172",
        "title": "월요일의 타와와 - 히무라 키세키",
        "episodes_found": 187,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 187,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_4172",
          "title": "월요일의 타와와 - 히무라 키세키",
          "list_url": "https://newtoki1.org/manhwa/4172",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/4172"
          },
          "tags": [
            "월요일의 타와와",
            "히무라 키세키"
          ],
          "description": "언제나 우울한 월요일 아침, 출근길 전철 역에서 주인공은 상사의 언짢아 하는 얼굴을 떠올리며 한숨을 내쉰다. 진지한 생각은 아니지만, 순간 철로에 몸을 던지면 편해지지 않을까 생각할 정도로 그는 지쳐 있었다. 그렇게 마냥 반복될 것만 같던 메마른 일상 속에서, 어느 날 그는 느닷없는",
          "metadata_path": "/downloads/manhwa_4172/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 187,
        "total": 187,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "4b31874947",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:51:32",
      "started_at": "2026-06-04T06:20:36",
      "finished_at": "2026-06-04T06:21:43",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "아케비의 세일러복 - 히로",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3868",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3868",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "07:59:59",
          "message": "  [i] 회차 제목: 아케비의 세일러복 88화"
        },
        {
          "time": "08:00:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/001.jpg"
        },
        {
          "time": "08:00:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/002.jpg"
        },
        {
          "time": "08:00:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/003.jpg"
        },
        {
          "time": "08:00:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/004.jpg"
        },
        {
          "time": "08:00:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/005.jpg"
        },
        {
          "time": "08:00:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/006.jpg"
        },
        {
          "time": "08:00:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/007.jpg"
        },
        {
          "time": "08:00:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/008.jpg"
        },
        {
          "time": "08:00:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/009.jpg"
        },
        {
          "time": "08:00:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/010.jpg"
        },
        {
          "time": "08:00:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/011.jpg"
        },
        {
          "time": "08:00:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/012.jpg"
        },
        {
          "time": "08:00:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/013.jpg"
        },
        {
          "time": "08:00:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/014.jpg"
        },
        {
          "time": "08:00:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/015.jpg"
        },
        {
          "time": "08:00:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/016.jpg"
        },
        {
          "time": "08:00:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/017.jpg"
        },
        {
          "time": "08:00:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/018.jpg"
        },
        {
          "time": "08:00:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/019.jpg"
        },
        {
          "time": "08:00:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/020.jpg"
        },
        {
          "time": "08:00:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/021.jpg"
        },
        {
          "time": "08:00:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/022.jpg"
        },
        {
          "time": "08:00:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/023.jpg"
        },
        {
          "time": "08:00:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/024.jpg"
        },
        {
          "time": "08:00:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/025.jpg"
        },
        {
          "time": "08:00:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/026.jpg"
        },
        {
          "time": "08:00:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/027.jpg"
        },
        {
          "time": "08:00:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/028.jpg"
        },
        {
          "time": "08:00:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/029.jpg"
        },
        {
          "time": "08:00:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/030.jpg"
        },
        {
          "time": "08:00:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/031.jpg"
        },
        {
          "time": "08:00:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/032.jpg"
        },
        {
          "time": "08:00:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/033.jpg"
        },
        {
          "time": "08:00:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/034.jpg"
        },
        {
          "time": "08:00:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/035.jpg"
        },
        {
          "time": "08:00:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/036.jpg"
        },
        {
          "time": "08:00:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/037.jpg"
        },
        {
          "time": "08:00:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/038.jpg"
        },
        {
          "time": "08:00:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/039.jpg"
        },
        {
          "time": "08:00:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/040.jpg"
        },
        {
          "time": "08:01:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/041.jpg"
        },
        {
          "time": "08:01:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/042.jpg"
        },
        {
          "time": "08:01:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/043.jpg"
        },
        {
          "time": "08:01:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/044.jpg"
        },
        {
          "time": "08:01:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/045.jpg"
        },
        {
          "time": "08:01:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/046.jpg"
        },
        {
          "time": "08:01:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/047.jpg"
        },
        {
          "time": "08:01:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/048.jpg"
        },
        {
          "time": "08:01:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/049.jpg"
        },
        {
          "time": "08:01:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/050.jpg"
        },
        {
          "time": "08:01:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/051.jpg"
        },
        {
          "time": "08:01:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/052.jpg"
        },
        {
          "time": "08:01:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/053.jpg"
        },
        {
          "time": "08:01:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/054.jpg"
        },
        {
          "time": "08:01:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/055.jpg"
        },
        {
          "time": "08:01:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/056.jpg"
        },
        {
          "time": "08:01:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/057.jpg"
        },
        {
          "time": "08:01:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/058.jpg"
        },
        {
          "time": "08:01:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/059.jpg"
        },
        {
          "time": "08:01:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/060.jpg"
        },
        {
          "time": "08:01:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/061.jpg"
        },
        {
          "time": "08:01:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/062.jpg"
        },
        {
          "time": "08:01:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/063.jpg"
        },
        {
          "time": "08:01:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/064.jpg"
        },
        {
          "time": "08:01:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/065.jpg"
        },
        {
          "time": "08:01:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/066.jpg"
        },
        {
          "time": "08:01:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/067.jpg"
        },
        {
          "time": "08:01:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/068.jpg"
        },
        {
          "time": "08:01:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/069.jpg"
        },
        {
          "time": "08:01:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/070.jpg"
        },
        {
          "time": "08:01:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/071.jpg"
        },
        {
          "time": "08:01:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/072.jpg"
        },
        {
          "time": "08:01:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3868/ep_120/073.jpg"
        },
        {
          "time": "08:01:52",
          "message": "  [>] 이미지 73개 처리 완료.\n"
        },
        {
          "time": "08:01:53",
          "message": "완료: 회차 120개 처리, 이미지 2842개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 120)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 120)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:37:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:37:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:47:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:47:39"
        },
        {
          "time": "06:47:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:47:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:29:22",
          "message": "작품 제목: 3868"
        },
        {
          "time": "13:29:28",
          "message": "작품 제목: 3868"
        },
        {
          "time": "13:30:08",
          "message": "작품 제목: 3868"
        },
        {
          "time": "13:40:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:40:12"
        },
        {
          "time": "13:40:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:40:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:41:01",
          "message": "작품 제목: 3868"
        },
        {
          "time": "13:41:08",
          "message": "작품 제목: 3868"
        },
        {
          "time": "13:41:49",
          "message": "작품 제목: 3868"
        },
        {
          "time": "13:52:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:52:25"
        },
        {
          "time": "13:52:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:52:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:05:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:05:03"
        },
        {
          "time": "14:05:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:05:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:16:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:27:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:27:20"
        },
        {
          "time": "14:27:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:27:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:27:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:38:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:38:11"
        },
        {
          "time": "14:38:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:38:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:38:43",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:48:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:48:56"
        },
        {
          "time": "14:48:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:48:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:51:53",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:51:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:52:23",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:39:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #30"
        },
        {
          "time": "16:39:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:40:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아케비의 세일러복 - 히로 | 뉴토끼, links=122"
        },
        {
          "time": "16:40:07",
          "message": "작품 제목: 아케비의 세일러복 - 히로"
        },
        {
          "time": "16:40:07",
          "message": "메타데이터 태그 저장: 아케비의 세일러복, 히로"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:15:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #979"
        },
        {
          "time": "06:15:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:15:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아케비의 세일러복 - 히로 | 뉴토끼, links=122"
        },
        {
          "time": "06:15:19",
          "message": "작품 제목: 아케비의 세일러복 - 히로"
        },
        {
          "time": "06:15:19",
          "message": "메타데이터 태그 저장: 아케비의 세일러복, 히로"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:56:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #141"
        },
        {
          "time": "18:56:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:57:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아케비의 세일러복 - 히로 | 뉴토끼, links=122"
        },
        {
          "time": "18:57:12",
          "message": "작품 제목: 아케비의 세일러복 - 히로"
        },
        {
          "time": "18:57:12",
          "message": "메타데이터 태그 저장: 아케비의 세일러복, 히로"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:43:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #552"
        },
        {
          "time": "12:43:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:43:46",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:43:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #553"
        },
        {
          "time": "12:43:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:44:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아케비의 세일러복 - 히로 | 뉴토끼, links=122"
        },
        {
          "time": "12:45:05",
          "message": "작품 제목: 아케비의 세일러복 - 히로"
        },
        {
          "time": "12:45:06",
          "message": "메타데이터 태그 저장: 아케비의 세일러복, 히로"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:20:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1104"
        },
        {
          "time": "06:20:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:21:30",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:21:30",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:21:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1105"
        },
        {
          "time": "06:21:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:21:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아케비의 세일러복 - 히로 | 뉴토끼, links=122"
        },
        {
          "time": "06:21:42",
          "message": "작품 제목: 아케비의 세일러복 - 히로"
        },
        {
          "time": "06:21:43",
          "message": "메타데이터 태그 저장: 아케비의 세일러복, 히로"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3868",
        "target_id": "manhwa_3868",
        "title": "아케비의 세일러복 - 히로",
        "episodes_found": 120,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 120,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3868",
          "title": "아케비의 세일러복 - 히로",
          "list_url": "https://newtoki1.org/manhwa/3868",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3868"
          },
          "tags": [
            "아케비의 세일러복",
            "히로"
          ],
          "description": "세일러복 소녀 아케비와 함께하는 투명한 수면처럼 맑게 빛나는 소녀들의 청춘! 시골의 명문 여자 중학교, 사립 로우바이 학원. 이 학교의 세일러 교복을 입는 게 「꿈」이었던 아케비 코미치. 소녀의 「꿈」인 세일러복과 함께하는 중학생활이 드디어 시작된다♪ 드넓게 펼쳐진 푸르른 전원풍경.",
          "metadata_path": "/downloads/manhwa_3868/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 120,
        "total": 120,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "0bee0addb1",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:51:08",
      "started_at": "2026-06-04T06:18:48",
      "finished_at": "2026-06-04T06:20:36",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "고바야시네 메이드래곤 - 쿨교신자",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3828",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3828",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "22:09:41",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3828/1814408"
        },
        {
          "time": "22:09:41",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3828/1814408"
        },
        {
          "time": "22:10:00",
          "message": "  [i] 회차 제목: 고바야시네 메이드래곤 174화 코바야시네의 메이드래곤 174화"
        },
        {
          "time": "22:10:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/001.jpg"
        },
        {
          "time": "22:10:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/002.jpg"
        },
        {
          "time": "22:10:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/003.jpg"
        },
        {
          "time": "22:10:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/004.jpg"
        },
        {
          "time": "22:10:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/005.jpg"
        },
        {
          "time": "22:10:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/006.jpg"
        },
        {
          "time": "22:10:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/007.jpg"
        },
        {
          "time": "22:10:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/008.jpg"
        },
        {
          "time": "22:10:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/009.jpg"
        },
        {
          "time": "22:10:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/010.jpg"
        },
        {
          "time": "22:10:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/011.jpg"
        },
        {
          "time": "22:10:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/012.jpg"
        },
        {
          "time": "22:10:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/013.jpg"
        },
        {
          "time": "22:10:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/014.jpg"
        },
        {
          "time": "22:10:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_175/015.jpg"
        },
        {
          "time": "22:10:17",
          "message": "  [>] 이미지 15/15개 처리 완료.\n"
        },
        {
          "time": "22:10:18",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3828/1814501"
        },
        {
          "time": "22:10:18",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3828/1814501"
        },
        {
          "time": "22:10:37",
          "message": "  [i] 회차 제목: 고바야시네 메이드래곤 175화 코바야시네의 메이드래곤 175화"
        },
        {
          "time": "22:10:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/001.jpg"
        },
        {
          "time": "22:10:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/002.jpg"
        },
        {
          "time": "22:10:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/003.jpg"
        },
        {
          "time": "22:10:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/004.jpg"
        },
        {
          "time": "22:10:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/005.jpg"
        },
        {
          "time": "22:10:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/006.jpg"
        },
        {
          "time": "22:10:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/007.jpg"
        },
        {
          "time": "22:10:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/008.jpg"
        },
        {
          "time": "22:10:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/009.jpg"
        },
        {
          "time": "22:10:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/010.jpg"
        },
        {
          "time": "22:10:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/011.jpg"
        },
        {
          "time": "22:10:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/012.jpg"
        },
        {
          "time": "22:10:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/013.jpg"
        },
        {
          "time": "22:10:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_176/014.jpg"
        },
        {
          "time": "22:10:49",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "22:10:50",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3828/1814631"
        },
        {
          "time": "22:10:50",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3828/1814631"
        },
        {
          "time": "22:11:09",
          "message": "  [i] 회차 제목: 고바야시네 메이드래곤 176화 코바야시네의 메이드래곤 176화"
        },
        {
          "time": "22:11:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/001.jpg"
        },
        {
          "time": "22:11:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/002.jpg"
        },
        {
          "time": "22:11:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/003.jpg"
        },
        {
          "time": "22:11:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/004.jpg"
        },
        {
          "time": "22:11:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/005.jpg"
        },
        {
          "time": "22:11:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/006.jpg"
        },
        {
          "time": "22:11:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/007.jpg"
        },
        {
          "time": "22:11:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/008.jpg"
        },
        {
          "time": "22:11:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/009.jpg"
        },
        {
          "time": "22:11:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/010.jpg"
        },
        {
          "time": "22:11:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/011.jpg"
        },
        {
          "time": "22:11:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/012.jpg"
        },
        {
          "time": "22:11:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/013.jpg"
        },
        {
          "time": "22:11:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_177/014.jpg"
        },
        {
          "time": "22:11:24",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "22:11:25",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3828/1814814"
        },
        {
          "time": "22:11:25",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3828/1814814"
        },
        {
          "time": "22:11:43",
          "message": "  [i] 회차 제목: 고바야시네 메이드래곤 177화 코바야시네의 메이드래곤 177화"
        },
        {
          "time": "22:11:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/001.jpg"
        },
        {
          "time": "22:11:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/002.jpg"
        },
        {
          "time": "22:11:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/003.jpg"
        },
        {
          "time": "22:11:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/004.jpg"
        },
        {
          "time": "22:11:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/005.jpg"
        },
        {
          "time": "22:11:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/006.jpg"
        },
        {
          "time": "22:11:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/007.jpg"
        },
        {
          "time": "22:11:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/008.jpg"
        },
        {
          "time": "22:11:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/009.jpg"
        },
        {
          "time": "22:11:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/010.jpg"
        },
        {
          "time": "22:11:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/011.jpg"
        },
        {
          "time": "22:11:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/012.jpg"
        },
        {
          "time": "22:11:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/013.jpg"
        },
        {
          "time": "22:11:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_178/014.jpg"
        },
        {
          "time": "22:11:56",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "22:11:57",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3828/1814955"
        },
        {
          "time": "22:11:57",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3828/1814955"
        },
        {
          "time": "22:12:16",
          "message": "  [i] 회차 제목: 고바야시네 메이드래곤 178화 코바야시네의 메이드래곤 178화"
        },
        {
          "time": "22:12:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/001.jpg"
        },
        {
          "time": "22:12:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/002.jpg"
        },
        {
          "time": "22:12:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/003.jpg"
        },
        {
          "time": "22:12:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/004.jpg"
        },
        {
          "time": "22:12:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/005.jpg"
        },
        {
          "time": "22:12:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/006.jpg"
        },
        {
          "time": "22:12:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/007.jpg"
        },
        {
          "time": "22:12:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/008.jpg"
        },
        {
          "time": "22:12:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/009.jpg"
        },
        {
          "time": "22:12:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/010.jpg"
        },
        {
          "time": "22:12:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/011.jpg"
        },
        {
          "time": "22:12:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/012.jpg"
        },
        {
          "time": "22:12:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/013.jpg"
        },
        {
          "time": "22:12:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/014.jpg"
        },
        {
          "time": "22:12:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3828/ep_179/015.jpg"
        },
        {
          "time": "22:12:30",
          "message": "  [>] 이미지 15/15개 처리 완료.\n"
        },
        {
          "time": "22:12:31",
          "message": "완료: 회차 158개 처리, 이미지 2194개 저장, 10개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 158)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:57:01",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:47:32",
          "message": "작품 제목: 3828"
        },
        {
          "time": "12:58:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:58:36"
        },
        {
          "time": "12:58:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:58:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:23:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #269"
        },
        {
          "time": "21:23:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:23:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고바야시네 메이드래곤 - 쿨교신자 | 뉴토끼, links=181"
        },
        {
          "time": "21:23:46",
          "message": "작품 제목: 고바야시네 메이드래곤 - 쿨교신자"
        },
        {
          "time": "21:23:46",
          "message": "메타데이터 태그 저장: 고바야시네 메이드래곤, 쿨교신자"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:12:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #137"
        },
        {
          "time": "14:12:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:13:18",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:13:18",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:23:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:23:55"
        },
        {
          "time": "14:23:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:23:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:15:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1517"
        },
        {
          "time": "14:15:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:15:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고바야시네 메이드래곤 - 쿨교신자 | 뉴토끼, links=181"
        },
        {
          "time": "14:15:22",
          "message": "작품 제목: 고바야시네 메이드래곤 - 쿨교신자"
        },
        {
          "time": "14:15:22",
          "message": "메타데이터 태그 저장: 고바야시네 메이드래곤, 쿨교신자"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:49:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #34"
        },
        {
          "time": "16:49:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:49:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고바야시네 메이드래곤 - 쿨교신자 | 뉴토끼, links=181"
        },
        {
          "time": "16:49:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #35"
        },
        {
          "time": "16:49:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:49:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고바야시네 메이드래곤 - 쿨교신자 | 뉴토끼, links=181"
        },
        {
          "time": "16:49:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #36"
        },
        {
          "time": "16:49:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:49:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고바야시네 메이드래곤 - 쿨교신자 | 뉴토끼, links=181"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:04:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #432"
        },
        {
          "time": "22:04:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:04:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고바야시네 메이드래곤 - 쿨교신자 | 뉴토끼, links=181"
        },
        {
          "time": "22:04:55",
          "message": "작품 제목: 고바야시네 메이드래곤 - 쿨교신자"
        },
        {
          "time": "22:04:55",
          "message": "메타데이터 태그 저장: 고바야시네 메이드래곤, 쿨교신자"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:06:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #345"
        },
        {
          "time": "10:06:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:06:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고바야시네 메이드래곤 - 쿨교신자 | 뉴토끼, links=181"
        },
        {
          "time": "10:06:26",
          "message": "작품 제목: 고바야시네 메이드래곤 - 쿨교신자"
        },
        {
          "time": "10:06:26",
          "message": "메타데이터 태그 저장: 고바야시네 메이드래곤, 쿨교신자"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:19:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1102"
        },
        {
          "time": "06:19:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:19:44",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:19:44",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:19:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1103"
        },
        {
          "time": "06:19:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:19:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고바야시네 메이드래곤 - 쿨교신자 | 뉴토끼, links=181"
        },
        {
          "time": "06:20:34",
          "message": "작품 제목: 고바야시네 메이드래곤 - 쿨교신자"
        },
        {
          "time": "06:20:35",
          "message": "메타데이터 태그 저장: 고바야시네 메이드래곤, 쿨교신자"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3828",
        "target_id": "manhwa_3828",
        "title": "고바야시네 메이드래곤 - 쿨교신자",
        "episodes_found": 179,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 179,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3828",
          "title": "고바야시네 메이드래곤 - 쿨교신자",
          "list_url": "https://newtoki1.org/manhwa/3828",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3828"
          },
          "tags": [
            "고바야시네 메이드래곤",
            "쿨교신자"
          ],
          "description": "밤늦게까지 일하고 왔을 때, 메이드가 있었으면 좋겠다고 생각합니다. 고되고 고된 일을 끝내고 귀가하니 어느덧 밤이 되었습니다. 난방을 떼지 않아 싸늘한 방, 텅 비어있는 밥솥, 깜박 잊고 시작버튼을 누르지 않은 세탁기…… 이러면 정말 집에 돌아와도 돌아온 기분이 들지 않습니다. 이럴",
          "metadata_path": "/downloads/manhwa_3828/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 179,
        "total": 179,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "d2537a487b",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:51:02",
      "started_at": "2026-06-04T06:17:28",
      "finished_at": "2026-06-04T06:18:48",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "우자키 양은 놀고 싶어! - 타케",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8087",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8087",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "20:40:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_140/011.jpg"
        },
        {
          "time": "20:40:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_140/012.jpg"
        },
        {
          "time": "20:40:39",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "20:40:40",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8087/1804153"
        },
        {
          "time": "20:40:40",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8087/1804153"
        },
        {
          "time": "20:40:59",
          "message": "  [i] 회차 제목: 우자키 양은 놀고 싶어! 129화"
        },
        {
          "time": "20:41:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_141/001.jpg"
        },
        {
          "time": "20:41:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_141/002.jpg"
        },
        {
          "time": "20:41:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_141/003.jpg"
        },
        {
          "time": "20:41:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_141/004.jpg"
        },
        {
          "time": "20:41:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_141/005.jpg"
        },
        {
          "time": "20:41:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_141/006.jpg"
        },
        {
          "time": "20:41:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_141/007.jpg"
        },
        {
          "time": "20:41:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_141/008.jpg"
        },
        {
          "time": "20:41:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_141/009.jpg"
        },
        {
          "time": "20:41:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_141/010.jpg"
        },
        {
          "time": "20:41:10",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "20:41:11",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8087/1809950"
        },
        {
          "time": "20:41:12",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8087/1809950"
        },
        {
          "time": "20:41:31",
          "message": "  [i] 회차 제목: 우자키 양은 놀고 싶어! 129.5화 우자키 양은 놀고 …어! 129.5화"
        },
        {
          "time": "20:41:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/001.jpg"
        },
        {
          "time": "20:41:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/002.jpg"
        },
        {
          "time": "20:41:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/003.jpg"
        },
        {
          "time": "20:41:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/004.jpg"
        },
        {
          "time": "20:41:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/005.jpg"
        },
        {
          "time": "20:41:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/006.jpg"
        },
        {
          "time": "20:41:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/007.jpg"
        },
        {
          "time": "20:41:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/008.jpg"
        },
        {
          "time": "20:41:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/009.jpg"
        },
        {
          "time": "20:41:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/010.jpg"
        },
        {
          "time": "20:41:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/011.jpg"
        },
        {
          "time": "20:41:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/012.jpg"
        },
        {
          "time": "20:41:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/013.jpg"
        },
        {
          "time": "20:41:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/014.jpg"
        },
        {
          "time": "20:41:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/015.jpg"
        },
        {
          "time": "20:41:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/016.jpg"
        },
        {
          "time": "20:41:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/017.jpg"
        },
        {
          "time": "20:41:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/018.jpg"
        },
        {
          "time": "20:41:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/019.jpg"
        },
        {
          "time": "20:41:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/020.jpg"
        },
        {
          "time": "20:41:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/021.jpg"
        },
        {
          "time": "20:41:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/022.jpg"
        },
        {
          "time": "20:41:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/023.jpg"
        },
        {
          "time": "20:41:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_142/024.jpg"
        },
        {
          "time": "20:41:55",
          "message": "  [>] 이미지 24/24개 처리 완료.\n"
        },
        {
          "time": "20:41:56",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8087/1813857"
        },
        {
          "time": "20:41:56",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8087/1813857"
        },
        {
          "time": "20:42:15",
          "message": "  [i] 회차 제목: 우자키 양은 놀고 싶어! 130화"
        },
        {
          "time": "20:42:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/001.jpg"
        },
        {
          "time": "20:42:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/002.jpg"
        },
        {
          "time": "20:42:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/003.jpg"
        },
        {
          "time": "20:42:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/004.jpg"
        },
        {
          "time": "20:42:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/005.jpg"
        },
        {
          "time": "20:42:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/006.jpg"
        },
        {
          "time": "20:42:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/007.jpg"
        },
        {
          "time": "20:42:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/008.jpg"
        },
        {
          "time": "20:42:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/009.jpg"
        },
        {
          "time": "20:42:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/010.jpg"
        },
        {
          "time": "20:42:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/011.jpg"
        },
        {
          "time": "20:42:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/012.jpg"
        },
        {
          "time": "20:42:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_143/013.jpg"
        },
        {
          "time": "20:42:36",
          "message": "  [>] 이미지 13/13개 처리 완료.\n"
        },
        {
          "time": "20:42:37",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8087/1814160"
        },
        {
          "time": "20:42:37",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8087/1814160"
        },
        {
          "time": "20:42:56",
          "message": "  [i] 회차 제목: 우자키 양은 놀고 싶어! 131화"
        },
        {
          "time": "20:42:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/001.jpg"
        },
        {
          "time": "20:42:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/002.jpg"
        },
        {
          "time": "20:42:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/003.jpg"
        },
        {
          "time": "20:43:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/004.jpg"
        },
        {
          "time": "20:43:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/005.jpg"
        },
        {
          "time": "20:43:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/006.jpg"
        },
        {
          "time": "20:43:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/007.jpg"
        },
        {
          "time": "20:43:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/008.jpg"
        },
        {
          "time": "20:43:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/009.jpg"
        },
        {
          "time": "20:43:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/010.jpg"
        },
        {
          "time": "20:43:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/011.jpg"
        },
        {
          "time": "20:43:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/012.jpg"
        },
        {
          "time": "20:43:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_144/013.jpg"
        },
        {
          "time": "20:43:13",
          "message": "  [>] 이미지 13/13개 처리 완료.\n"
        },
        {
          "time": "20:43:14",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8087/1814636"
        },
        {
          "time": "20:43:15",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8087/1814636"
        },
        {
          "time": "20:43:33",
          "message": "  [i] 회차 제목: 우자키 양은 놀고 싶어! 132화"
        },
        {
          "time": "20:43:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/001.jpg"
        },
        {
          "time": "20:43:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/002.jpg"
        },
        {
          "time": "20:43:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/003.jpg"
        },
        {
          "time": "20:43:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/004.jpg"
        },
        {
          "time": "20:43:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/005.jpg"
        },
        {
          "time": "20:43:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/006.jpg"
        },
        {
          "time": "20:43:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/007.jpg"
        },
        {
          "time": "20:43:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/008.jpg"
        },
        {
          "time": "20:43:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/009.jpg"
        },
        {
          "time": "20:43:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/010.jpg"
        },
        {
          "time": "20:43:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/011.jpg"
        },
        {
          "time": "20:43:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/012.jpg"
        },
        {
          "time": "20:43:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/013.jpg"
        },
        {
          "time": "20:43:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_8087/ep_145/014.jpg"
        },
        {
          "time": "20:43:44",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "20:43:45",
          "message": "완료: 회차 126개 처리, 이미지 1635개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 126)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:57:26",
          "message": "작품 제목: 8087"
        },
        {
          "time": "06:07:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:07:31"
        },
        {
          "time": "06:07:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:07:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:29:02",
          "message": "작품 제목: 8087"
        },
        {
          "time": "13:29:08",
          "message": "작품 제목: 8087"
        },
        {
          "time": "13:29:15",
          "message": "작품 제목: 8087"
        },
        {
          "time": "13:39:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:39:19"
        },
        {
          "time": "13:39:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:39:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:40:42",
          "message": "작품 제목: 8087"
        },
        {
          "time": "13:40:48",
          "message": "작품 제목: 8087"
        },
        {
          "time": "13:40:54",
          "message": "작품 제목: 8087"
        },
        {
          "time": "13:51:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:51:25"
        },
        {
          "time": "13:51:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:51:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:54:11",
          "message": "작품 제목: 8087"
        },
        {
          "time": "13:54:34",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:39:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #29"
        },
        {
          "time": "16:39:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:39:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우자키 양은 놀고 싶어! - 타케 | 뉴토끼, links=147"
        },
        {
          "time": "16:39:49",
          "message": "작품 제목: 우자키 양은 놀고 싶어! - 타케"
        },
        {
          "time": "16:39:49",
          "message": "메타데이터 태그 저장: 우자키 양은 놀고 싶어!, 타케"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:15:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #980"
        },
        {
          "time": "06:15:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:16:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우자키 양은 놀고 싶어! - 타케 | 뉴토끼, links=147"
        },
        {
          "time": "06:16:06",
          "message": "작품 제목: 우자키 양은 놀고 싶어! - 타케"
        },
        {
          "time": "06:16:06",
          "message": "메타데이터 태그 저장: 우자키 양은 놀고 싶어!, 타케"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:56:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #140"
        },
        {
          "time": "18:56:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:56:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우자키 양은 놀고 싶어! - 타케 | 뉴토끼, links=147"
        },
        {
          "time": "18:56:56",
          "message": "작품 제목: 우자키 양은 놀고 싶어! - 타케"
        },
        {
          "time": "18:56:56",
          "message": "메타데이터 태그 저장: 우자키 양은 놀고 싶어!, 타케"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:45:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #554"
        },
        {
          "time": "12:45:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:46:00",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:46:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #555"
        },
        {
          "time": "12:46:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:46:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우자키 양은 놀고 싶어! - 타케 | 뉴토끼, links=147"
        },
        {
          "time": "12:46:47",
          "message": "작품 제목: 우자키 양은 놀고 싶어! - 타케"
        },
        {
          "time": "12:46:48",
          "message": "메타데이터 태그 저장: 우자키 양은 놀고 싶어!, 타케"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:18:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1101"
        },
        {
          "time": "06:18:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:18:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우자키 양은 놀고 싶어! - 타케 | 뉴토끼, links=147"
        },
        {
          "time": "06:18:47",
          "message": "작품 제목: 우자키 양은 놀고 싶어! - 타케"
        },
        {
          "time": "06:18:47",
          "message": "메타데이터 태그 저장: 우자키 양은 놀고 싶어!, 타케"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8087",
        "target_id": "manhwa_8087",
        "title": "우자키 양은 놀고 싶어! - 타케",
        "episodes_found": 145,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 145,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8087",
          "title": "우자키 양은 놀고 싶어! - 타케",
          "list_url": "https://newtoki1.org/manhwa/8087",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8087"
          },
          "tags": [
            "우자키 양은 놀고 싶어!",
            "타케"
          ],
          "description": "짜증나지만 너무나 귀여운 후배 우자키 한테서 눈을 뗄 수 없다♥혼자 있는 것을 좋아하는 사쿠라이 신이치는 대학 3학년 생으로 20세. 같은 학교 2학년 여학생이며 고등학교 때부터 알고 지내던 후배 우자키 하나가 매번 짜증나고 귀찮게 해서 힘이 든다. 선배라고 꼬박꼬박 불러주지만 외톨이와",
          "metadata_path": "/downloads/manhwa_8087/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 145,
        "total": 145,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "608386da3f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:50:56",
      "started_at": "2026-06-04T06:15:15",
      "finished_at": "2026-06-04T06:17:27",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "바츠하레 - 이나바 미노리",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/33272",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_33272",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "04:09:25",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33272/1812053"
        },
        {
          "time": "04:09:36",
          "message": "  [i] 회차 제목: 바츠하레 182화"
        },
        {
          "time": "04:09:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/001.jpg"
        },
        {
          "time": "04:09:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/002.jpg"
        },
        {
          "time": "04:09:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/003.jpg"
        },
        {
          "time": "04:09:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/004.jpg"
        },
        {
          "time": "04:09:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/005.jpg"
        },
        {
          "time": "04:09:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/006.jpg"
        },
        {
          "time": "04:09:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/007.jpg"
        },
        {
          "time": "04:09:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/008.jpg"
        },
        {
          "time": "04:09:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/009.jpg"
        },
        {
          "time": "04:09:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/010.jpg"
        },
        {
          "time": "04:09:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/011.jpg"
        },
        {
          "time": "04:09:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_186/012.jpg"
        },
        {
          "time": "04:09:50",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "04:09:52",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33272/1812487"
        },
        {
          "time": "04:09:52",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33272/1812487"
        },
        {
          "time": "04:10:02",
          "message": "  [i] 회차 제목: 바츠하레 183화"
        },
        {
          "time": "04:10:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/001.jpg"
        },
        {
          "time": "04:10:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/002.jpg"
        },
        {
          "time": "04:10:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/003.jpg"
        },
        {
          "time": "04:10:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/004.jpg"
        },
        {
          "time": "04:10:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/005.jpg"
        },
        {
          "time": "04:10:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/006.jpg"
        },
        {
          "time": "04:10:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/007.jpg"
        },
        {
          "time": "04:10:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/008.jpg"
        },
        {
          "time": "04:10:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/009.jpg"
        },
        {
          "time": "04:10:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/010.jpg"
        },
        {
          "time": "04:10:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/011.jpg"
        },
        {
          "time": "04:10:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_187/012.jpg"
        },
        {
          "time": "04:10:16",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "04:10:18",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33272/1813014"
        },
        {
          "time": "04:10:18",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33272/1813014"
        },
        {
          "time": "04:10:27",
          "message": "  [i] 회차 제목: 바츠하레 184화"
        },
        {
          "time": "04:10:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/001.jpg"
        },
        {
          "time": "04:10:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/002.jpg"
        },
        {
          "time": "04:10:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/003.jpg"
        },
        {
          "time": "04:10:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/004.jpg"
        },
        {
          "time": "04:10:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/005.jpg"
        },
        {
          "time": "04:10:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/006.jpg"
        },
        {
          "time": "04:10:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/007.jpg"
        },
        {
          "time": "04:10:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/008.jpg"
        },
        {
          "time": "04:10:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/009.jpg"
        },
        {
          "time": "04:10:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/010.jpg"
        },
        {
          "time": "04:10:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/011.jpg"
        },
        {
          "time": "04:10:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_188/012.jpg"
        },
        {
          "time": "04:10:44",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "04:10:45",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33272/1813569"
        },
        {
          "time": "04:10:46",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33272/1813569"
        },
        {
          "time": "04:10:57",
          "message": "  [i] 회차 제목: 바츠하레 185화"
        },
        {
          "time": "04:10:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/001.jpg"
        },
        {
          "time": "04:10:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/002.jpg"
        },
        {
          "time": "04:11:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/003.jpg"
        },
        {
          "time": "04:11:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/004.jpg"
        },
        {
          "time": "04:11:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/005.jpg"
        },
        {
          "time": "04:11:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/006.jpg"
        },
        {
          "time": "04:11:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/007.jpg"
        },
        {
          "time": "04:11:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/008.jpg"
        },
        {
          "time": "04:11:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/009.jpg"
        },
        {
          "time": "04:11:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/010.jpg"
        },
        {
          "time": "04:11:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/011.jpg"
        },
        {
          "time": "04:11:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_189/012.jpg"
        },
        {
          "time": "04:11:10",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "04:11:11",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33272/1814093"
        },
        {
          "time": "04:11:11",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33272/1814093"
        },
        {
          "time": "04:11:20",
          "message": "  [i] 회차 제목: 바츠하레 186화"
        },
        {
          "time": "04:11:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/001.jpg"
        },
        {
          "time": "04:11:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/002.jpg"
        },
        {
          "time": "04:11:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/003.jpg"
        },
        {
          "time": "04:11:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/004.jpg"
        },
        {
          "time": "04:11:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/005.jpg"
        },
        {
          "time": "04:11:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/006.jpg"
        },
        {
          "time": "04:11:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/007.jpg"
        },
        {
          "time": "04:11:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/008.jpg"
        },
        {
          "time": "04:11:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/009.jpg"
        },
        {
          "time": "04:11:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/010.jpg"
        },
        {
          "time": "04:11:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/011.jpg"
        },
        {
          "time": "04:11:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_190/012.jpg"
        },
        {
          "time": "04:11:33",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "04:11:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33272/1814741"
        },
        {
          "time": "04:11:35",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33272/1814741"
        },
        {
          "time": "04:11:45",
          "message": "  [i] 회차 제목: 바츠하레 187화"
        },
        {
          "time": "04:11:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/001.jpg"
        },
        {
          "time": "04:11:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/002.jpg"
        },
        {
          "time": "04:11:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/003.jpg"
        },
        {
          "time": "04:11:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/004.jpg"
        },
        {
          "time": "04:11:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/005.jpg"
        },
        {
          "time": "04:11:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/006.jpg"
        },
        {
          "time": "04:11:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/007.jpg"
        },
        {
          "time": "04:11:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/008.jpg"
        },
        {
          "time": "04:11:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/009.jpg"
        },
        {
          "time": "04:11:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/010.jpg"
        },
        {
          "time": "04:11:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/011.jpg"
        },
        {
          "time": "04:11:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_33272/ep_191/012.jpg"
        },
        {
          "time": "04:11:59",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "04:12:00",
          "message": "완료: 회차 191개 처리, 이미지 2375개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 191)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:16:31",
          "message": "작품 제목: 33272"
        },
        {
          "time": "06:26:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:26:50"
        },
        {
          "time": "06:26:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:26:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:28:45",
          "message": "작품 제목: 33272"
        },
        {
          "time": "13:28:50",
          "message": "작품 제목: 33272"
        },
        {
          "time": "13:28:56",
          "message": "작품 제목: 33272"
        },
        {
          "time": "13:39:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:39:19"
        },
        {
          "time": "13:39:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:39:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:40:19",
          "message": "작품 제목: 33272"
        },
        {
          "time": "13:40:28",
          "message": "작품 제목: 33272"
        },
        {
          "time": "13:40:35",
          "message": "작품 제목: 33272"
        },
        {
          "time": "13:51:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:51:25"
        },
        {
          "time": "13:51:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:51:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:52:37",
          "message": "작품 제목: 33272"
        },
        {
          "time": "13:52:45",
          "message": "작품 제목: 33272"
        },
        {
          "time": "13:52:51",
          "message": "작품 제목: 33272"
        },
        {
          "time": "14:03:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:03:04"
        },
        {
          "time": "14:03:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:03:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:16:08",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:39:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #28"
        },
        {
          "time": "16:39:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:39:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바츠하레 - 이나바 미노리 | 뉴토끼, links=193"
        },
        {
          "time": "16:39:31",
          "message": "작품 제목: 바츠하레 - 이나바 미노리"
        },
        {
          "time": "16:39:31",
          "message": "메타데이터 태그 저장: 바츠하레, 이나바 미노리"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:16:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #981"
        },
        {
          "time": "06:16:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:16:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바츠하레 - 이나바 미노리 | 뉴토끼, links=193"
        },
        {
          "time": "06:16:53",
          "message": "작품 제목: 바츠하레 - 이나바 미노리"
        },
        {
          "time": "06:16:53",
          "message": "메타데이터 태그 저장: 바츠하레, 이나바 미노리"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:55:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #139"
        },
        {
          "time": "18:55:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:55:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바츠하레 - 이나바 미노리 | 뉴토끼, links=193"
        },
        {
          "time": "18:56:30",
          "message": "작품 제목: 바츠하레 - 이나바 미노리"
        },
        {
          "time": "18:56:30",
          "message": "메타데이터 태그 저장: 바츠하레, 이나바 미노리"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:47:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #556"
        },
        {
          "time": "12:47:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:48:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바츠하레 - 이나바 미노리 | 뉴토끼, links=193"
        },
        {
          "time": "12:48:14",
          "message": "작품 제목: 바츠하레 - 이나바 미노리"
        },
        {
          "time": "12:48:15",
          "message": "메타데이터 태그 저장: 바츠하레, 이나바 미노리"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:16:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1100"
        },
        {
          "time": "06:16:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:16:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바츠하레 - 이나바 미노리 | 뉴토끼, links=193"
        },
        {
          "time": "06:17:26",
          "message": "작품 제목: 바츠하레 - 이나바 미노리"
        },
        {
          "time": "06:17:27",
          "message": "메타데이터 태그 저장: 바츠하레, 이나바 미노리"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_33272",
        "target_id": "manhwa_33272",
        "title": "바츠하레 - 이나바 미노리",
        "episodes_found": 191,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 191,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_33272",
          "title": "바츠하레 - 이나바 미노리",
          "list_url": "https://newtoki1.org/manhwa/33272",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/33272"
          },
          "tags": [
            "바츠하레",
            "이나바 미노리"
          ],
          "description": "두 번째 결혼기념일. 일을 마치고 귀가한 와코 이치로가 목격한 것은 낯선 남자와 어울리는 아내의 모습이었다──! 정든 우리집, 행복한 날들, 그리고 사랑하는 사람을 잃은 와코였지만 그런 그의 앞에 나타난 것은...!? YJ 에로 코미디의 결정판 『미나모토군 이야기』작가가 그리는(묘사",
          "metadata_path": "/downloads/manhwa_33272/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 191,
        "total": 191,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "580c426106",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:50:02",
      "started_at": "2026-06-04T03:31:59",
      "finished_at": "2026-06-04T03:33:11",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~ - 쿠라타 미노지",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/22158",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_22158",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:58:07",
          "message": "작품 제목: 22158"
        },
        {
          "time": "06:08:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:08:09"
        },
        {
          "time": "06:08:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:08:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:28:25",
          "message": "작품 제목: 22158"
        },
        {
          "time": "13:28:32",
          "message": "작품 제목: 22158"
        },
        {
          "time": "13:28:38",
          "message": "작품 제목: 22158"
        },
        {
          "time": "13:38:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:38:55"
        },
        {
          "time": "13:38:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:38:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:39:25",
          "message": "작품 제목: 22158"
        },
        {
          "time": "13:39:32",
          "message": "작품 제목: 22158"
        },
        {
          "time": "13:40:12",
          "message": "작품 제목: 22158"
        },
        {
          "time": "13:50:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:50:34"
        },
        {
          "time": "13:50:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:50:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:51:39",
          "message": "작품 제목: 22158"
        },
        {
          "time": "13:51:47",
          "message": "작품 제목: 22158"
        },
        {
          "time": "13:51:53",
          "message": "작품 제목: 22158"
        },
        {
          "time": "14:03:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:03:04"
        },
        {
          "time": "14:03:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:03:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:13:44",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:14:04",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:14:04",
          "message": "작품 제목: 22158"
        },
        {
          "time": "14:14:09",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:14:29",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:14:30",
          "message": "작품 제목: 22158"
        },
        {
          "time": "14:14:39",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:15:00",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:15:34",
          "message": "작품 제목: 22158"
        },
        {
          "time": "14:25:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:25:34"
        },
        {
          "time": "14:25:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:25:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:25:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:38:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:38:11"
        },
        {
          "time": "14:38:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:38:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:38:42",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:48:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:48:56"
        },
        {
          "time": "14:48:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:48:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:51:27",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:51:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:02:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:02:20"
        },
        {
          "time": "15:02:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:02:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:02:44",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:02:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:13:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:13:29"
        },
        {
          "time": "15:13:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:13:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:13:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "15:13:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:24:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:24:23"
        },
        {
          "time": "15:24:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:24:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:26:18",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:26:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:26:38",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:27:12",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:27:12",
          "message": "작품 제목: 22158"
        },
        {
          "time": "15:27:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:27:32",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:27:32",
          "message": "작품 제목: 22158"
        },
        {
          "time": "15:27:33",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:27:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:27:53",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:28:24",
          "message": "작품 제목: 22158"
        },
        {
          "time": "15:38:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:38:54"
        },
        {
          "time": "15:38:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:38:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:38:55",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:38:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:39:15",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:39:15",
          "message": "작품 제목: 22158"
        },
        {
          "time": "15:39:16",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:39:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:39:36",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:39:36",
          "message": "작품 제목: 22158"
        },
        {
          "time": "15:39:37",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:39:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:39:57",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:40:31",
          "message": "작품 제목: 22158"
        },
        {
          "time": "15:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:56:55"
        },
        {
          "time": "15:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:56:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "15:56:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:57:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~ - 쿠라타 미노지 | 뉴토끼, links=175"
        },
        {
          "time": "15:57:12",
          "message": "작품 제목: 약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~ - 쿠라타 미노지"
        },
        {
          "time": "15:57:12",
          "message": "메타데이터 태그 저장: 약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~, 쿠라타 미노지"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:35:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "12:35:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:36:06",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "12:36:07",
          "message": "작품 제목: 22158"
        },
        {
          "time": "12:36:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "12:36:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:36:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~ - 쿠라타 미노지 | 뉴토끼, links=175"
        },
        {
          "time": "12:36:08",
          "message": "작품 제목: 약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~ - 쿠라타 미노지"
        },
        {
          "time": "12:36:08",
          "message": "메타데이터 태그 저장: 약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~, 쿠라타 미노지"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:22:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #356"
        },
        {
          "time": "21:22:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:22:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~ - 쿠라타 미노지 | 뉴토끼, links=175"
        },
        {
          "time": "21:22:42",
          "message": "작품 제목: 약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~ - 쿠라타 미노지"
        },
        {
          "time": "21:22:42",
          "message": "메타데이터 태그 저장: 약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~, 쿠라타 미노지"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:43:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #402"
        },
        {
          "time": "10:43:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:43:43",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:43:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #403"
        },
        {
          "time": "10:43:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:44:03",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "10:44:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #404"
        },
        {
          "time": "10:44:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:40:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-03T12:40:29"
        },
        {
          "time": "12:40:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:11:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #275"
        },
        {
          "time": "17:11:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:12:56",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/22158, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06052a"
        },
        {
          "time": "17:12:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #276"
        },
        {
          "time": "17:12:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:13:17",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/22158, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060536"
        },
        {
          "time": "17:13:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #277"
        },
        {
          "time": "17:13:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:13:39",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/22158, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06053e"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:50:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #815"
        },
        {
          "time": "01:50:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:50:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "01:50:53",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "01:50:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #816"
        },
        {
          "time": "01:50:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:51:14",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/22158, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0634a3"
        },
        {
          "time": "01:51:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #817"
        },
        {
          "time": "01:51:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:52:06",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/22158, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0634b5"
        },
        {
          "time": "01:52:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #818"
        },
        {
          "time": "01:52:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:52:58",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/22158, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0634c9"
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:32:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #878"
        },
        {
          "time": "03:32:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:32:22",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:32:23",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:32:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #879"
        },
        {
          "time": "03:32:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:32:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~ - 쿠라타 미노지 | 뉴토끼, links=175"
        },
        {
          "time": "03:33:10",
          "message": "작품 제목: 약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~ - 쿠라타 미노지"
        },
        {
          "time": "03:33:10",
          "message": "메타데이터 태그 저장: 약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~, 쿠라타 미노지"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_22158",
        "target_id": "manhwa_22158",
        "title": "약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~ - 쿠라타 미노지",
        "episodes_found": 173,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 173,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_22158",
          "title": "약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~ - 쿠라타 미노지",
          "list_url": "https://newtoki1.org/manhwa/22158",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/22158"
          },
          "tags": [
            "약사의 혼잣말~마오마오의 수수께끼 풀이 수첩~",
            "쿠라타 미노지"
          ],
          "description": "후궁에서 자생하는 어느 독버섯을 찾아라! 진시의 지령에 의혹을 느끼면서도, 독초를 좋아하는 피가 끓어올라 후궁 곳곳을 탐색하는 마오마오. 그런 와중, 중급비의 장례 소식이 날아들어 마오마오는 시녀장과 함께 장례식에 참석하게 된다. 그런데, 장례식장에 갑자기 나타난 붕대투성이의",
          "metadata_path": "/downloads/manhwa_22158/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 173,
        "total": 173,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "72ac97b9b6",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:49:30",
      "started_at": "2026-06-04T06:14:00",
      "finished_at": "2026-06-04T06:15:15",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "새벽의 연화 - 쿠사나기 미즈호",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3315",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3315",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "17:13:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/147.jpg"
        },
        {
          "time": "17:13:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/148.jpg"
        },
        {
          "time": "17:13:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/149.jpg"
        },
        {
          "time": "17:13:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/150.jpg"
        },
        {
          "time": "17:13:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/151.jpg"
        },
        {
          "time": "17:13:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/152.jpg"
        },
        {
          "time": "17:13:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/153.jpg"
        },
        {
          "time": "17:13:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/154.jpg"
        },
        {
          "time": "17:13:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/155.jpg"
        },
        {
          "time": "17:13:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/156.jpg"
        },
        {
          "time": "17:13:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/157.jpg"
        },
        {
          "time": "17:13:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/158.jpg"
        },
        {
          "time": "17:13:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/159.jpg"
        },
        {
          "time": "17:13:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/160.jpg"
        },
        {
          "time": "17:13:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/161.jpg"
        },
        {
          "time": "17:13:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/162.jpg"
        },
        {
          "time": "17:13:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/163.jpg"
        },
        {
          "time": "17:13:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/164.jpg"
        },
        {
          "time": "17:13:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/165.jpg"
        },
        {
          "time": "17:13:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/166.jpg"
        },
        {
          "time": "17:13:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/167.jpg"
        },
        {
          "time": "17:13:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/168.jpg"
        },
        {
          "time": "17:13:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/169.jpg"
        },
        {
          "time": "17:13:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/170.jpg"
        },
        {
          "time": "17:13:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/171.jpg"
        },
        {
          "time": "17:13:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/172.jpg"
        },
        {
          "time": "17:13:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/173.jpg"
        },
        {
          "time": "17:13:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/174.jpg"
        },
        {
          "time": "17:13:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/175.jpg"
        },
        {
          "time": "17:13:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/176.jpg"
        },
        {
          "time": "17:13:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/177.jpg"
        },
        {
          "time": "17:13:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/178.jpg"
        },
        {
          "time": "17:13:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/179.jpg"
        },
        {
          "time": "17:13:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/180.jpg"
        },
        {
          "time": "17:13:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/181.jpg"
        },
        {
          "time": "17:13:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/182.jpg"
        },
        {
          "time": "17:13:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/183.jpg"
        },
        {
          "time": "17:13:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/184.jpg"
        },
        {
          "time": "17:13:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/185.jpg"
        },
        {
          "time": "17:13:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/186.jpg"
        },
        {
          "time": "17:14:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/187.jpg"
        },
        {
          "time": "17:14:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/188.jpg"
        },
        {
          "time": "17:14:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/189.jpg"
        },
        {
          "time": "17:14:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/190.jpg"
        },
        {
          "time": "17:14:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/191.jpg"
        },
        {
          "time": "17:14:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/192.jpg"
        },
        {
          "time": "17:14:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/193.jpg"
        },
        {
          "time": "17:14:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/194.jpg"
        },
        {
          "time": "17:14:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/195.jpg"
        },
        {
          "time": "17:14:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/196.jpg"
        },
        {
          "time": "17:14:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3315/ep_302/197.jpg"
        },
        {
          "time": "17:14:13",
          "message": "  [>] 이미지 197/197개 처리 완료.\n"
        },
        {
          "time": "17:14:14",
          "message": "완료: 회차 131개 처리, 이미지 6311개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 131)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:58:55",
          "message": "작품 제목: 3315"
        },
        {
          "time": "06:09:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:09:21"
        },
        {
          "time": "06:09:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:09:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:28:06",
          "message": "작품 제목: 3315"
        },
        {
          "time": "13:28:12",
          "message": "작품 제목: 3315"
        },
        {
          "time": "13:28:19",
          "message": "작품 제목: 3315"
        },
        {
          "time": "13:38:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:38:55"
        },
        {
          "time": "13:38:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:38:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:39:05",
          "message": "작품 제목: 3315"
        },
        {
          "time": "13:39:12",
          "message": "작품 제목: 3315"
        },
        {
          "time": "13:39:19",
          "message": "작품 제목: 3315"
        },
        {
          "time": "13:49:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:49:51"
        },
        {
          "time": "13:49:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:49:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:51:11",
          "message": "작품 제목: 3315"
        },
        {
          "time": "13:51:18",
          "message": "작품 제목: 3315"
        },
        {
          "time": "13:51:25",
          "message": "작품 제목: 3315"
        },
        {
          "time": "14:01:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:01:42"
        },
        {
          "time": "14:01:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:01:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:12:23",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:12:43",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:12:43",
          "message": "작품 제목: 3315"
        },
        {
          "time": "14:12:50",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:13:10",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:13:10",
          "message": "작품 제목: 3315"
        },
        {
          "time": "14:13:17",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:13:37",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:13:37",
          "message": "작품 제목: 3315"
        },
        {
          "time": "14:23:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:23:37"
        },
        {
          "time": "14:23:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:23:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:38:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:38:11"
        },
        {
          "time": "14:38:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:38:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:38:40",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:48:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:48:56"
        },
        {
          "time": "14:48:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:48:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:51:04",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:51:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:02:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:02:20"
        },
        {
          "time": "15:02:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:02:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:02:22",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:02:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:12:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:12:44"
        },
        {
          "time": "15:12:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:12:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:13:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "15:13:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:23:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:23:29"
        },
        {
          "time": "15:23:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:23:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:23:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "15:23:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:23:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=새벽의 연화 - 쿠사나기 미즈호 | 뉴토끼, links=193"
        },
        {
          "time": "15:24:23",
          "message": "작품 제목: 새벽의 연화 - 쿠사나기 미즈호"
        },
        {
          "time": "15:24:23",
          "message": "메타데이터 태그 저장: 새벽의 연화, 쿠사나기 미즈호"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:41:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #25"
        },
        {
          "time": "12:41:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:41:59",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:41:59",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "12:52:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T12:52:44"
        },
        {
          "time": "12:52:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:52:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:45:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1005"
        },
        {
          "time": "06:45:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:45:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=새벽의 연화 - 쿠사나기 미즈호 | 뉴토끼, links=193"
        },
        {
          "time": "06:45:25",
          "message": "작품 제목: 새벽의 연화 - 쿠사나기 미즈호"
        },
        {
          "time": "06:45:25",
          "message": "메타데이터 태그 저장: 새벽의 연화, 쿠사나기 미즈호"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:45:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #124"
        },
        {
          "time": "18:45:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:45:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=새벽의 연화 - 쿠사나기 미즈호 | 뉴토끼, links=193"
        },
        {
          "time": "18:45:42",
          "message": "작품 제목: 새벽의 연화 - 쿠사나기 미즈호"
        },
        {
          "time": "18:45:42",
          "message": "메타데이터 태그 저장: 새벽의 연화, 쿠사나기 미즈호"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:55:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #567"
        },
        {
          "time": "12:55:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:55:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=새벽의 연화 - 쿠사나기 미즈호 | 뉴토끼, links=193"
        },
        {
          "time": "12:55:26",
          "message": "작품 제목: 새벽의 연화 - 쿠사나기 미즈호"
        },
        {
          "time": "12:55:27",
          "message": "메타데이터 태그 저장: 새벽의 연화, 쿠사나기 미즈호"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:14:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1098"
        },
        {
          "time": "06:14:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:14:55",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:14:56",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:14:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1099"
        },
        {
          "time": "06:14:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:15:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=새벽의 연화 - 쿠사나기 미즈호 | 뉴토끼, links=193"
        },
        {
          "time": "06:15:12",
          "message": "작품 제목: 새벽의 연화 - 쿠사나기 미즈호"
        },
        {
          "time": "06:15:13",
          "message": "메타데이터 태그 저장: 새벽의 연화, 쿠사나기 미즈호"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3315",
        "target_id": "manhwa_3315",
        "title": "새벽의 연화 - 쿠사나기 미즈호",
        "episodes_found": 191,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 191,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3315",
          "title": "새벽의 연화 - 쿠사나기 미즈호",
          "list_url": "https://newtoki1.org/manhwa/3315",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3315"
          },
          "tags": [
            "새벽의 연화",
            "쿠사나기 미즈호"
          ],
          "description": "붉은 머리카락을 마음에 들어하지않는 고화왕국의 공주인 연화,16살 생일날 좋아하던 사촌 수원에게 선물받으며 가슴 설렌다 수원을 향한 마음을 아버지에게 알리러 가지만 그곳에는 생각지도 못한 가혹한 운명이?!!",
          "metadata_path": "/downloads/manhwa_3315/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 191,
        "total": 191,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "5c7a81b69a",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:48:26",
      "started_at": "2026-06-04T06:10:06",
      "finished_at": "2026-06-04T06:14:00",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/9390",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_9390",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "13:50:23",
          "message": "작품 제목: 9390"
        },
        {
          "time": "14:01:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:01:42"
        },
        {
          "time": "14:01:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:01:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:10:59",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:11:19",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:11:19",
          "message": "작품 제목: 9390"
        },
        {
          "time": "14:11:26",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:11:46",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:11:46",
          "message": "작품 제목: 9390"
        },
        {
          "time": "14:11:54",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:12:14",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:12:14",
          "message": "작품 제목: 9390"
        },
        {
          "time": "14:22:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:22:23"
        },
        {
          "time": "14:22:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:22:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:22:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:33:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:33:16"
        },
        {
          "time": "14:33:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:33:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:38:36",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:48:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:48:56"
        },
        {
          "time": "14:48:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:48:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:48:58",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:49:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:49:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코 | 뉴토끼, links=216"
        },
        {
          "time": "14:49:13",
          "message": "작품 제목: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코"
        },
        {
          "time": "14:49:13",
          "message": "메타데이터 태그 저장: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테, 타니가와 니코"
        },
        {
          "time": "14:49:13",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "15:00:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:00:53"
        },
        {
          "time": "15:00:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:00:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:01:58",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:02:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:12:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:12:44"
        },
        {
          "time": "15:12:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:12:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:12:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "15:12:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:23:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:23:05"
        },
        {
          "time": "15:23:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:23:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:23:23",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:34:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "16:34:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:35:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코 | 뉴토끼, links=216"
        },
        {
          "time": "16:35:36",
          "message": "작품 제목: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코"
        },
        {
          "time": "16:35:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "16:35:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:35:36",
          "message": "메타데이터 태그 저장: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테, 타니가와 니코"
        },
        {
          "time": "16:35:36",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "16:35:49",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 109.5화 내가 인기 없는 건…야! 109.5화 | 뉴토끼, images=27"
        },
        {
          "time": "16:36:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "16:36:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:36:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 117-2화 내가 인기 없는 건…야! 117-2화 | 뉴토끼, images=27"
        },
        {
          "time": "16:36:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #25"
        },
        {
          "time": "16:36:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:36:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 129-2화 내가 인기 없는 건…야! 129-2화 | 뉴토끼, images=27"
        },
        {
          "time": "16:37:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #26"
        },
        {
          "time": "16:37:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:38:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #27"
        },
        {
          "time": "16:38:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:38:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 188.5화 내가 인기가 없는건…테) 188.5화 | 뉴토끼, images=27"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:16:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #982"
        },
        {
          "time": "06:16:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:17:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코 | 뉴토끼, links=216"
        },
        {
          "time": "06:17:10",
          "message": "작품 제목: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코"
        },
        {
          "time": "06:17:44",
          "message": "메타데이터 태그 저장: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테, 타니가와 니코"
        },
        {
          "time": "06:17:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #983"
        },
        {
          "time": "06:17:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:18:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 109.5화 내가 인기 없는 건…야! 109.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:18:45",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "06:19:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #984"
        },
        {
          "time": "06:19:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:19:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #985"
        },
        {
          "time": "06:19:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:20:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 117-2화 내가 인기 없는 건…야! 117-2화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:20:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #986"
        },
        {
          "time": "06:20:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:20:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 129-2화 내가 인기 없는 건…야! 129-2화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:20:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #987"
        },
        {
          "time": "06:20:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:21:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 188.5화 내가 인기가 없는건…테) 188.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:48:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #132"
        },
        {
          "time": "18:48:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:48:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코 | 뉴토끼, links=216"
        },
        {
          "time": "18:49:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #133"
        },
        {
          "time": "18:49:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:49:15",
          "message": "작품 제목: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코"
        },
        {
          "time": "18:49:15",
          "message": "메타데이터 태그 저장: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테, 타니가와 니코"
        },
        {
          "time": "18:49:15",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "18:49:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 109.5화 내가 인기 없는 건…야! 109.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:50:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #134"
        },
        {
          "time": "18:50:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:50:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #135"
        },
        {
          "time": "18:50:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:51:08",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 117-2화 내가 인기 없는 건…야! 117-2화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:51:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #136"
        },
        {
          "time": "18:51:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:51:48",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 129-2화 내가 인기 없는 건…야! 129-2화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:53:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #137"
        },
        {
          "time": "18:53:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:53:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #138"
        },
        {
          "time": "18:53:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:53:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 188.5화 내가 인기가 없는건…테) 188.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 4)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:48:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #557"
        },
        {
          "time": "12:48:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:48:38",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:48:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #558"
        },
        {
          "time": "12:48:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:48:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코 | 뉴토끼, links=216"
        },
        {
          "time": "12:48:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #559"
        },
        {
          "time": "12:49:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:49:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 109.5화 내가 인기 없는 건…야! 109.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:49:16",
          "message": "작품 제목: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코"
        },
        {
          "time": "12:49:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #560"
        },
        {
          "time": "12:49:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:49:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 117-2화 내가 인기 없는 건…야! 117-2화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:50:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #561"
        },
        {
          "time": "12:50:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:50:14",
          "message": "메타데이터 태그 저장: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테, 타니가와 니코"
        },
        {
          "time": "12:50:15",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "12:50:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 129-2화 내가 인기 없는 건…야! 129-2화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:50:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #562"
        },
        {
          "time": "12:50:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:51:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 188.5화 내가 인기가 없는건…테) 188.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:10:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1092"
        },
        {
          "time": "06:10:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:10:30",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:10:30",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:10:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1093"
        },
        {
          "time": "06:10:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:10:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코 | 뉴토끼, links=216"
        },
        {
          "time": "06:11:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1094"
        },
        {
          "time": "06:11:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:11:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 109.5화 내가 인기 없는 건…야! 109.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:11:53",
          "message": "작품 제목: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코"
        },
        {
          "time": "06:11:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1095"
        },
        {
          "time": "06:11:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:12:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 117-2화 내가 인기 없는 건…야! 117-2화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:12:59",
          "message": "메타데이터 태그 저장: 내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테, 타니가와 니코"
        },
        {
          "time": "06:12:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1096"
        },
        {
          "time": "06:12:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:13:00",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "06:13:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 129-2화 내가 인기 없는 건…야! 129-2화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:13:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1097"
        },
        {
          "time": "06:13:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:13:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 188.5화 내가 인기가 없는건…테) 188.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 4)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 4)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 4)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_9390",
        "target_id": "manhwa_9390",
        "title": "내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코",
        "episodes_found": 214,
        "episodes_processed": 4,
        "episodes_failed": 0,
        "episodes_skipped": 210,
        "images_found": 8,
        "images_downloaded": 0,
        "images_skipped": 8,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_9390",
          "title": "내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) - 타니가와 니코",
          "list_url": "https://newtoki1.org/manhwa/9390",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/9390"
          },
          "tags": [
            "내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테",
            "타니가와 니코"
          ],
          "description": "여고생이 되면 자연히 인기녀가 될 거라 생각했던 쿠로키 토모코…. 하지만 무정한 현실이 쓰나미처럼 닥쳐온다! 이 상태를 어떻게 타개할 것인가? 여고생의 고뇌가 시작된다! 때때로 귀여운 여주인공 탄생?!",
          "metadata_path": "/downloads/manhwa_9390/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 4,
        "total": 4,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 22,
          "url": "https://newtoki1.org/manhwa/9390/86804",
          "title": "내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 109.5화 내가 인기 없는 건…야! 109.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 31,
          "url": "https://newtoki1.org/manhwa/9390/86794",
          "title": "내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 117-2화 내가 인기 없는 건…야! 117-2화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 44,
          "url": "https://newtoki1.org/manhwa/9390/86781",
          "title": "내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 129-2화 내가 인기 없는 건…야! 129-2화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 117,
          "url": "https://newtoki1.org/manhwa/9390/309105",
          "title": "내가 인기 없는 건 아무리 생각해도 너희들 탓이야!(와타모테) 188.5화 내가 인기가 없는건…테) 188.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "cee765c7e0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:48:21",
      "started_at": "2026-06-04T06:07:58",
      "finished_at": "2026-06-04T06:10:06",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "부끄러워하는 널 보고 싶어 - 우마고메 라쿠레",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/25500",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_25500",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "12:03:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_111/008.jpg"
        },
        {
          "time": "12:03:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_111/009.jpg"
        },
        {
          "time": "12:03:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_111/010.jpg"
        },
        {
          "time": "12:03:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_111/011.jpg"
        },
        {
          "time": "12:03:54",
          "message": "  [>] 이미지 11/11개 처리 완료.\n"
        },
        {
          "time": "12:03:55",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/25500/1788839"
        },
        {
          "time": "12:03:55",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/25500/1788839"
        },
        {
          "time": "12:04:14",
          "message": "  [i] 회차 제목: 부끄러워하는 널 보고 싶어 79-1화 부끄러워하는 널 보… 싶어 79-1화"
        },
        {
          "time": "12:04:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/001.jpg"
        },
        {
          "time": "12:04:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/002.jpg"
        },
        {
          "time": "12:04:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/003.jpg"
        },
        {
          "time": "12:05:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/004.jpg"
        },
        {
          "time": "12:05:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/005.jpg"
        },
        {
          "time": "12:05:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/006.jpg"
        },
        {
          "time": "12:05:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/007.jpg"
        },
        {
          "time": "12:05:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/008.jpg"
        },
        {
          "time": "12:05:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/009.jpg"
        },
        {
          "time": "12:05:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/010.jpg"
        },
        {
          "time": "12:05:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/011.jpg"
        },
        {
          "time": "12:05:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_112/012.jpg"
        },
        {
          "time": "12:05:39",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "12:05:40",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/25500/1794740"
        },
        {
          "time": "12:05:40",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/25500/1794740"
        },
        {
          "time": "12:06:00",
          "message": "  [i] 회차 제목: 부끄러워하는 널 보고 싶어 79-2화 부끄러워하는 널 보… 싶어 79-2화"
        },
        {
          "time": "12:06:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_113/001.jpg"
        },
        {
          "time": "12:06:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_113/002.jpg"
        },
        {
          "time": "12:06:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_113/003.jpg"
        },
        {
          "time": "12:06:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_113/004.jpg"
        },
        {
          "time": "12:06:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_113/005.jpg"
        },
        {
          "time": "12:06:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_113/006.jpg"
        },
        {
          "time": "12:06:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_113/007.jpg"
        },
        {
          "time": "12:06:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_113/008.jpg"
        },
        {
          "time": "12:06:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_113/009.jpg"
        },
        {
          "time": "12:06:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_113/010.jpg"
        },
        {
          "time": "12:06:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_113/011.jpg"
        },
        {
          "time": "12:06:09",
          "message": "  [>] 이미지 11/11개 처리 완료.\n"
        },
        {
          "time": "12:06:10",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/25500/1794850"
        },
        {
          "time": "12:06:10",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/25500/1794850"
        },
        {
          "time": "12:06:29",
          "message": "  [i] 회차 제목: 부끄러워하는 널 보고 싶어 80-1화 부끄러워하는 널 보… 싶어 80-1화"
        },
        {
          "time": "12:06:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_114/001.jpg"
        },
        {
          "time": "12:06:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_114/002.jpg"
        },
        {
          "time": "12:06:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_114/003.jpg"
        },
        {
          "time": "12:06:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_114/004.jpg"
        },
        {
          "time": "12:06:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_114/005.jpg"
        },
        {
          "time": "12:06:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_114/006.jpg"
        },
        {
          "time": "12:06:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_114/007.jpg"
        },
        {
          "time": "12:06:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_114/008.jpg"
        },
        {
          "time": "12:06:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_114/009.jpg"
        },
        {
          "time": "12:06:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_114/010.jpg"
        },
        {
          "time": "12:06:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_114/011.jpg"
        },
        {
          "time": "12:06:39",
          "message": "  [>] 이미지 11/11개 처리 완료.\n"
        },
        {
          "time": "12:06:40",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/25500/1792012"
        },
        {
          "time": "12:06:40",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/25500/1792012"
        },
        {
          "time": "12:06:59",
          "message": "  [i] 회차 제목: 부끄러워하는 널 보고 싶어 80-2화 부끄러워하는 널 보… 싶어 80-2화"
        },
        {
          "time": "12:06:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/001.jpg"
        },
        {
          "time": "12:07:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/002.jpg"
        },
        {
          "time": "12:07:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/003.jpg"
        },
        {
          "time": "12:07:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/004.jpg"
        },
        {
          "time": "12:07:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/005.jpg"
        },
        {
          "time": "12:07:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/006.jpg"
        },
        {
          "time": "12:07:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/007.jpg"
        },
        {
          "time": "12:07:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/008.jpg"
        },
        {
          "time": "12:07:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/009.jpg"
        },
        {
          "time": "12:07:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/010.jpg"
        },
        {
          "time": "12:07:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/011.jpg"
        },
        {
          "time": "12:07:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_115/012.jpg"
        },
        {
          "time": "12:07:08",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "12:07:09",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/25500/1795352"
        },
        {
          "time": "12:07:10",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/25500/1795352"
        },
        {
          "time": "12:07:28",
          "message": "  [i] 회차 제목: 부끄러워하는 널 보고 싶어 81-1화 부끄러워하는 널 보… 싶어 81-1화"
        },
        {
          "time": "12:07:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/001.jpg"
        },
        {
          "time": "12:07:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/002.jpg"
        },
        {
          "time": "12:07:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/003.jpg"
        },
        {
          "time": "12:07:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/004.jpg"
        },
        {
          "time": "12:07:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/005.jpg"
        },
        {
          "time": "12:07:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/006.jpg"
        },
        {
          "time": "12:07:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/007.jpg"
        },
        {
          "time": "12:07:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/008.jpg"
        },
        {
          "time": "12:07:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/009.jpg"
        },
        {
          "time": "12:07:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/010.jpg"
        },
        {
          "time": "12:07:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/011.jpg"
        },
        {
          "time": "12:07:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_116/012.jpg"
        },
        {
          "time": "12:07:40",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "12:07:41",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/25500/1797511"
        },
        {
          "time": "12:07:41",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/25500/1797511"
        },
        {
          "time": "12:08:00",
          "message": "  [i] 회차 제목: 부끄러워하는 널 보고 싶어 81-2화 부끄러워하는 널 보… 싶어 81-2화"
        },
        {
          "time": "12:08:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_117/001.jpg"
        },
        {
          "time": "12:08:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_117/002.jpg"
        },
        {
          "time": "12:08:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_117/003.jpg"
        },
        {
          "time": "12:08:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_117/004.jpg"
        },
        {
          "time": "12:08:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_117/005.jpg"
        },
        {
          "time": "12:08:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_117/006.jpg"
        },
        {
          "time": "12:08:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_117/007.jpg"
        },
        {
          "time": "12:08:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_117/008.jpg"
        },
        {
          "time": "12:08:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_117/009.jpg"
        },
        {
          "time": "12:08:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_117/010.jpg"
        },
        {
          "time": "12:08:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_25500/ep_117/011.jpg"
        },
        {
          "time": "12:08:10",
          "message": "  [>] 이미지 11/11개 처리 완료.\n"
        },
        {
          "time": "12:08:11",
          "message": "완료: 회차 117개 처리, 이미지 1789개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 117)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:59:34",
          "message": "작품 제목: 25500"
        },
        {
          "time": "06:09:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:09:56"
        },
        {
          "time": "06:09:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:09:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:26:51",
          "message": "작품 제목: 25500"
        },
        {
          "time": "13:26:58",
          "message": "작품 제목: 25500"
        },
        {
          "time": "13:27:37",
          "message": "작품 제목: 25500"
        },
        {
          "time": "13:37:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:37:37"
        },
        {
          "time": "13:37:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:37:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:37:57",
          "message": "작품 제목: 부끄러워하는 널 보고 싶어 - 우마고메 라쿠레"
        },
        {
          "time": "13:37:57",
          "message": "메타데이터 태그 저장: 부끄러워하는 널 보고 싶어, 우마고메 라쿠레"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:44:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #28"
        },
        {
          "time": "12:44:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:44:32",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:44:32",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "12:55:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T12:55:38"
        },
        {
          "time": "12:55:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:55:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:47:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1008"
        },
        {
          "time": "06:47:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:47:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러워하는 널 보고 싶어 - 우마고메 라쿠레 | 뉴토끼, links=119"
        },
        {
          "time": "06:47:26",
          "message": "작품 제목: 부끄러워하는 널 보고 싶어 - 우마고메 라쿠레"
        },
        {
          "time": "06:47:26",
          "message": "메타데이터 태그 저장: 부끄러워하는 널 보고 싶어, 우마고메 라쿠레"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:43:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #121"
        },
        {
          "time": "18:43:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:43:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러워하는 널 보고 싶어 - 우마고메 라쿠레 | 뉴토끼, links=119"
        },
        {
          "time": "18:44:54",
          "message": "작품 제목: 부끄러워하는 널 보고 싶어 - 우마고메 라쿠레"
        },
        {
          "time": "18:44:54",
          "message": "메타데이터 태그 저장: 부끄러워하는 널 보고 싶어, 우마고메 라쿠레"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:58:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #571"
        },
        {
          "time": "12:58:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:58:24",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:58:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #572"
        },
        {
          "time": "12:58:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:58:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러워하는 널 보고 싶어 - 우마고메 라쿠레 | 뉴토끼, links=119"
        },
        {
          "time": "12:58:39",
          "message": "작품 제목: 부끄러워하는 널 보고 싶어 - 우마고메 라쿠레"
        },
        {
          "time": "12:58:40",
          "message": "메타데이터 태그 저장: 부끄러워하는 널 보고 싶어, 우마고메 라쿠레"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:08:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1090"
        },
        {
          "time": "06:08:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:08:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:08:53",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:08:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1091"
        },
        {
          "time": "06:08:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:09:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=부끄러워하는 널 보고 싶어 - 우마고메 라쿠레 | 뉴토끼, links=119"
        },
        {
          "time": "06:10:05",
          "message": "작품 제목: 부끄러워하는 널 보고 싶어 - 우마고메 라쿠레"
        },
        {
          "time": "06:10:05",
          "message": "메타데이터 태그 저장: 부끄러워하는 널 보고 싶어, 우마고메 라쿠레"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_25500",
        "target_id": "manhwa_25500",
        "title": "부끄러워하는 널 보고 싶어 - 우마고메 라쿠레",
        "episodes_found": 117,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 117,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_25500",
          "title": "부끄러워하는 널 보고 싶어 - 우마고메 라쿠레",
          "list_url": "https://newtoki1.org/manhwa/25500",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/25500"
          },
          "tags": [
            "부끄러워하는 널 보고 싶어",
            "우마고메 라쿠레"
          ],
          "description": "`내 모든 걸 찍어달라구` 영화감독의 아버지를 둔 남자 고교생·시라사와 아키토는 어느 방과후에 동급생·혼가미 카호(本上夏號)의 자위행위를 목격해 버린다. 곤혹스러워하면서도 무심코 스마트폰으로 그것을 도촬하는 시라사와.그러나 그것을 눈치챈 모토카미는, 시라사와에게 놀라운 제안을 건네고…",
          "metadata_path": "/downloads/manhwa_25500/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 117,
        "total": 117,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "ce9893d398",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:48:15",
      "started_at": "2026-06-04T06:06:11",
      "finished_at": "2026-06-04T06:07:58",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "아마노 메구미는 빈틈투성이! - 네코구치",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3040",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3040",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "23:43:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:51:52",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "10:53:29",
          "message": "기존 완료 기록을 적용합니다: 274개 회차"
        },
        {
          "time": "10:53:29",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "10:53:29",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "10:53:29",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "10:53:29",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "10:53:29",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3040"
        },
        {
          "time": "10:53:29",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3040"
        },
        {
          "time": "10:53:50",
          "message": "작품 제목: 아마노 메구미는 빈틈투성이! - 네코구치"
        },
        {
          "time": "10:53:50",
          "message": "메타데이터 저장: /downloads/manhwa_3040/metadata.yaml"
        },
        {
          "time": "10:53:50",
          "message": "메타데이터 태그 저장: 네코구치, 아마노 메구미는 빈틈투성이!"
        },
        {
          "time": "10:53:50",
          "message": "기존 완료 회차 274개 제외"
        },
        {
          "time": "10:53:50",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "10:53:50",
          "message": "총 276개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "10:53:50",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3040/13875"
        },
        {
          "time": "10:53:50",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3040/13875"
        },
        {
          "time": "10:54:02",
          "message": "  [i] 회차 제목: 아마노 메구미는 빈틈투성이! 25화 아마노 메구미는 빈…틈투성이! 25화"
        },
        {
          "time": "10:54:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/001.jpg"
        },
        {
          "time": "10:54:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/002.jpg"
        },
        {
          "time": "10:54:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/003.jpg"
        },
        {
          "time": "10:54:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/004.jpg"
        },
        {
          "time": "10:54:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/005.jpg"
        },
        {
          "time": "10:54:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/006.jpg"
        },
        {
          "time": "10:54:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/007.jpg"
        },
        {
          "time": "10:54:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/008.jpg"
        },
        {
          "time": "10:54:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/009.jpg"
        },
        {
          "time": "10:54:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/010.jpg"
        },
        {
          "time": "10:54:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/011.jpg"
        },
        {
          "time": "10:54:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/012.jpg"
        },
        {
          "time": "10:54:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/013.jpg"
        },
        {
          "time": "10:54:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/014.jpg"
        },
        {
          "time": "10:54:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/015.jpg"
        },
        {
          "time": "10:54:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_025/016.jpg"
        },
        {
          "time": "10:54:29",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "10:54:31",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3040/13885"
        },
        {
          "time": "10:54:31",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3040/13885"
        },
        {
          "time": "10:54:51",
          "message": "[!] 뷰어 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/3040/13885\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/3040/13885"
        },
        {
          "time": "10:54:51",
          "message": "완료: 회차 1개 처리, 이미지 16개 저장, 0개 건너뜀"
        },
        {
          "time": "12:08:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-23T12:08:11"
        },
        {
          "time": "12:08:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:08:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "20:20:33",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "20:21:41",
          "message": "기존 완료 기록을 적용합니다: 275개 회차"
        },
        {
          "time": "20:21:41",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "20:21:41",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "20:21:41",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "20:21:41",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "20:21:41",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3040"
        },
        {
          "time": "20:21:41",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3040"
        },
        {
          "time": "20:22:08",
          "message": "작품 제목: 아마노 메구미는 빈틈투성이! - 네코구치"
        },
        {
          "time": "20:22:08",
          "message": "메타데이터 저장: /downloads/manhwa_3040/metadata.yaml"
        },
        {
          "time": "20:22:08",
          "message": "메타데이터 태그 저장: 네코구치, 아마노 메구미는 빈틈투성이!"
        },
        {
          "time": "20:22:09",
          "message": "기존 완료 회차 275개 제외"
        },
        {
          "time": "20:22:09",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "20:22:09",
          "message": "총 276개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "20:22:09",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3040/13885"
        },
        {
          "time": "20:22:09",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3040/13885"
        },
        {
          "time": "20:22:28",
          "message": "  [i] 회차 제목: 아마노 메구미는 빈틈투성이! 35화 아마노 메구미는 빈…틈투성이! 35화"
        },
        {
          "time": "20:22:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/001.jpg"
        },
        {
          "time": "20:22:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/002.jpg"
        },
        {
          "time": "20:22:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/003.jpg"
        },
        {
          "time": "20:22:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/004.jpg"
        },
        {
          "time": "20:22:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/005.jpg"
        },
        {
          "time": "20:22:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/006.jpg"
        },
        {
          "time": "20:22:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/007.jpg"
        },
        {
          "time": "20:22:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/008.jpg"
        },
        {
          "time": "20:22:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/009.jpg"
        },
        {
          "time": "20:22:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/010.jpg"
        },
        {
          "time": "20:22:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/011.jpg"
        },
        {
          "time": "20:22:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/012.jpg"
        },
        {
          "time": "20:22:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/013.jpg"
        },
        {
          "time": "20:22:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/014.jpg"
        },
        {
          "time": "20:22:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/015.jpg"
        },
        {
          "time": "20:22:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3040/ep_035/016.jpg"
        },
        {
          "time": "20:22:48",
          "message": "  [>] 이미지 16/16개 처리 완료.\n"
        },
        {
          "time": "20:22:49",
          "message": "완료: 회차 1개 처리, 이미지 16개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:39:33",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:47:26",
          "message": "작품 제목: 3040"
        },
        {
          "time": "12:58:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:58:36"
        },
        {
          "time": "12:58:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:58:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:22:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #266"
        },
        {
          "time": "21:22:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:22:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아마노 메구미는 빈틈투성이! - 네코구치 | 뉴토끼, links=278"
        },
        {
          "time": "21:22:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #267"
        },
        {
          "time": "21:22:37",
          "message": "작품 제목: 아마노 메구미는 빈틈투성이! - 네코구치"
        },
        {
          "time": "21:22:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:22:37",
          "message": "메타데이터 태그 저장: 네코구치, 아마노 메구미는 빈틈투성이!"
        },
        {
          "time": "21:22:37",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "21:22:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #268"
        },
        {
          "time": "21:22:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:34:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T21:34:04"
        },
        {
          "time": "21:34:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:34:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:53:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #41"
        },
        {
          "time": "12:53:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:53:51",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:53:51",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:04:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:04:26"
        },
        {
          "time": "13:04:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:04:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:12:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1101"
        },
        {
          "time": "08:12:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:12:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아마노 메구미는 빈틈투성이! - 네코구치 | 뉴토끼, links=278"
        },
        {
          "time": "08:12:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1102"
        },
        {
          "time": "08:12:58",
          "message": "작품 제목: 아마노 메구미는 빈틈투성이! - 네코구치"
        },
        {
          "time": "08:12:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:12:58",
          "message": "메타데이터 태그 저장: 네코구치, 아마노 메구미는 빈틈투성이!"
        },
        {
          "time": "08:12:59",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "08:13:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아마노 메구미는 빈틈투성이! 280.1화 아마노 메구미는 빈…이! 280.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:23:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #88"
        },
        {
          "time": "18:23:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:23:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아마노 메구미는 빈틈투성이! - 네코구치 | 뉴토끼, links=278"
        },
        {
          "time": "18:24:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #89"
        },
        {
          "time": "18:24:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:24:12",
          "message": "작품 제목: 아마노 메구미는 빈틈투성이! - 네코구치"
        },
        {
          "time": "18:24:12",
          "message": "메타데이터 태그 저장: 네코구치, 아마노 메구미는 빈틈투성이!"
        },
        {
          "time": "18:24:12",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "18:24:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아마노 메구미는 빈틈투성이! 280.1화 아마노 메구미는 빈…이! 280.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:17:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #605"
        },
        {
          "time": "13:17:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:17:57",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:17:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #606"
        },
        {
          "time": "13:17:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:18:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아마노 메구미는 빈틈투성이! - 네코구치 | 뉴토끼, links=278"
        },
        {
          "time": "13:18:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #607"
        },
        {
          "time": "13:18:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:18:38",
          "message": "작품 제목: 아마노 메구미는 빈틈투성이! - 네코구치"
        },
        {
          "time": "13:18:38",
          "message": "메타데이터 태그 저장: 네코구치, 아마노 메구미는 빈틈투성이!"
        },
        {
          "time": "13:18:39",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "13:18:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아마노 메구미는 빈틈투성이! 280.1화 아마노 메구미는 빈…이! 280.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:06:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1087"
        },
        {
          "time": "06:06:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:07:10",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "06:07:10",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:07:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1088"
        },
        {
          "time": "06:07:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:07:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아마노 메구미는 빈틈투성이! - 네코구치 | 뉴토끼, links=278"
        },
        {
          "time": "06:07:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1089"
        },
        {
          "time": "06:07:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:07:37",
          "message": "작품 제목: 아마노 메구미는 빈틈투성이! - 네코구치"
        },
        {
          "time": "06:07:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아마노 메구미는 빈틈투성이! 280.1화 아마노 메구미는 빈…이! 280.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:07:44",
          "message": "메타데이터 태그 저장: 네코구치, 아마노 메구미는 빈틈투성이!"
        },
        {
          "time": "06:07:46",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3040",
        "target_id": "manhwa_3040",
        "title": "아마노 메구미는 빈틈투성이! - 네코구치",
        "episodes_found": 276,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 275,
        "images_found": 2,
        "images_downloaded": 0,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3040",
          "title": "아마노 메구미는 빈틈투성이! - 네코구치",
          "list_url": "https://newtoki1.org/manhwa/3040",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3040"
          },
          "tags": [
            "네코구치",
            "아마노 메구미는 빈틈투성이!"
          ],
          "description": "말라깽이 공부벌레♂ x 오동통한 운동계♀ 凸凹 ‘일상’ 러브코미디ㅡ!! 검도에 매진하는 운동계 오동통 소녀 메구미와 도쿄대 지망생인 비실이 소년 마나부ㅡ 소꿉친구인 두 사람은 중학교 때 잠시 소원해지지만, 같은 고등학교에 진학하면서 또 다시 거리를 좁히기 시작한다. 플러스와 마이너스",
          "metadata_path": "/downloads/manhwa_3040/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 275,
          "url": "https://newtoki1.org/manhwa/3040/1798883",
          "title": "아마노 메구미는 빈틈투성이! 280.1화 아마노 메구미는 빈…이! 280.1화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "09f157cf86",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:48:11",
      "started_at": "2026-06-04T06:03:55",
      "finished_at": "2026-06-04T06:06:10",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "형수님, 3번 더 할 수 있죠? - 나나시키 후카",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/34770",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_34770",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "17:05:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/015.jpg"
        },
        {
          "time": "17:05:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/016.jpg"
        },
        {
          "time": "17:05:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/017.jpg"
        },
        {
          "time": "17:05:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/018.jpg"
        },
        {
          "time": "17:05:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/019.jpg"
        },
        {
          "time": "17:05:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/020.jpg"
        },
        {
          "time": "17:05:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/021.jpg"
        },
        {
          "time": "17:05:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/022.jpg"
        },
        {
          "time": "17:05:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/023.jpg"
        },
        {
          "time": "17:05:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/024.jpg"
        },
        {
          "time": "17:05:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/025.jpg"
        },
        {
          "time": "17:05:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/026.jpg"
        },
        {
          "time": "17:05:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/027.jpg"
        },
        {
          "time": "17:05:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/028.jpg"
        },
        {
          "time": "17:05:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/029.jpg"
        },
        {
          "time": "17:05:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/030.jpg"
        },
        {
          "time": "17:05:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/031.jpg"
        },
        {
          "time": "17:05:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_134/032.jpg"
        },
        {
          "time": "17:05:28",
          "message": "  [>] 이미지 32개 처리 완료.\n"
        },
        {
          "time": "17:05:30",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/34770/1791629"
        },
        {
          "time": "17:05:30",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34770/1791629"
        },
        {
          "time": "17:05:36",
          "message": "  [i] 회차 제목: 형수님, 3번 더 할 수 있죠? 135화 형수님, 3번 더 … 있죠? 135화"
        },
        {
          "time": "17:05:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/001.jpg"
        },
        {
          "time": "17:05:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/002.jpg"
        },
        {
          "time": "17:05:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/003.jpg"
        },
        {
          "time": "17:05:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/004.jpg"
        },
        {
          "time": "17:05:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/005.jpg"
        },
        {
          "time": "17:05:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/006.jpg"
        },
        {
          "time": "17:05:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/007.jpg"
        },
        {
          "time": "17:05:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/008.jpg"
        },
        {
          "time": "17:05:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/009.jpg"
        },
        {
          "time": "17:05:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/010.jpg"
        },
        {
          "time": "17:05:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/011.jpg"
        },
        {
          "time": "17:05:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/012.jpg"
        },
        {
          "time": "17:05:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/013.jpg"
        },
        {
          "time": "17:05:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/014.jpg"
        },
        {
          "time": "17:05:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/015.jpg"
        },
        {
          "time": "17:05:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/016.jpg"
        },
        {
          "time": "17:05:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/017.jpg"
        },
        {
          "time": "17:05:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/018.jpg"
        },
        {
          "time": "17:05:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/019.jpg"
        },
        {
          "time": "17:05:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/020.jpg"
        },
        {
          "time": "17:05:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/021.jpg"
        },
        {
          "time": "17:06:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/022.jpg"
        },
        {
          "time": "17:06:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/023.jpg"
        },
        {
          "time": "17:06:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/024.jpg"
        },
        {
          "time": "17:06:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/025.jpg"
        },
        {
          "time": "17:06:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/026.jpg"
        },
        {
          "time": "17:06:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/027.jpg"
        },
        {
          "time": "17:06:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/028.jpg"
        },
        {
          "time": "17:06:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/029.jpg"
        },
        {
          "time": "17:06:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/030.jpg"
        },
        {
          "time": "17:06:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/031.jpg"
        },
        {
          "time": "17:06:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/032.jpg"
        },
        {
          "time": "17:06:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/033.jpg"
        },
        {
          "time": "17:06:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_34770/ep_135/034.jpg"
        },
        {
          "time": "17:06:15",
          "message": "  [>] 이미지 34개 처리 완료.\n"
        },
        {
          "time": "17:06:16",
          "message": "완료: 회차 135개 처리, 이미지 4484개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 135)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 135)"
        },
        {
          "time": "04:38:28",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:38:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:26:23",
          "message": "작품 제목: 34770"
        },
        {
          "time": "13:26:38",
          "message": "작품 제목: 34770"
        },
        {
          "time": "13:26:45",
          "message": "작품 제목: 34770"
        },
        {
          "time": "13:36:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:36:47"
        },
        {
          "time": "13:36:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:36:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:37:14",
          "message": "작품 제목: 34770"
        },
        {
          "time": "13:37:21",
          "message": "작품 제목: 34770"
        },
        {
          "time": "13:37:27",
          "message": "작품 제목: 34770"
        },
        {
          "time": "13:47:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:47:43"
        },
        {
          "time": "13:47:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:47:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:49:07",
          "message": "작품 제목: 34770"
        },
        {
          "time": "13:49:14",
          "message": "작품 제목: 34770"
        },
        {
          "time": "13:49:51",
          "message": "작품 제목: 34770"
        },
        {
          "time": "14:01:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:01:42"
        },
        {
          "time": "14:01:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:01:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:09:08",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:09:28",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:09:28",
          "message": "작품 제목: 34770"
        },
        {
          "time": "14:09:34",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:09:54",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:09:54",
          "message": "작품 제목: 34770"
        },
        {
          "time": "14:10:31",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:10:51",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:10:51",
          "message": "작품 제목: 34770"
        },
        {
          "time": "14:21:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:21:02"
        },
        {
          "time": "14:21:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:21:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:22:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:32:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:32:48"
        },
        {
          "time": "14:32:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:32:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:38:33",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:48:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:48:33"
        },
        {
          "time": "14:48:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:48:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:48:34",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:48:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:59:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:59:09"
        },
        {
          "time": "14:59:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:59:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:59:10",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:59:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:09:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:09:38"
        },
        {
          "time": "15:09:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:09:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:09:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "15:09:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:20:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:20:00"
        },
        {
          "time": "15:20:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:20:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:20:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "15:20:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:30:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:30:33"
        },
        {
          "time": "15:30:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:30:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:33:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "15:33:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:33:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=형수님, 3번 더 할 수 있죠? - 나나시키 후카 | 뉴토끼, links=137"
        },
        {
          "time": "15:34:04",
          "message": "작품 제목: 형수님, 3번 더 할 수 있죠? - 나나시키 후카"
        },
        {
          "time": "15:34:04",
          "message": "메타데이터 태그 저장: 3번 더 할 수 있죠?, 나나시키 후카, 형수님"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:37:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "12:37:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:37:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=형수님, 3번 더 할 수 있죠? - 나나시키 후카 | 뉴토끼, links=137"
        },
        {
          "time": "12:37:32",
          "message": "작품 제목: 형수님, 3번 더 할 수 있죠? - 나나시키 후카"
        },
        {
          "time": "12:37:32",
          "message": "메타데이터 태그 저장: 3번 더 할 수 있죠?, 나나시키 후카, 형수님"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:21:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #355"
        },
        {
          "time": "21:21:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:22:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=형수님, 3번 더 할 수 있죠? - 나나시키 후카 | 뉴토끼, links=137"
        },
        {
          "time": "21:22:25",
          "message": "작품 제목: 형수님, 3번 더 할 수 있죠? - 나나시키 후카"
        },
        {
          "time": "21:22:26",
          "message": "메타데이터 태그 저장: 3번 더 할 수 있죠?, 나나시키 후카, 형수님"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:45:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #405"
        },
        {
          "time": "10:45:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:45:51",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:45:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #406"
        },
        {
          "time": "10:45:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:46:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=형수님, 3번 더 할 수 있죠? - 나나시키 후카 | 뉴토끼, links=137"
        },
        {
          "time": "10:46:07",
          "message": "작품 제목: 형수님, 3번 더 할 수 있죠? - 나나시키 후카"
        },
        {
          "time": "10:46:08",
          "message": "메타데이터 태그 저장: 3번 더 할 수 있죠?, 나나시키 후카, 형수님"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:05:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1086"
        },
        {
          "time": "06:05:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:05:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=형수님, 3번 더 할 수 있죠? - 나나시키 후카 | 뉴토끼, links=137"
        },
        {
          "time": "06:06:08",
          "message": "작품 제목: 형수님, 3번 더 할 수 있죠? - 나나시키 후카"
        },
        {
          "time": "06:06:09",
          "message": "메타데이터 태그 저장: 3번 더 할 수 있죠?, 나나시키 후카, 형수님"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34770",
        "target_id": "manhwa_34770",
        "title": "형수님, 3번 더 할 수 있죠? - 나나시키 후카",
        "episodes_found": 135,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 135,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34770",
          "title": "형수님, 3번 더 할 수 있죠? - 나나시키 후카",
          "list_url": "https://newtoki1.org/manhwa/34770",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34770"
          },
          "tags": [
            "3번 더 할 수 있죠?",
            "나나시키 후카",
            "형수님"
          ],
          "description": "정말 이대로 끝나길 바라진 않겠죠?앞으로 3번 더 할 거에요!남편의 빈 자리를 집요하게 파고드는 도련님에게어쩔 수 없이 단 한번만이라며 허락했지만….불 붙은 그녀가 내는 소리를그 수컷은 놓치지 않고 더 강렬하게 공략한다!",
          "metadata_path": "/downloads/manhwa_34770/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 135,
        "total": 135,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "a232e16821",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:48:04",
      "started_at": "2026-06-04T05:53:27",
      "finished_at": "2026-06-04T06:03:54",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "선배가 짜증나는 후배 이야기 - 시로만타",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8025",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8025",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "06:55:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 72화 선배가 짜증나는 후…배 이야기 72화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:55:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1025"
        },
        {
          "time": "06:55:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:56:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 136화 선배가 짜증나는 후… 이야기 136화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:35:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #105"
        },
        {
          "time": "18:35:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:36:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 - 시로만타 | 뉴토끼, links=274"
        },
        {
          "time": "18:36:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #106"
        },
        {
          "time": "18:36:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:36:09",
          "message": "작품 제목: 선배가 짜증나는 후배 이야기 - 시로만타"
        },
        {
          "time": "18:36:09",
          "message": "메타데이터 태그 저장: 선배가 짜증나는 후배 이야기, 시로만타"
        },
        {
          "time": "18:36:09",
          "message": "순회 계획을 저장했습니다: 14개 회차"
        },
        {
          "time": "18:36:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 외전 1화 선배가 짜증나는 후…기외전 1, 2화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "18:36:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #107"
        },
        {
          "time": "18:36:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:36:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 외전 3화 선배가 짜증나는 후…기외전 3, 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:37:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #108"
        },
        {
          "time": "18:37:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:37:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 55.5화 선배가 짜증나는 후…이야기 55.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:37:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #109"
        },
        {
          "time": "18:37:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:38:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 56화 선배가 짜증나는 후…배 이야기 56화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:38:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #110"
        },
        {
          "time": "18:38:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:38:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 58화 선배가 짜증나는 후…배 이야기 58화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "18:38:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #111"
        },
        {
          "time": "18:38:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:38:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 59화 선배가 짜증나는 후…배 이야기 59화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "18:39:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #112"
        },
        {
          "time": "18:39:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:39:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 60화 선배가 짜증나는 후…배 이야기 60화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "18:39:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #113"
        },
        {
          "time": "18:39:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:39:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 61화 선배가 짜증나는 후…배 이야기 61화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "18:39:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #114"
        },
        {
          "time": "18:39:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:39:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 62화 선배가 짜증나는 후…배 이야기 62화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "18:40:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #115"
        },
        {
          "time": "18:40:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:40:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 64화 선배가 짜증나는 후…배 이야기 64화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "18:41:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #116"
        },
        {
          "time": "18:41:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:41:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 66화 선배가 짜증나는 후…배 이야기 66화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "18:41:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #117"
        },
        {
          "time": "18:41:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:41:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 67화 선배가 짜증나는 후…배 이야기 67화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "18:42:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #118"
        },
        {
          "time": "18:42:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:42:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 72화 선배가 짜증나는 후…배 이야기 72화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "18:42:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #119"
        },
        {
          "time": "18:42:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:42:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 136화 선배가 짜증나는 후… 이야기 136화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 14)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:59:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #574"
        },
        {
          "time": "12:59:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:00:05",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:00:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #575"
        },
        {
          "time": "13:00:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:00:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 - 시로만타 | 뉴토끼, links=274"
        },
        {
          "time": "13:00:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #576"
        },
        {
          "time": "13:00:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:00:15",
          "message": "작품 제목: 선배가 짜증나는 후배 이야기 - 시로만타"
        },
        {
          "time": "13:00:16",
          "message": "메타데이터 태그 저장: 선배가 짜증나는 후배 이야기, 시로만타"
        },
        {
          "time": "13:00:17",
          "message": "순회 계획을 저장했습니다: 14개 회차"
        },
        {
          "time": "13:00:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 외전 1화 선배가 짜증나는 후…기외전 1, 2화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "13:00:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #577"
        },
        {
          "time": "13:00:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:01:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 외전 3화 선배가 짜증나는 후…기외전 3, 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:01:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #578"
        },
        {
          "time": "13:01:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:01:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 55.5화 선배가 짜증나는 후…이야기 55.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:02:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #579"
        },
        {
          "time": "13:02:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:02:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 56화 선배가 짜증나는 후…배 이야기 56화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:02:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #580"
        },
        {
          "time": "13:02:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:02:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 58화 선배가 짜증나는 후…배 이야기 58화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "13:03:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #581"
        },
        {
          "time": "13:03:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:03:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 59화 선배가 짜증나는 후…배 이야기 59화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "13:03:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #582"
        },
        {
          "time": "13:03:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:04:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 60화 선배가 짜증나는 후…배 이야기 60화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "13:05:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #583"
        },
        {
          "time": "13:05:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:05:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 61화 선배가 짜증나는 후…배 이야기 61화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "13:05:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #584"
        },
        {
          "time": "13:05:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:06:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 62화 선배가 짜증나는 후…배 이야기 62화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "13:06:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #585"
        },
        {
          "time": "13:06:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:06:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 64화 선배가 짜증나는 후…배 이야기 64화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "13:06:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #586"
        },
        {
          "time": "13:06:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:06:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 66화 선배가 짜증나는 후…배 이야기 66화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "13:06:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #587"
        },
        {
          "time": "13:06:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:07:04",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 67화 선배가 짜증나는 후…배 이야기 67화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "13:07:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #588"
        },
        {
          "time": "13:07:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:07:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 72화 선배가 짜증나는 후…배 이야기 72화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "13:07:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #589"
        },
        {
          "time": "13:07:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:07:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 136화 선배가 짜증나는 후… 이야기 136화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1071"
        },
        {
          "time": "05:54:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:54:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 - 시로만타 | 뉴토끼, links=274"
        },
        {
          "time": "05:55:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1072"
        },
        {
          "time": "05:55:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:55:19",
          "message": "작품 제목: 선배가 짜증나는 후배 이야기 - 시로만타"
        },
        {
          "time": "05:55:20",
          "message": "메타데이터 태그 저장: 선배가 짜증나는 후배 이야기, 시로만타"
        },
        {
          "time": "05:55:22",
          "message": "순회 계획을 저장했습니다: 14개 회차"
        },
        {
          "time": "05:55:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 외전 1화 선배가 짜증나는 후…기외전 1, 2화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "05:55:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1073"
        },
        {
          "time": "05:55:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:56:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 외전 3화 선배가 짜증나는 후…기외전 3, 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:56:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1074"
        },
        {
          "time": "05:56:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:56:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 55.5화 선배가 짜증나는 후…이야기 55.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:57:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1075"
        },
        {
          "time": "05:58:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:58:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 56화 선배가 짜증나는 후…배 이야기 56화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:58:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1076"
        },
        {
          "time": "05:58:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:58:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 58화 선배가 짜증나는 후…배 이야기 58화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "05:58:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1077"
        },
        {
          "time": "05:58:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:58:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 59화 선배가 짜증나는 후…배 이야기 59화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "05:59:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1078"
        },
        {
          "time": "05:59:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:59:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 60화 선배가 짜증나는 후…배 이야기 60화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "05:59:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1079"
        },
        {
          "time": "05:59:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:59:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 61화 선배가 짜증나는 후…배 이야기 61화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "06:00:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1080"
        },
        {
          "time": "06:00:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:00:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 62화 선배가 짜증나는 후…배 이야기 62화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "06:00:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1081"
        },
        {
          "time": "06:00:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:00:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 64화 선배가 짜증나는 후…배 이야기 64화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "06:00:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1082"
        },
        {
          "time": "06:00:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:01:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 66화 선배가 짜증나는 후…배 이야기 66화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "06:01:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1083"
        },
        {
          "time": "06:01:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:01:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 67화 선배가 짜증나는 후…배 이야기 67화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "06:02:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1084"
        },
        {
          "time": "06:02:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:03:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 72화 선배가 짜증나는 후…배 이야기 72화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "06:03:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1085"
        },
        {
          "time": "06:03:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:03:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=선배가 짜증나는 후배 이야기 136화 선배가 짜증나는 후… 이야기 136화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 14)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 14)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 14)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8025",
        "target_id": "manhwa_8025",
        "title": "선배가 짜증나는 후배 이야기 - 시로만타",
        "episodes_found": 272,
        "episodes_processed": 14,
        "episodes_failed": 0,
        "episodes_skipped": 258,
        "images_found": 18,
        "images_downloaded": 0,
        "images_skipped": 18,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8025",
          "title": "선배가 짜증나는 후배 이야기 - 시로만타",
          "list_url": "https://newtoki1.org/manhwa/8025",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8025"
          },
          "tags": [
            "선배가 짜증나는 후배 이야기",
            "시로만타"
          ],
          "description": "조금 거칠긴 해도 다정하게 챙겨주는 선배 타케다와그런 그에게 솔직하지 못하고 투덜대기만 하는 후배 이가라시.오늘도 이가라시는 타게다의 과보호가 귀찮지만사실 그다지 싫지는 않다. 물론 진짜 짜증날 때도 있지만,어느 새 가까워진 두 사람의 미묘한 거리감에 고민하는 때가 많은데!타케다와 이가",
          "metadata_path": "/downloads/manhwa_8025/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 14,
        "total": 14,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 3,
          "url": "https://newtoki1.org/manhwa/8025/141225",
          "title": "선배가 짜증나는 후배 이야기 외전 1화 선배가 짜증나는 후…기외전 1, 2화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 7,
          "url": "https://newtoki1.org/manhwa/8025/141224",
          "title": "선배가 짜증나는 후배 이야기 외전 3화 선배가 짜증나는 후…기외전 3, 4화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 72,
          "url": "https://newtoki1.org/manhwa/8025/141226",
          "title": "선배가 짜증나는 후배 이야기 55.5화 선배가 짜증나는 후…이야기 55.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 73,
          "url": "https://newtoki1.org/manhwa/8025/141223",
          "title": "선배가 짜증나는 후배 이야기 56화 선배가 짜증나는 후…배 이야기 56화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 75,
          "url": "https://newtoki1.org/manhwa/8025/141221",
          "title": "선배가 짜증나는 후배 이야기 58화 선배가 짜증나는 후…배 이야기 58화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 76,
          "url": "https://newtoki1.org/manhwa/8025/141220",
          "title": "선배가 짜증나는 후배 이야기 59화 선배가 짜증나는 후…배 이야기 59화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 77,
          "url": "https://newtoki1.org/manhwa/8025/141219",
          "title": "선배가 짜증나는 후배 이야기 60화 선배가 짜증나는 후…배 이야기 60화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 78,
          "url": "https://newtoki1.org/manhwa/8025/141218",
          "title": "선배가 짜증나는 후배 이야기 61화 선배가 짜증나는 후…배 이야기 61화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 79,
          "url": "https://newtoki1.org/manhwa/8025/141217",
          "title": "선배가 짜증나는 후배 이야기 62화 선배가 짜증나는 후…배 이야기 62화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 81,
          "url": "https://newtoki1.org/manhwa/8025/141215",
          "title": "선배가 짜증나는 후배 이야기 64화 선배가 짜증나는 후…배 이야기 64화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 83,
          "url": "https://newtoki1.org/manhwa/8025/141248",
          "title": "선배가 짜증나는 후배 이야기 66화 선배가 짜증나는 후…배 이야기 66화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 84,
          "url": "https://newtoki1.org/manhwa/8025/141247",
          "title": "선배가 짜증나는 후배 이야기 67화 선배가 짜증나는 후…배 이야기 67화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 89,
          "url": "https://newtoki1.org/manhwa/8025/141242",
          "title": "선배가 짜증나는 후배 이야기 72화 선배가 짜증나는 후…배 이야기 72화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 161,
          "url": "https://newtoki1.org/manhwa/8025/299079",
          "title": "선배가 짜증나는 후배 이야기 136화 선배가 짜증나는 후… 이야기 136화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "05f5c6aebb",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:47:58",
      "started_at": "2026-06-04T05:52:31",
      "finished_at": "2026-06-04T05:53:27",
      "config": {
        "list_url": "https://newtoki1.org/manhwa/3590",
        "target_id": "manhwa_3590",
        "output_root": "/downloads",
        "engine": "chrome",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "has_cookie_header": false,
        "cookie_source": "none",
        "request_timeout": 20.0,
        "render_wait": 2.0,
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "browser_guards": true,
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "camofox_session_key": "crawler",
        "script_dir": "scripts",
        "site_script": "",
        "viewer_image_mode": "auto",
        "image_delay": 0.1,
        "episode_delay": 1.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "dry_run": false,
        "skip_existing": true,
        "display_title": "사채꾼 우시지마 - 마나베 쇼헤이",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "23:28:01",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3590"
        },
        {
          "time": "23:28:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "23:28:17",
          "message": "Cloudflare challenge 통과 대기 완료: 3.1초"
        },
        {
          "time": "23:28:17",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "23:28:17",
          "message": "메타데이터 저장: /downloads/manhwa_3590/metadata.yaml"
        },
        {
          "time": "23:28:17",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "23:28:17",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "23:39:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T23:39:50"
        },
        {
          "time": "23:39:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:39:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:47:51",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "10:49:39",
          "message": "기존 완료 기록을 적용합니다: 524개 회차"
        },
        {
          "time": "10:49:39",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "10:49:40",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "10:49:40",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "10:49:40",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "10:49:40",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3590"
        },
        {
          "time": "10:49:40",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3590"
        },
        {
          "time": "10:50:00",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/3590\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/3590"
        },
        {
          "time": "12:08:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-23T12:08:11"
        },
        {
          "time": "12:08:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:08:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "19:54:20",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "19:55:34",
          "message": "기존 완료 기록을 적용합니다: 524개 회차"
        },
        {
          "time": "19:55:34",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "19:55:34",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "19:55:34",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "19:55:34",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "19:55:34",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3590"
        },
        {
          "time": "19:55:34",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3590"
        },
        {
          "time": "19:56:01",
          "message": "작품 제목: 사채꾼 우시지마 - 마나베 쇼헤이"
        },
        {
          "time": "19:56:01",
          "message": "메타데이터 저장: /downloads/manhwa_3590/metadata.yaml"
        },
        {
          "time": "19:56:01",
          "message": "메타데이터 태그 저장: 마나베 쇼헤이, 사채꾼 우시지마"
        },
        {
          "time": "19:56:02",
          "message": "기존 완료 회차 524개 제외"
        },
        {
          "time": "19:56:02",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "19:56:02",
          "message": "총 525개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "19:56:02",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3590/1773514"
        },
        {
          "time": "19:56:02",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3590/1773514"
        },
        {
          "time": "19:56:21",
          "message": "  [i] 회차 제목: 사채꾼 우시지마 465화"
        },
        {
          "time": "19:56:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/001.jpg"
        },
        {
          "time": "19:56:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/002.jpg"
        },
        {
          "time": "19:56:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/003.jpg"
        },
        {
          "time": "19:56:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/004.jpg"
        },
        {
          "time": "19:56:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/005.jpg"
        },
        {
          "time": "19:56:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/006.jpg"
        },
        {
          "time": "19:56:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/007.jpg"
        },
        {
          "time": "19:56:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/008.jpg"
        },
        {
          "time": "19:56:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/009.jpg"
        },
        {
          "time": "19:56:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/010.jpg"
        },
        {
          "time": "19:56:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/011.jpg"
        },
        {
          "time": "19:56:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/012.jpg"
        },
        {
          "time": "19:56:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/013.jpg"
        },
        {
          "time": "19:56:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/014.jpg"
        },
        {
          "time": "19:56:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/015.jpg"
        },
        {
          "time": "19:56:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/016.jpg"
        },
        {
          "time": "19:56:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/017.jpg"
        },
        {
          "time": "19:56:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/018.jpg"
        },
        {
          "time": "19:56:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3590/ep_465/019.jpg"
        },
        {
          "time": "19:56:44",
          "message": "  [>] 이미지 19/19개 처리 완료.\n"
        },
        {
          "time": "19:56:45",
          "message": "완료: 회차 1개 처리, 이미지 19개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:51:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:51:13"
        },
        {
          "time": "05:51:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:51:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:24:16",
          "message": "작품 제목: 3590"
        },
        {
          "time": "13:24:23",
          "message": "작품 제목: 3590"
        },
        {
          "time": "13:25:06",
          "message": "작품 제목: 3590"
        },
        {
          "time": "13:35:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:35:06"
        },
        {
          "time": "13:35:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:35:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:35:55",
          "message": "작품 제목: 3590"
        },
        {
          "time": "13:36:02",
          "message": "작품 제목: 3590"
        },
        {
          "time": "13:36:11",
          "message": "작품 제목: 3590"
        },
        {
          "time": "13:46:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:46:51"
        },
        {
          "time": "13:46:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:46:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:47:01",
          "message": "작품 제목: 3590"
        },
        {
          "time": "13:47:07",
          "message": "작품 제목: 3590"
        },
        {
          "time": "13:47:14",
          "message": "작품 제목: 3590"
        },
        {
          "time": "13:57:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:57:40"
        },
        {
          "time": "13:57:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:57:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:03:15",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:03:35",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:03:35",
          "message": "작품 제목: 3590"
        },
        {
          "time": "14:03:43",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:04:03",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:04:03",
          "message": "작품 제목: 3590"
        },
        {
          "time": "14:04:10",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:04:30",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:05:03",
          "message": "작품 제목: 3590"
        },
        {
          "time": "14:15:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:15:34"
        },
        {
          "time": "14:15:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:15:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:20:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:30:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:30:57"
        },
        {
          "time": "14:30:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:30:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:32:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:42:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:42:20"
        },
        {
          "time": "14:42:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:42:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:42:22",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:52:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:52:24"
        },
        {
          "time": "14:52:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:52:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:54:51",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:54:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:05:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:05:13"
        },
        {
          "time": "15:05:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:05:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:05:16",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:05:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:15:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:15:57"
        },
        {
          "time": "15:15:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:15:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:16:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "15:16:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:28:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:28:54"
        },
        {
          "time": "15:28:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:28:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:32:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "15:32:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:32:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사채꾼 우시지마 - 마나베 쇼헤이 | 뉴토끼, links=527"
        },
        {
          "time": "15:32:33",
          "message": "작품 제목: 사채꾼 우시지마 - 마나베 쇼헤이"
        },
        {
          "time": "15:32:34",
          "message": "메타데이터 태그 저장: 마나베 쇼헤이, 사채꾼 우시지마"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:39:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "12:39:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:39:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사채꾼 우시지마 - 마나베 쇼헤이 | 뉴토끼, links=527"
        },
        {
          "time": "12:39:34",
          "message": "작품 제목: 사채꾼 우시지마 - 마나베 쇼헤이"
        },
        {
          "time": "12:39:34",
          "message": "메타데이터 태그 저장: 마나베 쇼헤이, 사채꾼 우시지마"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:19:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #352"
        },
        {
          "time": "21:19:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:20:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사채꾼 우시지마 - 마나베 쇼헤이 | 뉴토끼, links=527"
        },
        {
          "time": "21:20:33",
          "message": "작품 제목: 사채꾼 우시지마 - 마나베 쇼헤이"
        },
        {
          "time": "21:20:33",
          "message": "메타데이터 태그 저장: 마나베 쇼헤이, 사채꾼 우시지마"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:49:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #409"
        },
        {
          "time": "10:49:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:50:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사채꾼 우시지마 - 마나베 쇼헤이 | 뉴토끼, links=527"
        },
        {
          "time": "10:50:49",
          "message": "작품 제목: 사채꾼 우시지마 - 마나베 쇼헤이"
        },
        {
          "time": "10:50:49",
          "message": "메타데이터 태그 저장: 마나베 쇼헤이, 사채꾼 우시지마"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:53:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1070"
        },
        {
          "time": "05:53:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:53:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사채꾼 우시지마 - 마나베 쇼헤이 | 뉴토끼, links=527"
        },
        {
          "time": "05:53:26",
          "message": "작품 제목: 사채꾼 우시지마 - 마나베 쇼헤이"
        },
        {
          "time": "05:53:27",
          "message": "메타데이터 태그 저장: 마나베 쇼헤이, 사채꾼 우시지마"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3590",
        "target_id": "manhwa_3590",
        "title": "사채꾼 우시지마 - 마나베 쇼헤이",
        "episodes_found": 525,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 525,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3590",
          "title": "사채꾼 우시지마 - 마나베 쇼헤이",
          "list_url": "https://newtoki1.org/manhwa/3590",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3590"
          },
          "tags": [
            "마나베 쇼헤이",
            "사채꾼 우시지마"
          ],
          "description": "돈 함부로 쓰지마라!인생의 지옥은 빚과 함께 다가온다! 명품을 갖고싶어서, 대박 찬스를 만들기 위해, 보다 화끈하게 놀기 위해... 어느 순간 자신의 욕심을 주체하지 못하고 빌리고 마는 빚, 사채! 자기자신이 만든 허영심의 결말을 신랄하게 고발한다!",
          "metadata_path": "/downloads/manhwa_3590/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 525,
        "total": 525,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "c0c549ab66",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:47:51",
      "started_at": "2026-06-04T05:50:51",
      "finished_at": "2026-06-04T05:52:31",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "오타쿠에게 사랑은 어려워 - 후지타",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3032",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3032",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "19:53:08",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3032/1788873"
        },
        {
          "time": "19:53:27",
          "message": "  [i] 회차 제목: 오타쿠에게 사랑은 어려워 98화"
        },
        {
          "time": "19:53:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/001.jpg"
        },
        {
          "time": "19:53:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/002.jpg"
        },
        {
          "time": "19:53:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/003.jpg"
        },
        {
          "time": "19:53:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/004.jpg"
        },
        {
          "time": "19:53:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/005.jpg"
        },
        {
          "time": "19:53:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/006.jpg"
        },
        {
          "time": "19:53:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/007.jpg"
        },
        {
          "time": "19:53:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/008.jpg"
        },
        {
          "time": "19:53:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/009.jpg"
        },
        {
          "time": "19:53:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/010.jpg"
        },
        {
          "time": "19:53:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/011.jpg"
        },
        {
          "time": "19:53:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/012.jpg"
        },
        {
          "time": "19:53:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/013.jpg"
        },
        {
          "time": "19:53:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/014.jpg"
        },
        {
          "time": "19:53:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/015.jpg"
        },
        {
          "time": "19:53:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/016.jpg"
        },
        {
          "time": "19:53:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/017.jpg"
        },
        {
          "time": "19:53:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/018.jpg"
        },
        {
          "time": "19:53:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_103/019.jpg"
        },
        {
          "time": "19:53:47",
          "message": "  [>] 이미지 19/19개 처리 완료.\n"
        },
        {
          "time": "19:53:49",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/3032/1788874"
        },
        {
          "time": "19:53:49",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3032/1788874"
        },
        {
          "time": "19:54:08",
          "message": "  [i] 회차 제목: 오타쿠에게 사랑은 어려워 99화"
        },
        {
          "time": "19:54:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/001.jpg"
        },
        {
          "time": "19:54:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/002.jpg"
        },
        {
          "time": "19:54:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/003.jpg"
        },
        {
          "time": "19:54:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/004.jpg"
        },
        {
          "time": "19:54:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/005.jpg"
        },
        {
          "time": "19:54:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/006.jpg"
        },
        {
          "time": "19:54:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/007.jpg"
        },
        {
          "time": "19:54:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/008.jpg"
        },
        {
          "time": "19:54:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/009.jpg"
        },
        {
          "time": "19:54:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/010.jpg"
        },
        {
          "time": "19:54:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/011.jpg"
        },
        {
          "time": "19:54:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/012.jpg"
        },
        {
          "time": "19:54:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/013.jpg"
        },
        {
          "time": "19:54:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/014.jpg"
        },
        {
          "time": "19:54:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3032/ep_104/015.jpg"
        },
        {
          "time": "19:54:19",
          "message": "  [>] 이미지 15/15개 처리 완료.\n"
        },
        {
          "time": "19:54:20",
          "message": "완료: 회차 104개 처리, 이미지 1352개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 104)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:41:06",
          "message": "작품 제목: 3032"
        },
        {
          "time": "05:51:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:51:13"
        },
        {
          "time": "05:51:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:51:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:34:15"
        },
        {
          "time": "13:34:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:21",
          "message": "작품 제목: 3032"
        },
        {
          "time": "13:34:27",
          "message": "작품 제목: 3032"
        },
        {
          "time": "13:34:33",
          "message": "작품 제목: 3032"
        },
        {
          "time": "13:44:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:44:38"
        },
        {
          "time": "13:44:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:44:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:46:08",
          "message": "작품 제목: 3032"
        },
        {
          "time": "13:46:14",
          "message": "작품 제목: 3032"
        },
        {
          "time": "13:46:51",
          "message": "작품 제목: 3032"
        },
        {
          "time": "13:57:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:57:01"
        },
        {
          "time": "13:57:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:57:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:01:49",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:02:09",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:02:09",
          "message": "작품 제목: 3032"
        },
        {
          "time": "14:02:15",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:02:35",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:02:35",
          "message": "작품 제목: 3032"
        },
        {
          "time": "14:02:44",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:03:04",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:03:04",
          "message": "작품 제목: 3032"
        },
        {
          "time": "14:13:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:13:37"
        },
        {
          "time": "14:13:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:13:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:19:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:30:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:30:12"
        },
        {
          "time": "14:30:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:30:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:31:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:41:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:41:52"
        },
        {
          "time": "14:41:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:41:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:41:53",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:52:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:52:24"
        },
        {
          "time": "14:52:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:52:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:54:27",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:54:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:04:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:04:49"
        },
        {
          "time": "15:04:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:04:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:04:50",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:04:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:15:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:15:57"
        },
        {
          "time": "15:15:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:15:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:15:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "15:15:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:28:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:28:54"
        },
        {
          "time": "15:28:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:28:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:30:34",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:30:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:30:54",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:30:56",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:30:57",
          "message": "작품 제목: 3032"
        },
        {
          "time": "15:30:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:31:17",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:31:17",
          "message": "작품 제목: 3032"
        },
        {
          "time": "15:31:18",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:31:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:31:38",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "15:32:15",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:21:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "16:21:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:21:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠에게 사랑은 어려워 - 후지타 | 뉴토끼, links=106"
        },
        {
          "time": "16:21:37",
          "message": "작품 제목: 오타쿠에게 사랑은 어려워 - 후지타"
        },
        {
          "time": "16:21:37",
          "message": "메타데이터 태그 저장: 오타쿠에게 사랑은 어려워, 후지타"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:21:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #988"
        },
        {
          "time": "06:21:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:22:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠에게 사랑은 어려워 - 후지타 | 뉴토끼, links=106"
        },
        {
          "time": "06:22:06",
          "message": "작품 제목: 오타쿠에게 사랑은 어려워 - 후지타"
        },
        {
          "time": "06:22:06",
          "message": "메타데이터 태그 저장: 오타쿠에게 사랑은 어려워, 후지타"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:47:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #131"
        },
        {
          "time": "18:47:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:47:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠에게 사랑은 어려워 - 후지타 | 뉴토끼, links=106"
        },
        {
          "time": "18:48:24",
          "message": "작품 제목: 오타쿠에게 사랑은 어려워 - 후지타"
        },
        {
          "time": "18:48:24",
          "message": "메타데이터 태그 저장: 오타쿠에게 사랑은 어려워, 후지타"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:51:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #563"
        },
        {
          "time": "12:51:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:52:40",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:52:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #564"
        },
        {
          "time": "12:52:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:52:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠에게 사랑은 어려워 - 후지타 | 뉴토끼, links=106"
        },
        {
          "time": "12:52:52",
          "message": "작품 제목: 오타쿠에게 사랑은 어려워 - 후지타"
        },
        {
          "time": "12:52:53",
          "message": "메타데이터 태그 저장: 오타쿠에게 사랑은 어려워, 후지타"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:51:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1068"
        },
        {
          "time": "05:51:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:51:44",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:51:44",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:51:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1069"
        },
        {
          "time": "05:51:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:51:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠에게 사랑은 어려워 - 후지타 | 뉴토끼, links=106"
        },
        {
          "time": "05:52:30",
          "message": "작품 제목: 오타쿠에게 사랑은 어려워 - 후지타"
        },
        {
          "time": "05:52:30",
          "message": "메타데이터 태그 저장: 오타쿠에게 사랑은 어려워, 후지타"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3032",
        "target_id": "manhwa_3032",
        "title": "오타쿠에게 사랑은 어려워 - 후지타",
        "episodes_found": 104,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 104,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3032",
          "title": "오타쿠에게 사랑은 어려워 - 후지타",
          "list_url": "https://newtoki1.org/manhwa/3032",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3032"
          },
          "tags": [
            "오타쿠에게 사랑은 어려워",
            "후지타"
          ],
          "description": "나루미는 매번 오타쿠라는 이유로 차이고, 그럴 때마다 게임 오타쿠인 히로타카에게 하소연한다. 사귀는 게 아까울 정도로 죽이 잘 맞던 두 사람, 둘의 관계에 변화가 일어나는데! `나라면 아이템 수집이든 렙업이든 얼마든지 같이 해줄거고, 야근해도 기다려 줄거고, 실망시키지도 울리지도 않을",
          "metadata_path": "/downloads/manhwa_3032/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 104,
        "total": 104,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "43c385dafe",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:47:40",
      "started_at": "2026-06-04T05:50:05",
      "finished_at": "2026-06-04T05:50:51",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "홍하후궁 이야기 ~소옥전~ - 쿠리미 아이",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/33386",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_33386",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "18:56:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/009.jpg"
        },
        {
          "time": "18:56:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/010.jpg"
        },
        {
          "time": "18:56:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/011.jpg"
        },
        {
          "time": "18:56:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/012.jpg"
        },
        {
          "time": "18:56:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/013.jpg"
        },
        {
          "time": "18:56:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/014.jpg"
        },
        {
          "time": "18:56:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/015.jpg"
        },
        {
          "time": "18:56:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/016.jpg"
        },
        {
          "time": "18:56:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/017.jpg"
        },
        {
          "time": "18:56:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/018.jpg"
        },
        {
          "time": "18:56:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/019.jpg"
        },
        {
          "time": "18:56:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/020.jpg"
        },
        {
          "time": "18:56:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/021.jpg"
        },
        {
          "time": "18:56:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/022.jpg"
        },
        {
          "time": "18:56:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/023.jpg"
        },
        {
          "time": "18:56:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/024.jpg"
        },
        {
          "time": "18:56:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/025.jpg"
        },
        {
          "time": "18:56:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/026.jpg"
        },
        {
          "time": "18:56:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/027.jpg"
        },
        {
          "time": "18:56:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_106/028.jpg"
        },
        {
          "time": "18:56:34",
          "message": "  [>] 이미지 28/28개 처리 완료.\n"
        },
        {
          "time": "18:56:35",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33386/1788416"
        },
        {
          "time": "18:56:35",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33386/1788416"
        },
        {
          "time": "18:56:55",
          "message": "  [i] 회차 제목: 홍하후궁 이야기 ~소옥전~ 108화 홍하후궁 이야기 ~…소옥전~ 108화"
        },
        {
          "time": "18:56:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/001.jpg"
        },
        {
          "time": "18:56:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/002.jpg"
        },
        {
          "time": "18:56:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/003.jpg"
        },
        {
          "time": "18:56:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/004.jpg"
        },
        {
          "time": "18:57:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/005.jpg"
        },
        {
          "time": "18:57:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/006.jpg"
        },
        {
          "time": "18:57:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/007.jpg"
        },
        {
          "time": "18:57:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/008.jpg"
        },
        {
          "time": "18:57:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/009.jpg"
        },
        {
          "time": "18:57:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/010.jpg"
        },
        {
          "time": "18:57:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/011.jpg"
        },
        {
          "time": "18:57:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/012.jpg"
        },
        {
          "time": "18:57:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/013.jpg"
        },
        {
          "time": "18:57:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/014.jpg"
        },
        {
          "time": "18:57:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/015.jpg"
        },
        {
          "time": "18:57:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/016.jpg"
        },
        {
          "time": "18:57:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/017.jpg"
        },
        {
          "time": "18:57:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/018.jpg"
        },
        {
          "time": "18:57:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/019.jpg"
        },
        {
          "time": "18:57:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/020.jpg"
        },
        {
          "time": "18:57:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/021.jpg"
        },
        {
          "time": "18:57:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/022.jpg"
        },
        {
          "time": "18:57:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/023.jpg"
        },
        {
          "time": "18:57:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/024.jpg"
        },
        {
          "time": "18:57:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/025.jpg"
        },
        {
          "time": "18:57:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/026.jpg"
        },
        {
          "time": "18:57:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_33386/ep_107/027.jpg"
        },
        {
          "time": "18:57:25",
          "message": "  [>] 이미지 27/27개 처리 완료.\n"
        },
        {
          "time": "18:57:27",
          "message": "완료: 회차 107개 처리, 이미지 2874개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 107)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:41:47",
          "message": "작품 제목: 33386"
        },
        {
          "time": "05:51:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:51:59"
        },
        {
          "time": "05:51:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:51:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:23:47",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "13:25:06",
          "message": "중단 작업 재개 요청으로 대기열 맨 앞에 추가되었습니다: 2026-05-28T13:25:06"
        },
        {
          "time": "13:25:14",
          "message": "작품 제목: 33386"
        },
        {
          "time": "13:25:20",
          "message": "작품 제목: 33386"
        },
        {
          "time": "13:25:28",
          "message": "작품 제목: 33386"
        },
        {
          "time": "13:36:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:36:11"
        },
        {
          "time": "13:36:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:36:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:36:17",
          "message": "작품 제목: 33386"
        },
        {
          "time": "13:36:22",
          "message": "작품 제목: 33386"
        },
        {
          "time": "13:36:28",
          "message": "작품 제목: 33386"
        },
        {
          "time": "13:46:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:46:51"
        },
        {
          "time": "13:46:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:46:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:47:21",
          "message": "작품 제목: 33386"
        },
        {
          "time": "13:47:33",
          "message": "작품 제목: 33386"
        },
        {
          "time": "13:47:43",
          "message": "작품 제목: 33386"
        },
        {
          "time": "13:58:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:58:26"
        },
        {
          "time": "13:58:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:58:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:05:11",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:05:31",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:05:31",
          "message": "작품 제목: 33386"
        },
        {
          "time": "14:05:36",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:05:56",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:05:56",
          "message": "작품 제목: 33386"
        },
        {
          "time": "14:06:02",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:06:22",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:06:22",
          "message": "작품 제목: 33386"
        },
        {
          "time": "14:16:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:16:57"
        },
        {
          "time": "14:16:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:16:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:20:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:31:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:31:23"
        },
        {
          "time": "14:31:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:31:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:32:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:42:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:42:48"
        },
        {
          "time": "14:42:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:42:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:42:49",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:53:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:53:08"
        },
        {
          "time": "14:53:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:53:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:55:36",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:55:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:05:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:05:58"
        },
        {
          "time": "15:05:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:05:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:05:59",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:06:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:16:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:16:44"
        },
        {
          "time": "15:16:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:16:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:17:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "15:17:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:28:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:28:54"
        },
        {
          "time": "15:28:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:28:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:32:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "15:32:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:32:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=홍하후궁 이야기 ~소옥전~ - 쿠리미 아이 | 뉴토끼, links=109"
        },
        {
          "time": "15:33:24",
          "message": "작품 제목: 홍하후궁 이야기 ~소옥전~ - 쿠리미 아이"
        },
        {
          "time": "15:33:24",
          "message": "메타데이터 태그 저장: 쿠리미 아이, 홍하후궁 이야기 ~소옥전~"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:39:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "12:39:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:39:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=홍하후궁 이야기 ~소옥전~ - 쿠리미 아이 | 뉴토끼, links=109"
        },
        {
          "time": "12:39:14",
          "message": "작품 제목: 홍하후궁 이야기 ~소옥전~ - 쿠리미 아이"
        },
        {
          "time": "12:39:14",
          "message": "메타데이터 태그 저장: 쿠리미 아이, 홍하후궁 이야기 ~소옥전~"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:20:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #353"
        },
        {
          "time": "21:20:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:20:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=홍하후궁 이야기 ~소옥전~ - 쿠리미 아이 | 뉴토끼, links=109"
        },
        {
          "time": "21:20:49",
          "message": "작품 제목: 홍하후궁 이야기 ~소옥전~ - 쿠리미 아이"
        },
        {
          "time": "21:20:49",
          "message": "메타데이터 태그 저장: 쿠리미 아이, 홍하후궁 이야기 ~소옥전~"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:48:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #408"
        },
        {
          "time": "10:48:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:48:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=홍하후궁 이야기 ~소옥전~ - 쿠리미 아이 | 뉴토끼, links=109"
        },
        {
          "time": "10:49:02",
          "message": "작품 제목: 홍하후궁 이야기 ~소옥전~ - 쿠리미 아이"
        },
        {
          "time": "10:49:03",
          "message": "메타데이터 태그 저장: 쿠리미 아이, 홍하후궁 이야기 ~소옥전~"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:50:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1066"
        },
        {
          "time": "05:50:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:50:27",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:50:28",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:50:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1067"
        },
        {
          "time": "05:50:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:50:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=홍하후궁 이야기 ~소옥전~ - 쿠리미 아이 | 뉴토끼, links=109"
        },
        {
          "time": "05:50:48",
          "message": "작품 제목: 홍하후궁 이야기 ~소옥전~ - 쿠리미 아이"
        },
        {
          "time": "05:50:49",
          "message": "메타데이터 태그 저장: 쿠리미 아이, 홍하후궁 이야기 ~소옥전~"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_33386",
        "target_id": "manhwa_33386",
        "title": "홍하후궁 이야기 ~소옥전~ - 쿠리미 아이",
        "episodes_found": 107,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 107,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_33386",
          "title": "홍하후궁 이야기 ~소옥전~ - 쿠리미 아이",
          "list_url": "https://newtoki1.org/manhwa/33386",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/33386"
          },
          "tags": [
            "쿠리미 아이",
            "홍하후궁 이야기 ~소옥전~"
          ],
          "description": "제국 최강의 장군인 나더러 갑자기 황후가 되라고?제국 최강의 장군 관소옥은 옛 부관이자 현 황제인 문림의 부탁을 받고, 어느 날 갑자기 후궁의 정점인 황후가 되는데...?!여자의 자존심과 욕망이 불꽃을 튀기는 홍하궁에서 벌이지는 군인 황후, 소옥의 파격적인 황실 로맨스",
          "metadata_path": "/downloads/manhwa_33386/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 107,
        "total": 107,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "d534684c7c",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:47:32",
      "started_at": "2026-06-04T05:49:23",
      "finished_at": "2026-06-04T05:50:05",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "사키 -Saki- - 코바야시 리츠",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/32671",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_32671",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "17:32:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/151.jpg"
        },
        {
          "time": "17:32:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/152.jpg"
        },
        {
          "time": "17:32:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/153.jpg"
        },
        {
          "time": "17:32:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/154.jpg"
        },
        {
          "time": "17:32:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/155.jpg"
        },
        {
          "time": "17:32:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/156.jpg"
        },
        {
          "time": "17:32:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/157.jpg"
        },
        {
          "time": "17:32:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/158.jpg"
        },
        {
          "time": "17:32:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/159.jpg"
        },
        {
          "time": "17:32:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/160.jpg"
        },
        {
          "time": "17:32:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/161.jpg"
        },
        {
          "time": "17:32:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/162.jpg"
        },
        {
          "time": "17:32:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/163.jpg"
        },
        {
          "time": "17:32:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/164.jpg"
        },
        {
          "time": "17:32:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/165.jpg"
        },
        {
          "time": "17:32:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/166.jpg"
        },
        {
          "time": "17:32:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/167.jpg"
        },
        {
          "time": "17:32:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/168.jpg"
        },
        {
          "time": "17:32:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/169.jpg"
        },
        {
          "time": "17:32:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/170.jpg"
        },
        {
          "time": "17:32:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/171.jpg"
        },
        {
          "time": "17:32:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/172.jpg"
        },
        {
          "time": "17:32:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/173.jpg"
        },
        {
          "time": "17:32:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/174.jpg"
        },
        {
          "time": "17:32:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/175.jpg"
        },
        {
          "time": "17:32:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/176.jpg"
        },
        {
          "time": "17:32:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/177.jpg"
        },
        {
          "time": "17:32:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/178.jpg"
        },
        {
          "time": "17:32:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/179.jpg"
        },
        {
          "time": "17:32:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/180.jpg"
        },
        {
          "time": "17:32:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/181.jpg"
        },
        {
          "time": "17:32:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/182.jpg"
        },
        {
          "time": "17:32:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/183.jpg"
        },
        {
          "time": "17:32:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/184.jpg"
        },
        {
          "time": "17:32:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/185.jpg"
        },
        {
          "time": "17:32:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/186.jpg"
        },
        {
          "time": "17:32:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/187.jpg"
        },
        {
          "time": "17:32:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/188.jpg"
        },
        {
          "time": "17:32:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/189.jpg"
        },
        {
          "time": "17:32:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/190.jpg"
        },
        {
          "time": "17:32:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/191.jpg"
        },
        {
          "time": "17:32:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/192.jpg"
        },
        {
          "time": "17:32:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/193.jpg"
        },
        {
          "time": "17:32:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/194.jpg"
        },
        {
          "time": "17:32:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/195.jpg"
        },
        {
          "time": "17:32:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/196.jpg"
        },
        {
          "time": "17:32:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/197.jpg"
        },
        {
          "time": "17:32:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/198.jpg"
        },
        {
          "time": "17:32:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/199.jpg"
        },
        {
          "time": "17:32:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/200.jpg"
        },
        {
          "time": "17:32:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/201.jpg"
        },
        {
          "time": "17:32:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/202.jpg"
        },
        {
          "time": "17:32:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/203.jpg"
        },
        {
          "time": "17:32:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/204.jpg"
        },
        {
          "time": "17:32:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/205.jpg"
        },
        {
          "time": "17:32:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/206.jpg"
        },
        {
          "time": "17:33:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/207.jpg"
        },
        {
          "time": "17:33:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/208.jpg"
        },
        {
          "time": "17:33:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/209.jpg"
        },
        {
          "time": "17:33:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/210.jpg"
        },
        {
          "time": "17:33:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/211.jpg"
        },
        {
          "time": "17:33:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/212.jpg"
        },
        {
          "time": "17:33:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/213.jpg"
        },
        {
          "time": "17:33:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/214.jpg"
        },
        {
          "time": "17:33:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/215.jpg"
        },
        {
          "time": "17:33:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/216.jpg"
        },
        {
          "time": "17:33:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/217.jpg"
        },
        {
          "time": "17:33:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/218.jpg"
        },
        {
          "time": "17:33:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/219.jpg"
        },
        {
          "time": "17:33:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/220.jpg"
        },
        {
          "time": "17:33:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/221.jpg"
        },
        {
          "time": "17:33:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/222.jpg"
        },
        {
          "time": "17:33:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/223.jpg"
        },
        {
          "time": "17:33:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/224.jpg"
        },
        {
          "time": "17:33:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/225.jpg"
        },
        {
          "time": "17:33:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/226.jpg"
        },
        {
          "time": "17:33:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/227.jpg"
        },
        {
          "time": "17:33:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/228.jpg"
        },
        {
          "time": "17:33:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/229.jpg"
        },
        {
          "time": "17:33:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/230.jpg"
        },
        {
          "time": "17:33:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/231.jpg"
        },
        {
          "time": "17:33:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_32671/ep_128/232.jpg"
        },
        {
          "time": "17:33:20",
          "message": "  [>] 이미지 232/232개 처리 완료.\n"
        },
        {
          "time": "17:33:21",
          "message": "완료: 회차 15개 처리, 이미지 3098개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 15)"
        },
        {
          "time": "04:37:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:41:54",
          "message": "작품 제목: 32671"
        },
        {
          "time": "05:51:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:51:59"
        },
        {
          "time": "05:51:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:51:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:22:39",
          "message": "작품 제목: 32671"
        },
        {
          "time": "13:22:46",
          "message": "작품 제목: 32671"
        },
        {
          "time": "13:23:23",
          "message": "작품 제목: 32671"
        },
        {
          "time": "13:33:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:33:24"
        },
        {
          "time": "13:33:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:33:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:22:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #265"
        },
        {
          "time": "21:22:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:22:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사키 -Saki- - 코바야시 리츠 | 뉴토끼, links=130"
        },
        {
          "time": "21:22:21",
          "message": "작품 제목: 사키 -Saki- - 코바야시 리츠"
        },
        {
          "time": "21:22:21",
          "message": "메타데이터 태그 저장: 사키 -Saki-, 코바야시 리츠"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:13:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #138"
        },
        {
          "time": "14:13:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:13:39",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:13:44",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:23:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:23:55"
        },
        {
          "time": "14:23:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:23:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:16:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1518"
        },
        {
          "time": "14:16:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:16:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사키 -Saki- - 코바야시 리츠 | 뉴토끼, links=130"
        },
        {
          "time": "14:16:46",
          "message": "작품 제목: 사키 -Saki- - 코바야시 리츠"
        },
        {
          "time": "14:16:46",
          "message": "메타데이터 태그 저장: 사키 -Saki-, 코바야시 리츠"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:48:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #31"
        },
        {
          "time": "16:48:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:48:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사키 -Saki- - 코바야시 리츠 | 뉴토끼, links=130"
        },
        {
          "time": "16:48:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #32"
        },
        {
          "time": "16:48:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:49:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사키 -Saki- - 코바야시 리츠 | 뉴토끼, links=130"
        },
        {
          "time": "16:49:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #33"
        },
        {
          "time": "16:49:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:49:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사키 -Saki- - 코바야시 리츠 | 뉴토끼, links=130"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "22:03:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #430"
        },
        {
          "time": "22:03:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:04:06",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "22:04:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #431"
        },
        {
          "time": "22:04:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:04:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사키 -Saki- - 코바야시 리츠 | 뉴토끼, links=130"
        },
        {
          "time": "22:04:06",
          "message": "작품 제목: 사키 -Saki- - 코바야시 리츠"
        },
        {
          "time": "22:04:06",
          "message": "메타데이터 태그 저장: 사키 -Saki-, 코바야시 리츠"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:06:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #346"
        },
        {
          "time": "10:06:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:07:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사키 -Saki- - 코바야시 리츠 | 뉴토끼, links=130"
        },
        {
          "time": "10:07:36",
          "message": "작품 제목: 사키 -Saki- - 코바야시 리츠"
        },
        {
          "time": "10:07:37",
          "message": "메타데이터 태그 저장: 사키 -Saki-, 코바야시 리츠"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:49:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1064"
        },
        {
          "time": "05:49:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:49:46",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:49:46",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:49:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1065"
        },
        {
          "time": "05:49:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:50:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사키 -Saki- - 코바야시 리츠 | 뉴토끼, links=130"
        },
        {
          "time": "05:50:04",
          "message": "작품 제목: 사키 -Saki- - 코바야시 리츠"
        },
        {
          "time": "05:50:04",
          "message": "메타데이터 태그 저장: 사키 -Saki-, 코바야시 리츠"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_32671",
        "target_id": "manhwa_32671",
        "title": "사키 -Saki- - 코바야시 리츠",
        "episodes_found": 128,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 128,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_32671",
          "title": "사키 -Saki- - 코바야시 리츠",
          "list_url": "https://newtoki1.org/manhwa/32671",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/32671"
          },
          "tags": [
            "사키 -Saki-",
            "코바야시 리츠"
          ],
          "description": "때는 21세기…. 마작 실력이 인생을 좌우하는 시대에 두 천재 여고생이 나타난다. 매번 플러스 마이너스 제로, 무승부로 끝나는 소녀 미야나가 사키. 전국 중학생 마작대회 개인전 우승자 하라무라 노도카. 서로의 인생관이 교차할 때, 뜨거운 이야기의 막이 열린다!!",
          "metadata_path": "/downloads/manhwa_32671/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 128,
        "total": 128,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "c07ea8f03f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:33:44",
      "started_at": "2026-06-04T05:48:45",
      "finished_at": "2026-06-04T05:49:23",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "토렴꾼 - 라셀,정후,꿀방울",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/18254",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_18254",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "21:51:30",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "21:51:31",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "21:51:32",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "21:51:32",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/18254"
        },
        {
          "time": "21:51:33",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/18254"
        },
        {
          "time": "21:51:46",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "21:51:49",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "21:51:49",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "21:51:49",
          "message": "메타데이터 저장: /downloads/webtoon_18254/metadata.yaml"
        },
        {
          "time": "21:51:49",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "21:51:49",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "22:03:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T22:03:19"
        },
        {
          "time": "22:03:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:03:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:19:01",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "23:20:36",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "23:20:36",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "23:20:36",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "23:20:36",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "23:20:36",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/18254"
        },
        {
          "time": "23:20:36",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/18254"
        },
        {
          "time": "23:20:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "23:20:53",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "23:20:53",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "23:20:53",
          "message": "메타데이터 저장: /downloads/webtoon_18254/metadata.yaml"
        },
        {
          "time": "23:20:53",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "23:20:53",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "23:32:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T23:32:01"
        },
        {
          "time": "23:32:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:32:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:59:51",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "09:00:49",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "09:00:49",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "09:00:49",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "09:00:49",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "09:00:49",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/18254"
        },
        {
          "time": "09:00:49",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/18254"
        },
        {
          "time": "09:01:06",
          "message": "작품 제목: 토렴꾼 - 라셀,정후,꿀방울"
        },
        {
          "time": "09:01:06",
          "message": "메타데이터 저장: /downloads/webtoon_18254/metadata.yaml"
        },
        {
          "time": "09:01:06",
          "message": "메타데이터 태그 저장: 꿀방울, 라셀, 로맨스, 성인, 정후, 토렴꾼"
        },
        {
          "time": "09:01:06",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "09:01:06",
          "message": "총 2개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "09:01:06",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/18254/1522058"
        },
        {
          "time": "09:01:06",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/18254/1522058"
        },
        {
          "time": "09:01:16",
          "message": "  [i] 회차 제목: 토렴꾼 - 라셀,정후,꿀방울"
        },
        {
          "time": "09:01:17",
          "message": "    [-] 저장 완료: /downloads/webtoon_18254/ep_001/001.png"
        },
        {
          "time": "09:01:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_18254/ep_001/002.jpg"
        },
        {
          "time": "09:01:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_18254/ep_001/003.png"
        },
        {
          "time": "09:01:24",
          "message": "  [>] 이미지 3/3개 처리 완료.\n"
        },
        {
          "time": "09:01:26",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/18254/1522053"
        },
        {
          "time": "09:01:26",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/18254/1522053"
        },
        {
          "time": "09:01:35",
          "message": "  [i] 회차 제목: 토렴꾼 - 라셀,정후,꿀방울"
        },
        {
          "time": "09:01:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_18254/ep_002/001.png"
        },
        {
          "time": "09:01:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_18254/ep_002/002.jpg"
        },
        {
          "time": "09:01:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_18254/ep_002/003.png"
        },
        {
          "time": "09:01:36",
          "message": "  [>] 이미지 3/3개 처리 완료.\n"
        },
        {
          "time": "09:01:37",
          "message": "완료: 회차 2개 처리, 이미지 6개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:00:40",
          "message": "작품 제목: 18254"
        },
        {
          "time": "06:11:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:11:13"
        },
        {
          "time": "06:11:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:11:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:22:15",
          "message": "작품 제목: 18254"
        },
        {
          "time": "13:22:21",
          "message": "작품 제목: 18254"
        },
        {
          "time": "13:22:33",
          "message": "작품 제목: 18254"
        },
        {
          "time": "13:32:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:32:44"
        },
        {
          "time": "13:32:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:32:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:16:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #256"
        },
        {
          "time": "21:16:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:17:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=토렴꾼 - 라셀,정후,꿀방울 | 뉴토끼, links=8"
        },
        {
          "time": "21:17:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #257"
        },
        {
          "time": "21:17:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:17:15",
          "message": "작품 제목: 토렴꾼 - 라셀,정후,꿀방울"
        },
        {
          "time": "21:17:15",
          "message": "메타데이터 태그 저장: 꿀방울, 라셀, 로맨스, 성인, 정후, 토렴꾼"
        },
        {
          "time": "21:17:15",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "21:17:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #258"
        },
        {
          "time": "21:17:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:18:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #259"
        },
        {
          "time": "21:18:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:19:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #260"
        },
        {
          "time": "21:19:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:20:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #261"
        },
        {
          "time": "21:20:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:20:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #262"
        },
        {
          "time": "21:20:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:21:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #263"
        },
        {
          "time": "21:21:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:21:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #264"
        },
        {
          "time": "21:21:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:32:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T21:32:07"
        },
        {
          "time": "21:32:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:32:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:53:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #40"
        },
        {
          "time": "12:53:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:53:30",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:53:30",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:04:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:04:26"
        },
        {
          "time": "13:04:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:04:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:51:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1092"
        },
        {
          "time": "07:51:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:51:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=토렴꾼 - 라셀,정후,꿀방울 | 뉴토끼, links=8"
        },
        {
          "time": "07:51:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1093"
        },
        {
          "time": "07:51:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:51:22",
          "message": "작품 제목: 토렴꾼 - 라셀,정후,꿀방울"
        },
        {
          "time": "07:51:22",
          "message": "메타데이터 태그 저장: 꿀방울, 라셀, 로맨스, 성인, 정후, 토렴꾼"
        },
        {
          "time": "07:51:22",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "07:51:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=토렴꾼 5화 1화 | 뉴토끼, img_tags=94, image_urls=94"
        },
        {
          "time": "07:56:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1094"
        },
        {
          "time": "07:56:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:56:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1095"
        },
        {
          "time": "07:56:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:57:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=토렴꾼 4화 2화 | 뉴토끼, img_tags=101, image_urls=101"
        },
        {
          "time": "08:01:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1096"
        },
        {
          "time": "08:01:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:01:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1097"
        },
        {
          "time": "08:01:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:01:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=토렴꾼 3화 | 뉴토끼, img_tags=106, image_urls=106"
        },
        {
          "time": "08:06:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1098"
        },
        {
          "time": "08:06:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:07:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1099"
        },
        {
          "time": "08:07:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:07:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1100"
        },
        {
          "time": "08:07:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:08:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=토렴꾼 2화 4화 | 뉴토끼, img_tags=88, image_urls=88"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:24:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #90"
        },
        {
          "time": "18:24:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:24:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=토렴꾼 - 라셀,정후,꿀방울 | 뉴토끼, links=8"
        },
        {
          "time": "18:25:39",
          "message": "작품 제목: 토렴꾼 - 라셀,정후,꿀방울"
        },
        {
          "time": "18:25:39",
          "message": "메타데이터 태그 저장: 꿀방울, 라셀, 로맨스, 성인, 정후, 토렴꾼"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:17:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #604"
        },
        {
          "time": "13:17:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:17:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=토렴꾼 - 라셀,정후,꿀방울 | 뉴토끼, links=8"
        },
        {
          "time": "13:17:33",
          "message": "작품 제목: 토렴꾼 - 라셀,정후,꿀방울"
        },
        {
          "time": "13:17:33",
          "message": "메타데이터 태그 저장: 꿀방울, 라셀, 로맨스, 성인, 정후, 토렴꾼"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:48:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1062"
        },
        {
          "time": "05:48:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:49:07",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:49:07",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:49:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1063"
        },
        {
          "time": "05:49:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:49:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=토렴꾼 - 라셀,정후,꿀방울 | 뉴토끼, links=8"
        },
        {
          "time": "05:49:22",
          "message": "작품 제목: 토렴꾼 - 라셀,정후,꿀방울"
        },
        {
          "time": "05:49:22",
          "message": "메타데이터 태그 저장: 꿀방울, 라셀, 로맨스, 성인, 정후, 토렴꾼"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_18254",
        "target_id": "webtoon_18254",
        "title": "토렴꾼 - 라셀,정후,꿀방울",
        "episodes_found": 6,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 6,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_18254",
          "title": "토렴꾼 - 라셀,정후,꿀방울",
          "list_url": "https://newtoki1.org/webtoon/18254",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/18254"
          },
          "tags": [
            "꿀방울",
            "라셀",
            "로맨스",
            "성인",
            "정후",
            "토렴꾼"
          ],
          "description": "토렴꾼 (라셀,정후,꿀방울) [기타] #로맨스 #성인",
          "metadata_path": "/downloads/webtoon_18254/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 6,
        "total": 6,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "86f136b8a7",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:33:37",
      "started_at": "2026-06-04T05:47:27",
      "finished_at": "2026-06-04T05:48:45",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "여관에 사는 출렁출렁 거유녀 - 요네쿠라",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/9877",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_9877",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "20:53:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:53:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 17화 10화 | 뉴토끼, images=29"
        },
        {
          "time": "20:53:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #228"
        },
        {
          "time": "20:53:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:53:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 16화 11화 | 뉴토끼, images=45"
        },
        {
          "time": "20:56:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #229"
        },
        {
          "time": "20:56:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:56:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #230"
        },
        {
          "time": "20:56:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:56:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 15화 12화 | 뉴토끼, images=37"
        },
        {
          "time": "20:58:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #231"
        },
        {
          "time": "20:58:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:59:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #232"
        },
        {
          "time": "20:59:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:59:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 14화 13화 | 뉴토끼, images=33"
        },
        {
          "time": "21:01:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #233"
        },
        {
          "time": "21:01:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:02:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #234"
        },
        {
          "time": "21:02:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:02:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 13화 14화 | 뉴토끼, images=33"
        },
        {
          "time": "21:03:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #235"
        },
        {
          "time": "21:03:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:03:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 12화 15화 | 뉴토끼, images=48"
        },
        {
          "time": "21:06:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #236"
        },
        {
          "time": "21:06:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:06:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #237"
        },
        {
          "time": "21:06:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:06:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #238"
        },
        {
          "time": "21:06:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:07:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #239"
        },
        {
          "time": "21:07:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:08:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #240"
        },
        {
          "time": "21:08:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:08:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #241"
        },
        {
          "time": "21:08:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:08:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #242"
        },
        {
          "time": "21:08:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:09:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #243"
        },
        {
          "time": "21:09:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:10:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #244"
        },
        {
          "time": "21:10:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:10:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #245"
        },
        {
          "time": "21:10:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:11:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #246"
        },
        {
          "time": "21:11:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:11:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #247"
        },
        {
          "time": "21:11:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:12:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #248"
        },
        {
          "time": "21:12:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:12:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #249"
        },
        {
          "time": "21:12:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:12:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #250"
        },
        {
          "time": "21:12:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:13:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #251"
        },
        {
          "time": "21:13:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:14:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #252"
        },
        {
          "time": "21:14:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:14:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #253"
        },
        {
          "time": "21:14:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:14:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #254"
        },
        {
          "time": "21:14:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:15:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #255"
        },
        {
          "time": "21:15:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:32:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T21:32:07"
        },
        {
          "time": "21:32:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:32:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:52:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #39"
        },
        {
          "time": "12:52:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:52:44",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:52:44",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "13:03:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T13:03:19"
        },
        {
          "time": "13:03:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:03:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:28:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1071"
        },
        {
          "time": "07:28:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:29:16",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "07:29:16",
          "message": "작품 제목: 9877"
        },
        {
          "time": "07:29:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1072"
        },
        {
          "time": "07:29:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:29:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 - 요네쿠라 | 뉴토끼, links=28"
        },
        {
          "time": "07:29:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1073"
        },
        {
          "time": "07:29:48",
          "message": "작품 제목: 여관에 사는 출렁출렁 거유녀 - 요네쿠라"
        },
        {
          "time": "07:29:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:29:48",
          "message": "메타데이터 태그 저장: 드라마, 로맨스, 성인, 여관에 사는 출렁출렁 거유녀, 요네쿠라"
        },
        {
          "time": "07:29:48",
          "message": "순회 계획을 저장했습니다: 12개 회차"
        },
        {
          "time": "07:29:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 24화 3화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "07:30:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1074"
        },
        {
          "time": "07:30:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:30:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 17화 10화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "07:30:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1075"
        },
        {
          "time": "07:30:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:31:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1076"
        },
        {
          "time": "07:31:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:31:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 11화 16화 | 뉴토끼, img_tags=55, image_urls=55"
        },
        {
          "time": "07:33:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1077"
        },
        {
          "time": "07:33:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:33:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1078"
        },
        {
          "time": "07:33:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:34:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 10화 17화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "07:34:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1079"
        },
        {
          "time": "07:34:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:34:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 9화 18화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "07:35:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1080"
        },
        {
          "time": "07:35:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:35:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 8화 19화 | 뉴토끼, img_tags=65, image_urls=65"
        },
        {
          "time": "07:37:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1081"
        },
        {
          "time": "07:37:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:37:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1082"
        },
        {
          "time": "07:37:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:37:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 7화 20화 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "07:39:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1083"
        },
        {
          "time": "07:39:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:40:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1084"
        },
        {
          "time": "07:40:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:40:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 6화 21화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "07:42:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1085"
        },
        {
          "time": "07:42:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:43:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1086"
        },
        {
          "time": "07:43:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:43:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 5화 22화 | 뉴토끼, img_tags=35, image_urls=35"
        },
        {
          "time": "07:44:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1087"
        },
        {
          "time": "07:44:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:44:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1088"
        },
        {
          "time": "07:44:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:45:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 4화 23화 | 뉴토끼, img_tags=50, image_urls=50"
        },
        {
          "time": "07:47:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1089"
        },
        {
          "time": "07:47:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:47:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1090"
        },
        {
          "time": "07:47:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:47:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 3화 24화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "07:49:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1091"
        },
        {
          "time": "07:49:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:49:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 2화 25화 | 뉴토끼, img_tags=35, image_urls=35"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:25:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #91"
        },
        {
          "time": "18:25:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:25:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 - 요네쿠라 | 뉴토끼, links=28"
        },
        {
          "time": "18:25:53",
          "message": "작품 제목: 여관에 사는 출렁출렁 거유녀 - 요네쿠라"
        },
        {
          "time": "18:25:53",
          "message": "메타데이터 태그 저장: 드라마, 로맨스, 성인, 여관에 사는 출렁출렁 거유녀, 요네쿠라"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:15:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #602"
        },
        {
          "time": "13:15:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:15:57",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:15:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #603"
        },
        {
          "time": "13:15:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:16:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 - 요네쿠라 | 뉴토끼, links=28"
        },
        {
          "time": "13:16:44",
          "message": "작품 제목: 여관에 사는 출렁출렁 거유녀 - 요네쿠라"
        },
        {
          "time": "13:16:44",
          "message": "메타데이터 태그 저장: 드라마, 로맨스, 성인, 여관에 사는 출렁출렁 거유녀, 요네쿠라"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:47:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1061"
        },
        {
          "time": "05:47:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:48:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여관에 사는 출렁출렁 거유녀 - 요네쿠라 | 뉴토끼, links=28"
        },
        {
          "time": "05:48:44",
          "message": "작품 제목: 여관에 사는 출렁출렁 거유녀 - 요네쿠라"
        },
        {
          "time": "05:48:45",
          "message": "메타데이터 태그 저장: 드라마, 로맨스, 성인, 여관에 사는 출렁출렁 거유녀, 요네쿠라"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_9877",
        "target_id": "webtoon_9877",
        "title": "여관에 사는 출렁출렁 거유녀 - 요네쿠라",
        "episodes_found": 26,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 26,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_9877",
          "title": "여관에 사는 출렁출렁 거유녀 - 요네쿠라",
          "list_url": "https://newtoki1.org/webtoon/9877",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/9877"
          },
          "tags": [
            "드라마",
            "로맨스",
            "성인",
            "여관에 사는 출렁출렁 거유녀",
            "요네쿠라"
          ],
          "description": "여관에 사는 출렁출렁 거유녀 (요네쿠라) [봄툰] #드라마 #로맨스 #성인",
          "metadata_path": "/downloads/webtoon_9877/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 26,
        "total": 26,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "420f78a351",
      "status": "interrupted",
      "display_status": "interrupted",
      "created_at": "2026-05-16T08:31:12",
      "started_at": "2026-06-06T13:45:18",
      "finished_at": "2026-06-06T14:34:52",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "바디 포지션 - 느루,Jsol,또다른",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/18863",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_18863",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "11:42:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:54:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T11:54:00"
        },
        {
          "time": "11:54:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:54:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:58:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #657"
        },
        {
          "time": "11:58:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:58:58",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "11:58:58",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:58:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #658"
        },
        {
          "time": "11:58:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:59:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바디 포지션 - 느루,Jsol,또다른 | 뉴토끼, links=39"
        },
        {
          "time": "11:59:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #659"
        },
        {
          "time": "11:59:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:59:17",
          "message": "작품 제목: 바디 포지션 - 느루,Jsol,또다른"
        },
        {
          "time": "11:59:18",
          "message": "메타데이터 태그 저장: Jsol, 느루, 또다른, 로맨스, 바디 포지션, 성인"
        },
        {
          "time": "11:59:19",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "11:59:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #660"
        },
        {
          "time": "11:59:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:59:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #661"
        },
        {
          "time": "11:59:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:00:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #662"
        },
        {
          "time": "12:00:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:10:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T12:10:54"
        },
        {
          "time": "12:10:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:10:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:15:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #702"
        },
        {
          "time": "12:15:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:15:50",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:15:50",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:15:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #703"
        },
        {
          "time": "12:15:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:16:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바디 포지션 - 느루,Jsol,또다른 | 뉴토끼, links=39"
        },
        {
          "time": "12:16:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #704"
        },
        {
          "time": "12:16:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:16:05",
          "message": "작품 제목: 바디 포지션 - 느루,Jsol,또다른"
        },
        {
          "time": "12:16:06",
          "message": "메타데이터 태그 저장: Jsol, 느루, 또다른, 로맨스, 바디 포지션, 성인"
        },
        {
          "time": "12:16:06",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "12:16:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #705"
        },
        {
          "time": "12:16:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:16:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #706"
        },
        {
          "time": "12:16:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:17:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #707"
        },
        {
          "time": "12:17:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:28:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T12:28:04"
        },
        {
          "time": "12:28:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:28:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:32:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #747"
        },
        {
          "time": "12:32:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:32:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바디 포지션 - 느루,Jsol,또다른 | 뉴토끼, links=39"
        },
        {
          "time": "12:32:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #748"
        },
        {
          "time": "12:32:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:32:48",
          "message": "작품 제목: 바디 포지션 - 느루,Jsol,또다른"
        },
        {
          "time": "12:32:49",
          "message": "메타데이터 태그 저장: Jsol, 느루, 또다른, 로맨스, 바디 포지션, 성인"
        },
        {
          "time": "12:32:50",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "12:33:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #749"
        },
        {
          "time": "12:33:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:33:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #750"
        },
        {
          "time": "12:33:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:33:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #751"
        },
        {
          "time": "12:33:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:45:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T12:45:34"
        },
        {
          "time": "12:45:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:45:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #785"
        },
        {
          "time": "12:47:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:47:37",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:47:38",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:47:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #786"
        },
        {
          "time": "12:47:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:47:58",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a07786da1b168f12 • 2026-06-06 12:47:38 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "12:47:59",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a07786da1b168f12 • 2026-06-06 12:47:38 UTC Edge IP Restricted What happened? Y. 최근…"
        },
        {
          "time": "12:47:59",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "12:47:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #787"
        },
        {
          "time": "12:48:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:48:21",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:48:21",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "12:48:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #788"
        },
        {
          "time": "12:48:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:48:43",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a0778817dfdc4a01 • 2026-06-06 12:48:29 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "12:48:43",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a0778817dfdc4a01 • 2026-06-06 12:48:29 UTC Edge IP Restricted What happened? Y. 최근…"
        },
        {
          "time": "12:59:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T12:59:17"
        },
        {
          "time": "12:59:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:59:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:00:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #821"
        },
        {
          "time": "13:00:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:01:22",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:01:22",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:01:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #822"
        },
        {
          "time": "13:01:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:01:43",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a0779b25aea4a9bb • 2026-06-06 13:01:29 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "13:01:43",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a0779b25aea4a9bb • 2026-06-06 13:01:29 UTC Edge IP Restricted What happened? Y. 최근…"
        },
        {
          "time": "13:01:44",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "13:01:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #823"
        },
        {
          "time": "13:01:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:02:06",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:02:06",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "13:02:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #824"
        },
        {
          "time": "13:02:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:02:28",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:13:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T13:13:03"
        },
        {
          "time": "13:13:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:13:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:14:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #857"
        },
        {
          "time": "13:14:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:15:01",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a077ae9fccc47db2 • 2026-06-06 13:14:47 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "13:15:02",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a077ae9fccc47db2 • 2026-06-06 13:14:47 UTC Edge IP Restricted What happened? Y. 최근…"
        },
        {
          "time": "13:15:02",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:15:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #858"
        },
        {
          "time": "13:15:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:15:23",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a077aeff1ef27db2 • 2026-06-06 13:15:02 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "13:15:23",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a077aeff1ef27db2 • 2026-06-06 13:15:02 UTC Edge IP Restricted What happened? Y. 최근…"
        },
        {
          "time": "13:15:23",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "13:15:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #859"
        },
        {
          "time": "13:15:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:15:45",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a077afaecc904a8b • 2026-06-06 13:15:31 UTC Edge IP Restricted What happened? Y, reason=series_links_missing"
        },
        {
          "time": "13:15:45",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/webtoon/18863, title=Edge IP Restricted | sbxh4.com | Cloudflare, links=2, ready=interactive, text=Please enable cookies. Error 1034 Ray ID: a077afaecc904a8b • 2026-06-06 13:15:31 UTC Edge IP Restricted What happened? Y. 최근…"
        },
        {
          "time": "13:15:45",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "13:15:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #860"
        },
        {
          "time": "13:15:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:16:07",
          "message": "목록 페이지 스냅샷 검증 실패 (4/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:27:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T13:27:40"
        },
        {
          "time": "13:27:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:27:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:29:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #896"
        },
        {
          "time": "13:29:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:29:58",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "13:29:58",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:29:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #897"
        },
        {
          "time": "13:29:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:30:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바디 포지션 - 느루,Jsol,또다른 | 뉴토끼, links=39"
        },
        {
          "time": "13:30:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #898"
        },
        {
          "time": "13:30:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:30:08",
          "message": "작품 제목: 바디 포지션 - 느루,Jsol,또다른"
        },
        {
          "time": "13:30:09",
          "message": "메타데이터 태그 저장: Jsol, 느루, 또다른, 로맨스, 바디 포지션, 성인"
        },
        {
          "time": "13:30:09",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "13:30:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #899"
        },
        {
          "time": "13:30:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:30:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #900"
        },
        {
          "time": "13:30:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:31:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #901"
        },
        {
          "time": "13:31:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:41:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T13:41:34"
        },
        {
          "time": "13:41:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:41:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:45:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #940"
        },
        {
          "time": "13:45:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:45:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바디 포지션 - 느루,Jsol,또다른 | 뉴토끼, links=39"
        },
        {
          "time": "13:45:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #941"
        },
        {
          "time": "13:45:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:45:47",
          "message": "작품 제목: 바디 포지션 - 느루,Jsol,또다른"
        },
        {
          "time": "13:45:48",
          "message": "메타데이터 태그 저장: Jsol, 느루, 또다른, 로맨스, 바디 포지션, 성인"
        },
        {
          "time": "13:45:49",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "13:46:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #942"
        },
        {
          "time": "13:46:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:46:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #943"
        },
        {
          "time": "13:46:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:34:52",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 0, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 0, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 0, 회차 계획 1)"
        }
      ],
      "summary": null,
      "error": "서버 재시작으로 작업이 중단되었습니다.",
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 0,
        "total": 1,
        "percent": 0,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 37,
          "url": "https://newtoki1.org/webtoon/18863/u-mpv9jxzu-bmhf",
          "title": "36화",
          "status": "interrupted",
          "image_count": 0,
          "images_done": 0,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "4c0cb3e8f3",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:30:51",
      "started_at": "2026-06-07T00:27:35",
      "finished_at": "2026-06-07T00:29:55",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/u-tt-Became_an_apartment_manager-mp14appe-01ho",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_u-tt-Became_an_apartment_manager-mp14appe-01ho",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "23:01:13",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "23:01:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1349"
        },
        {
          "time": "23:01:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:01:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi | 뉴토끼, links=49"
        },
        {
          "time": "23:01:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1350"
        },
        {
          "time": "23:01:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:01:30",
          "message": "작품 제목: 아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi"
        },
        {
          "time": "23:01:31",
          "message": "메타데이터 태그 저장: 그림 벨루가, 글 기철, 노벨피아원작, 드라마, 성인, 아파트 관리인이 되었다, 원작 Maemi, 유부녀, 조교"
        },
        {
          "time": "23:01:32",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:01:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1351"
        },
        {
          "time": "23:01:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:02:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1352"
        },
        {
          "time": "23:02:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:02:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1353"
        },
        {
          "time": "23:02:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:13:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:13:40"
        },
        {
          "time": "23:13:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:13:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:13:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1382"
        },
        {
          "time": "23:13:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:14:12",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "23:14:13",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "23:14:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1383"
        },
        {
          "time": "23:14:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:14:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi | 뉴토끼, links=49"
        },
        {
          "time": "23:14:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1384"
        },
        {
          "time": "23:14:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:14:24",
          "message": "작품 제목: 아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi"
        },
        {
          "time": "23:14:25",
          "message": "메타데이터 태그 저장: 그림 벨루가, 글 기철, 노벨피아원작, 드라마, 성인, 아파트 관리인이 되었다, 원작 Maemi, 유부녀, 조교"
        },
        {
          "time": "23:14:26",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:14:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1385"
        },
        {
          "time": "23:14:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:15:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1386"
        },
        {
          "time": "23:15:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:15:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1387"
        },
        {
          "time": "23:15:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:26:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:26:21"
        },
        {
          "time": "23:26:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:26:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:26:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1416"
        },
        {
          "time": "23:26:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:26:46",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "23:26:46",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "23:26:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1417"
        },
        {
          "time": "23:26:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:26:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi | 뉴토끼, links=49"
        },
        {
          "time": "23:26:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1418"
        },
        {
          "time": "23:26:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:26:56",
          "message": "작품 제목: 아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi"
        },
        {
          "time": "23:26:57",
          "message": "메타데이터 태그 저장: 그림 벨루가, 글 기철, 노벨피아원작, 드라마, 성인, 아파트 관리인이 되었다, 원작 Maemi, 유부녀, 조교"
        },
        {
          "time": "23:26:58",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:27:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1419"
        },
        {
          "time": "23:27:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:27:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1420"
        },
        {
          "time": "23:27:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:27:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1421"
        },
        {
          "time": "23:28:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:38:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:38:44"
        },
        {
          "time": "23:38:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:38:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:38:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1449"
        },
        {
          "time": "23:38:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:39:11",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "23:39:11",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "23:39:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1450"
        },
        {
          "time": "23:39:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:39:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi | 뉴토끼, links=49"
        },
        {
          "time": "23:39:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1451"
        },
        {
          "time": "23:39:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:39:30",
          "message": "작품 제목: 아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi"
        },
        {
          "time": "23:39:31",
          "message": "메타데이터 태그 저장: 그림 벨루가, 글 기철, 노벨피아원작, 드라마, 성인, 아파트 관리인이 되었다, 원작 Maemi, 유부녀, 조교"
        },
        {
          "time": "23:39:32",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:39:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1452"
        },
        {
          "time": "23:39:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:40:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1453"
        },
        {
          "time": "23:40:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:40:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1454"
        },
        {
          "time": "23:40:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:51:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:51:03"
        },
        {
          "time": "23:51:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:51:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:51:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1482"
        },
        {
          "time": "23:51:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:51:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi | 뉴토끼, links=49"
        },
        {
          "time": "23:51:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1483"
        },
        {
          "time": "23:51:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:51:21",
          "message": "작품 제목: 아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi"
        },
        {
          "time": "23:51:22",
          "message": "메타데이터 태그 저장: 그림 벨루가, 글 기철, 노벨피아원작, 드라마, 성인, 아파트 관리인이 되었다, 원작 Maemi, 유부녀, 조교"
        },
        {
          "time": "23:51:22",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:51:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1484"
        },
        {
          "time": "23:51:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:52:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1485"
        },
        {
          "time": "23:52:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:52:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1486"
        },
        {
          "time": "23:52:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:02:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T00:02:51"
        },
        {
          "time": "00:02:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:02:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:03:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1513"
        },
        {
          "time": "00:03:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:03:24",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "00:03:25",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "00:03:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1514"
        },
        {
          "time": "00:03:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:03:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi | 뉴토끼, links=49"
        },
        {
          "time": "00:03:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1515"
        },
        {
          "time": "00:03:34",
          "message": "작품 제목: 아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi"
        },
        {
          "time": "00:03:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:03:36",
          "message": "메타데이터 태그 저장: 그림 벨루가, 글 기철, 노벨피아원작, 드라마, 성인, 아파트 관리인이 되었다, 원작 Maemi, 유부녀, 조교"
        },
        {
          "time": "00:03:36",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:03:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1516"
        },
        {
          "time": "00:03:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:04:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1517"
        },
        {
          "time": "00:04:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:04:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1518"
        },
        {
          "time": "00:04:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:15:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T00:15:04"
        },
        {
          "time": "00:15:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:15:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:15:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1546"
        },
        {
          "time": "00:15:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:15:30",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "00:15:31",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "00:15:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1547"
        },
        {
          "time": "00:15:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:15:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi | 뉴토끼, links=49"
        },
        {
          "time": "00:15:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1548"
        },
        {
          "time": "00:15:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:15:42",
          "message": "작품 제목: 아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi"
        },
        {
          "time": "00:15:44",
          "message": "메타데이터 태그 저장: 그림 벨루가, 글 기철, 노벨피아원작, 드라마, 성인, 아파트 관리인이 되었다, 원작 Maemi, 유부녀, 조교"
        },
        {
          "time": "00:15:44",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:16:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1549"
        },
        {
          "time": "00:16:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:16:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1550"
        },
        {
          "time": "00:16:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:16:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1551"
        },
        {
          "time": "00:16:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:27:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T00:27:35"
        },
        {
          "time": "00:27:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:27:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:27:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1579"
        },
        {
          "time": "00:27:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:28:00",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "00:28:01",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "00:28:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1580"
        },
        {
          "time": "00:28:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:28:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi | 뉴토끼, links=49"
        },
        {
          "time": "00:28:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1581"
        },
        {
          "time": "00:28:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:28:20",
          "message": "작품 제목: 아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi"
        },
        {
          "time": "00:28:22",
          "message": "메타데이터 태그 저장: 그림 벨루가, 글 기철, 노벨피아원작, 드라마, 성인, 아파트 관리인이 되었다, 원작 Maemi, 유부녀, 조교"
        },
        {
          "time": "00:28:22",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:28:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1582"
        },
        {
          "time": "00:28:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:29:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1583"
        },
        {
          "time": "00:29:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:29:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아파트 관리인이 되었다 47화 47화 - 보여질수록 꽉 조이는 암캐보ㅈ | 뉴토끼, img_tags=90, image_urls=90"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_u-tt-Became_an_apartment_manager-mp14appe-01ho",
        "target_id": "webtoon_u-tt-Became_an_apartment_manager-mp14appe-01ho",
        "title": "아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi",
        "episodes_found": 47,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 46,
        "images_found": 63,
        "images_downloaded": 63,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_u-tt-Became_an_apartment_manager-mp14appe-01ho",
          "title": "아파트 관리인이 되었다 - 글 기철 / 그림 벨루가 / 원작 Maemi",
          "list_url": "https://newtoki1.org/webtoon/u-tt-Became_an_apartment_manager-mp14appe-01ho",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/u-tt-Became_an_apartment_manager-mp14appe-01ho"
          },
          "tags": [
            "그림 벨루가",
            "글 기철",
            "노벨피아원작",
            "드라마",
            "성인",
            "아파트 관리인이 되었다",
            "원작 Maemi",
            "유부녀",
            "조교"
          ],
          "description": "“이 건물에 사는 여자들하고 잠자리를 가지게! 협박을 하던, 연애를 하던, 아니 겁탈을 하든 말이야.” ‘이한’은 밑바닥 인생을 180도 바꿔 줄 달콤하고 위험한 제안을 수락하는데… “301호 유부녀 한수진, 빨리 이 여자의 약점을 찾아야 해!”",
          "metadata_path": "/downloads/webtoon_u-tt-Became_an_apartment_manager-mp14appe-01ho/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 47,
          "url": "https://newtoki1.org/webtoon/u-tt-Became_an_apartment_manager-mp14appe-01ho/tt-Became_an_apartment_manager-47",
          "title": "아파트 관리인이 되었다 47화 47화 - 보여질수록 꽉 조이는 암캐보ㅈ",
          "status": "completed",
          "image_count": 63,
          "images_done": 63,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "23023865c2",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:30:38",
      "started_at": "2026-06-04T05:45:29",
      "finished_at": "2026-06-04T05:47:27",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "돈놀이 - 어필,웅응",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/19207",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_19207",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "00:52:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:52:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:02:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2457"
        },
        {
          "time": "01:02:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:03:08",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:03:39",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:15:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:15:00"
        },
        {
          "time": "01:15:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:15:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:27:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2491"
        },
        {
          "time": "01:27:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:27:40",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:27:40",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:38:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:38:23"
        },
        {
          "time": "01:38:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:38:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:54:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2525"
        },
        {
          "time": "01:54:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:55:12",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:55:22",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:06:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:06:02"
        },
        {
          "time": "02:06:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:06:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:19:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2560"
        },
        {
          "time": "02:19:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:20:02",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:20:02",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:30:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:30:26"
        },
        {
          "time": "02:30:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:30:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:45:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2594"
        },
        {
          "time": "02:45:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:45:49",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:46:24",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:56:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:56:36"
        },
        {
          "time": "02:56:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:56:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:12:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "03:12:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:12:54",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:12:54",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:24:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:24:10"
        },
        {
          "time": "03:24:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:24:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:36:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #34"
        },
        {
          "time": "03:36:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:36:41",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:36:42",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:47:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:47:15"
        },
        {
          "time": "03:47:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:47:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:53:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #63"
        },
        {
          "time": "03:53:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:53:37",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:54:12",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:04:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:04:17"
        },
        {
          "time": "04:04:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:04:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:15:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #93"
        },
        {
          "time": "04:15:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:16:14",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:16:14",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:26:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:26:38"
        },
        {
          "time": "04:26:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:26:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:37:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #122"
        },
        {
          "time": "04:37:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:37:20",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:37:20",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:47:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:47:26"
        },
        {
          "time": "04:47:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:47:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:01:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "05:01:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:01:43",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "05:02:13",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:15:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:15:56"
        },
        {
          "time": "05:15:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:15:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:26:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "05:26:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:26:55",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:26:55",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:26:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "05:26:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:27:15",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:27:15",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:27:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "05:27:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:28:31",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:39:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:39:17"
        },
        {
          "time": "05:39:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:39:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:07:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "06:07:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:08:01",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/19207, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043cce, reason=series_links_missing"
        },
        {
          "time": "06:08:01",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:08:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "06:08:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:08:21",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/19207, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043cd3, reason=series_links_missing"
        },
        {
          "time": "06:08:22",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "06:08:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "06:08:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:08:45",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/19207, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043cdf, reason=series_links_missing"
        },
        {
          "time": "06:20:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T06:20:17"
        },
        {
          "time": "06:20:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:20:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:41:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "06:41:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:41:44",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/19207, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043fe4"
        },
        {
          "time": "06:41:44",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:41:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "06:41:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:42:19",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:28:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "16:28:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:28:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=돈놀이 - 어필,웅응 | 뉴토끼, links=22"
        },
        {
          "time": "16:28:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "16:28:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:28:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=돈놀이 - 어필,웅응 | 뉴토끼, links=22"
        },
        {
          "time": "16:28:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "16:28:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:28:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=돈놀이 - 어필,웅응 | 뉴토끼, links=22"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:55:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #418"
        },
        {
          "time": "21:55:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:55:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=돈놀이 - 어필,웅응 | 뉴토끼, links=22"
        },
        {
          "time": "21:56:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #419"
        },
        {
          "time": "21:56:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:56:08",
          "message": "작품 제목: 돈놀이 - 어필,웅응"
        },
        {
          "time": "21:56:08",
          "message": "메타데이터 태그 저장: 고수위, 돈놀이, 드라마, 성인, 어필, 웅응, 조교, 하드코어"
        },
        {
          "time": "21:56:08",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "21:56:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돈놀이 1화 20화 - 30초만 버티면 여기 넣게 해줄게♥ | 뉴토끼, img_tags=104, image_urls=104"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:12:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #353"
        },
        {
          "time": "10:12:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:12:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=돈놀이 - 어필,웅응 | 뉴토끼, links=22"
        },
        {
          "time": "10:12:27",
          "message": "작품 제목: 돈놀이 - 어필,웅응"
        },
        {
          "time": "10:12:28",
          "message": "메타데이터 태그 저장: 고수위, 돈놀이, 드라마, 성인, 어필, 웅응, 조교, 하드코어"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:45:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1058"
        },
        {
          "time": "05:45:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:45:51",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:45:52",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:45:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1059"
        },
        {
          "time": "05:45:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:46:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=돈놀이 - 어필,웅응 | 뉴토끼, links=23"
        },
        {
          "time": "05:46:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1060"
        },
        {
          "time": "05:46:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:46:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=돈놀이 21화 21화 - 거부하려 했지만, 떠오르는 쾌락 | 뉴토끼, img_tags=50, image_urls=50"
        },
        {
          "time": "05:46:41",
          "message": "작품 제목: 돈놀이 - 어필,웅응"
        },
        {
          "time": "05:46:42",
          "message": "메타데이터 태그 저장: 고수위, 돈놀이, 드라마, 성인, 어필, 웅응, 조교, 하드코어"
        },
        {
          "time": "05:46:42",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_19207",
        "target_id": "webtoon_19207",
        "title": "돈놀이 - 어필,웅응",
        "episodes_found": 21,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 20,
        "images_found": 22,
        "images_downloaded": 22,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_19207",
          "title": "돈놀이 - 어필,웅응",
          "list_url": "https://newtoki1.org/webtoon/19207",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/19207"
          },
          "tags": [
            "고수위",
            "돈놀이",
            "드라마",
            "성인",
            "어필",
            "웅응",
            "조교",
            "하드코어"
          ],
          "description": "돈놀이 (어필,웅응) [탑툰] #드라마 #성인 #하드코어 #조교 #고수위",
          "metadata_path": "/downloads/webtoon_19207/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 21,
          "url": "https://newtoki1.org/webtoon/19207/tt-MONEY_GAME-21",
          "title": "돈놀이 21화 21화 - 거부하려 했지만, 떠오르는 쾌락",
          "status": "completed",
          "image_count": 22,
          "images_done": 22,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "1a74d39d26",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:30:30",
      "started_at": "2026-06-04T05:43:21",
      "finished_at": "2026-06-04T05:45:29",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "드렁큰 매니악 - 나비,saint",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/18768",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_18768",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "20:09:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/018.webp"
        },
        {
          "time": "20:09:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/019.webp"
        },
        {
          "time": "20:09:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/020.webp"
        },
        {
          "time": "20:09:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/021.webp"
        },
        {
          "time": "20:09:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/022.webp"
        },
        {
          "time": "20:09:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/023.webp"
        },
        {
          "time": "20:09:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/024.webp"
        },
        {
          "time": "20:09:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/025.webp"
        },
        {
          "time": "20:09:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/026.webp"
        },
        {
          "time": "20:09:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/027.webp"
        },
        {
          "time": "20:09:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/028.webp"
        },
        {
          "time": "20:09:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/029.webp"
        },
        {
          "time": "20:09:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/030.webp"
        },
        {
          "time": "20:10:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/031.webp"
        },
        {
          "time": "20:10:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/032.webp"
        },
        {
          "time": "20:10:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/033.webp"
        },
        {
          "time": "20:10:06",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/034.webp"
        },
        {
          "time": "20:10:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/035.webp"
        },
        {
          "time": "20:10:09",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/036.webp"
        },
        {
          "time": "20:10:10",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/037.webp"
        },
        {
          "time": "20:10:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/038.webp"
        },
        {
          "time": "20:10:12",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/039.webp"
        },
        {
          "time": "20:10:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/040.webp"
        },
        {
          "time": "20:10:15",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/041.webp"
        },
        {
          "time": "20:10:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/042.webp"
        },
        {
          "time": "20:10:17",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/043.webp"
        },
        {
          "time": "20:10:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/044.webp"
        },
        {
          "time": "20:10:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/045.webp"
        },
        {
          "time": "20:10:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/046.webp"
        },
        {
          "time": "20:10:22",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/047.webp"
        },
        {
          "time": "20:10:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/048.webp"
        },
        {
          "time": "20:10:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/049.webp"
        },
        {
          "time": "20:10:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/050.webp"
        },
        {
          "time": "20:10:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/051.webp"
        },
        {
          "time": "20:10:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/052.webp"
        },
        {
          "time": "20:10:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/053.webp"
        },
        {
          "time": "20:10:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/054.webp"
        },
        {
          "time": "20:10:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/055.webp"
        },
        {
          "time": "20:10:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/056.webp"
        },
        {
          "time": "20:10:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/057.webp"
        },
        {
          "time": "20:10:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/058.webp"
        },
        {
          "time": "20:10:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/059.webp"
        },
        {
          "time": "20:10:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/060.webp"
        },
        {
          "time": "20:10:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/061.webp"
        },
        {
          "time": "20:10:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/062.webp"
        },
        {
          "time": "20:10:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/063.webp"
        },
        {
          "time": "20:10:40",
          "message": "    [-] 저장 완료: /downloads/webtoon_18768/ep_128/064.webp"
        },
        {
          "time": "20:10:41",
          "message": "  [>] 이미지 64개 처리 완료.\n"
        },
        {
          "time": "20:10:42",
          "message": "완료: 회차 128개 처리, 이미지 4271개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:20",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 128)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 128)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:25:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:25:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:35:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:35:32"
        },
        {
          "time": "06:35:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:35:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:20:14",
          "message": "작품 제목: 18768"
        },
        {
          "time": "13:30:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:30:25"
        },
        {
          "time": "13:30:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:30:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "20:12:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #200"
        },
        {
          "time": "20:12:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:12:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 - 나비,saint | 뉴토끼, links=131"
        },
        {
          "time": "20:13:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #201"
        },
        {
          "time": "20:13:10",
          "message": "작품 제목: 드렁큰 매니악 - 나비,saint"
        },
        {
          "time": "20:13:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:13:10",
          "message": "메타데이터 태그 저장: saint, 고수위, 나비, 드라마, 드렁큰 매니악, 성인, 여성인기19, 하드코어"
        },
        {
          "time": "20:13:10",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "20:13:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 2화 129화 - 금지된 강의실 2 | 뉴토끼, images=42"
        },
        {
          "time": "20:15:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #202"
        },
        {
          "time": "20:15:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:15:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #203"
        },
        {
          "time": "20:15:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:16:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 1화 130화 - 금지된 강의실 3 | 뉴토끼, images=31"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:14:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #140"
        },
        {
          "time": "14:14:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:15:02",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:15:02",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:26:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:26:00"
        },
        {
          "time": "14:26:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:26:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:17:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1520"
        },
        {
          "time": "14:17:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:17:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 - 나비,saint | 뉴토끼, links=131"
        },
        {
          "time": "14:17:53",
          "message": "작품 제목: 드렁큰 매니악 - 나비,saint"
        },
        {
          "time": "14:17:53",
          "message": "메타데이터 태그 저장: saint, 고수위, 나비, 드라마, 드렁큰 매니악, 성인, 여성인기19, 하드코어"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:46:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #25"
        },
        {
          "time": "16:46:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:47:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 - 나비,saint | 뉴토끼, links=131"
        },
        {
          "time": "16:47:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #26"
        },
        {
          "time": "16:47:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:47:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 - 나비,saint | 뉴토끼, links=131"
        },
        {
          "time": "16:47:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #27"
        },
        {
          "time": "16:47:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:47:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 - 나비,saint | 뉴토끼, links=131"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:55:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #417"
        },
        {
          "time": "21:55:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:55:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 - 나비,saint | 뉴토끼, links=131"
        },
        {
          "time": "21:55:19",
          "message": "작품 제목: 드렁큰 매니악 - 나비,saint"
        },
        {
          "time": "21:55:19",
          "message": "메타데이터 태그 저장: saint, 고수위, 나비, 드라마, 드렁큰 매니악, 성인, 여성인기19, 하드코어"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:13:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #354"
        },
        {
          "time": "10:13:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:13:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 - 나비,saint | 뉴토끼, links=139"
        },
        {
          "time": "10:13:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #355"
        },
        {
          "time": "10:13:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:13:52",
          "message": "작품 제목: 드렁큰 매니악 - 나비,saint"
        },
        {
          "time": "10:13:53",
          "message": "메타데이터 태그 저장: saint, 고수위, 나비, 드라마, 드렁큰 매니악, 성인, 여성인기19, 하드코어"
        },
        {
          "time": "10:13:53",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "10:13:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 131화 131화 - 금지된 강의실 4 | 뉴토끼, img_tags=84, image_urls=84"
        },
        {
          "time": "10:14:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #356"
        },
        {
          "time": "10:14:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:14:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 132화 132화 - 금지된 강의실 5 | 뉴토끼, img_tags=94, image_urls=94"
        },
        {
          "time": "10:14:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #357"
        },
        {
          "time": "10:14:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:14:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 133화 133화 - 여신의 리포트 1 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "10:15:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #358"
        },
        {
          "time": "10:15:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:15:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 134화 134화 - 여신의 리포트 2 | 뉴토끼, img_tags=60, image_urls=60"
        },
        {
          "time": "10:15:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #359"
        },
        {
          "time": "10:15:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:16:04",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 135화 135화 - 여신의 리포트 3 | 뉴토끼, img_tags=61, image_urls=61"
        },
        {
          "time": "10:16:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #360"
        },
        {
          "time": "10:16:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:16:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 136화 136화 - 여신의 리포트 4 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "10:16:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #361"
        },
        {
          "time": "10:16:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:16:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 137화 137화 - 여신의 리포트 5 | 뉴토끼, img_tags=61, image_urls=61"
        },
        {
          "time": "10:16:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #362"
        },
        {
          "time": "10:16:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:16:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 138화 138화 - 여신의 리포트 6 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:43:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1055"
        },
        {
          "time": "05:43:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:44:16",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:44:16",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:44:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1056"
        },
        {
          "time": "05:44:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:44:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 - 나비,saint | 뉴토끼, links=140"
        },
        {
          "time": "05:44:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1057"
        },
        {
          "time": "05:45:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:45:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=드렁큰 매니악 139화 139화 - 여신의 리포트 7 | 뉴토끼, img_tags=54, image_urls=54"
        },
        {
          "time": "05:45:17",
          "message": "작품 제목: 드렁큰 매니악 - 나비,saint"
        },
        {
          "time": "05:45:18",
          "message": "메타데이터 태그 저장: saint, 고수위, 나비, 드라마, 드렁큰 매니악, 성인, 여성인기19, 하드코어"
        },
        {
          "time": "05:45:19",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_18768",
        "target_id": "webtoon_18768",
        "title": "드렁큰 매니악 - 나비,saint",
        "episodes_found": 138,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 137,
        "images_found": 26,
        "images_downloaded": 26,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_18768",
          "title": "드렁큰 매니악 - 나비,saint",
          "list_url": "https://newtoki1.org/webtoon/18768",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/18768"
          },
          "tags": [
            "saint",
            "고수위",
            "나비",
            "드라마",
            "드렁큰 매니악",
            "성인",
            "여성인기19",
            "하드코어"
          ],
          "description": "드렁큰 매니악 (나비,saint) [레진] #드라마 #성인 #하드코어 #고수위 #여성인기19",
          "metadata_path": "/downloads/webtoon_18768/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 139,
          "url": "https://newtoki1.org/webtoon/18768/lz-drunken_maniac-7021780491113022",
          "title": "드렁큰 매니악 139화 139화 - 여신의 리포트 7",
          "status": "completed",
          "image_count": 26,
          "images_done": 26,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "1004b8ffad",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:30:20",
      "started_at": "2026-06-04T05:41:54",
      "finished_at": "2026-06-04T05:43:20",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/17482",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_17482",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "22:03:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:03:51",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "22:03:51",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "22:14:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-30T22:14:11"
        },
        {
          "time": "22:14:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:14:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "22:25:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2227"
        },
        {
          "time": "22:25:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:25:57",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "22:26:23",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "22:38:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-30T22:38:35"
        },
        {
          "time": "22:38:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:38:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "22:51:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2261"
        },
        {
          "time": "22:51:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "22:51:23",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "22:52:19",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "23:03:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-30T23:03:07"
        },
        {
          "time": "23:03:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:03:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:14:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2295"
        },
        {
          "time": "23:14:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:15:12",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "23:15:12",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "23:26:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-30T23:26:53"
        },
        {
          "time": "23:26:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:26:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:36:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2329"
        },
        {
          "time": "23:36:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:36:33",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "23:37:07",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "23:48:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-30T23:48:18"
        },
        {
          "time": "23:48:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:48:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:02:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2364"
        },
        {
          "time": "00:02:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:03:00",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:03:00",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:14:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:14:50"
        },
        {
          "time": "00:14:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:14:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:22:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2398"
        },
        {
          "time": "00:22:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:22:48",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:22:48",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:33:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:33:52"
        },
        {
          "time": "00:33:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:33:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:44:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2432"
        },
        {
          "time": "00:44:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:44:57",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:45:29",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:56:55"
        },
        {
          "time": "00:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:10:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2466"
        },
        {
          "time": "01:10:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:10:44",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:10:44",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:22:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:22:03"
        },
        {
          "time": "01:22:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:22:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:33:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2500"
        },
        {
          "time": "01:33:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:34:17",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:35:13",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:48:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:48:58"
        },
        {
          "time": "01:48:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:48:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:02:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2535"
        },
        {
          "time": "02:02:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:03:15",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:03:15",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:13:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:13:39"
        },
        {
          "time": "02:13:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:13:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:26:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2569"
        },
        {
          "time": "02:26:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:26:40",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:26:40",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:38:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:38:48"
        },
        {
          "time": "02:38:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:38:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:52:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2603"
        },
        {
          "time": "02:52:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:52:30",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:52:31",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:04:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:03:10"
        },
        {
          "time": "03:04:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:04:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:22:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "03:22:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:22:44",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:22:45",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:34:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:34:15"
        },
        {
          "time": "03:34:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:34:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:41:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #43"
        },
        {
          "time": "03:41:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:41:31",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:41:31",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:51:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:51:51"
        },
        {
          "time": "03:51:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:51:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:03:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #73"
        },
        {
          "time": "04:03:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:03:56",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:03:56",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:14:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:14:01"
        },
        {
          "time": "04:14:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:14:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:22:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #102"
        },
        {
          "time": "04:22:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:22:58",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:23:03",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:34:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:34:45"
        },
        {
          "time": "04:34:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:34:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:46:09",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:26:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "16:26:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:26:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇 | 뉴토끼, links=74"
        },
        {
          "time": "16:27:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "16:27:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:27:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇 | 뉴토끼, links=74"
        },
        {
          "time": "16:27:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "16:27:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:27:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇 | 뉴토끼, links=74"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:53:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #415"
        },
        {
          "time": "21:53:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:53:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇 | 뉴토끼, links=74"
        },
        {
          "time": "21:53:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #416"
        },
        {
          "time": "21:53:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:53:29",
          "message": "작품 제목: 일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇"
        },
        {
          "time": "21:53:29",
          "message": "메타데이터 태그 저장: 갑을 관계, 노벨피아원작, 드라마, 성실연재봇, 성인, 오삼근, 오파스, 일진녀 길들이기[탑툰, 조교"
        },
        {
          "time": "21:53:29",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "21:53:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=일진녀 길들이기[탑툰] 1화 72화 - 자X에 중독되어 버린 음탕한 몸 | 뉴토끼, img_tags=65, image_urls=65"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:18:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #363"
        },
        {
          "time": "10:18:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:18:43",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:18:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #364"
        },
        {
          "time": "10:18:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:18:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇 | 뉴토끼, links=74"
        },
        {
          "time": "10:19:00",
          "message": "작품 제목: 일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇"
        },
        {
          "time": "10:19:01",
          "message": "메타데이터 태그 저장: 갑을 관계, 노벨피아원작, 드라마, 성실연재봇, 성인, 오삼근, 오파스, 일진녀 길들이기[탑툰, 조교"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:43:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1054"
        },
        {
          "time": "05:43:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:43:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇 | 뉴토끼, links=74"
        },
        {
          "time": "05:43:19",
          "message": "작품 제목: 일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇"
        },
        {
          "time": "05:43:20",
          "message": "메타데이터 태그 저장: 갑을 관계, 노벨피아원작, 드라마, 성실연재봇, 성인, 오삼근, 오파스, 일진녀 길들이기[탑툰, 조교"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_17482",
        "target_id": "webtoon_17482",
        "title": "일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇",
        "episodes_found": 72,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 72,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_17482",
          "title": "일진녀 길들이기[탑툰] - 오파스,오삼근,성실연재봇",
          "list_url": "https://newtoki1.org/webtoon/17482",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/17482"
          },
          "tags": [
            "갑을 관계",
            "노벨피아원작",
            "드라마",
            "성실연재봇",
            "성인",
            "오삼근",
            "오파스",
            "일진녀 길들이기[탑툰",
            "조교"
          ],
          "description": "일진녀 길들이기[탑툰] (오파스,오삼근,성실연재봇) [탑툰] #드라마 #성인 #노벨피아원작 #조교 #갑을 관계",
          "metadata_path": "/downloads/webtoon_17482/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 72,
        "total": 72,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "7022dd59ed",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:30:14",
      "started_at": "2026-06-04T05:41:15",
      "finished_at": "2026-06-04T05:41:54",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "여신사냥 - 고손작,윤곤지",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/700",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_700",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "18:22:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_049/044.jpg"
        },
        {
          "time": "18:22:15",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_049/045.jpg"
        },
        {
          "time": "18:22:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_049/046.jpg"
        },
        {
          "time": "18:22:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_049/047.jpg"
        },
        {
          "time": "18:22:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_049/048.jpg"
        },
        {
          "time": "18:22:20",
          "message": "  [>] 이미지 48개 처리 완료.\n"
        },
        {
          "time": "18:22:21",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/700/221961"
        },
        {
          "time": "18:22:21",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/700/221961"
        },
        {
          "time": "18:22:26",
          "message": "  [i] 회차 제목: 여신사냥 1화 50화 - [마지막화]"
        },
        {
          "time": "18:22:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/001.jpg"
        },
        {
          "time": "18:22:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/002.jpg"
        },
        {
          "time": "18:22:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/003.jpg"
        },
        {
          "time": "18:22:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/004.jpg"
        },
        {
          "time": "18:22:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/005.jpg"
        },
        {
          "time": "18:22:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/006.jpg"
        },
        {
          "time": "18:22:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/007.jpg"
        },
        {
          "time": "18:22:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/008.jpg"
        },
        {
          "time": "18:22:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/009.jpg"
        },
        {
          "time": "18:22:40",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/010.jpg"
        },
        {
          "time": "18:22:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/011.jpg"
        },
        {
          "time": "18:22:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/012.jpg"
        },
        {
          "time": "18:22:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/013.jpg"
        },
        {
          "time": "18:22:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/014.jpg"
        },
        {
          "time": "18:22:47",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/015.jpg"
        },
        {
          "time": "18:22:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/016.jpg"
        },
        {
          "time": "18:22:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/017.jpg"
        },
        {
          "time": "18:22:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/018.jpg"
        },
        {
          "time": "18:22:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/019.jpg"
        },
        {
          "time": "18:22:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/020.jpg"
        },
        {
          "time": "18:22:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/021.jpg"
        },
        {
          "time": "18:22:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/022.jpg"
        },
        {
          "time": "18:22:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/023.jpg"
        },
        {
          "time": "18:22:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/024.jpg"
        },
        {
          "time": "18:23:01",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/025.jpg"
        },
        {
          "time": "18:23:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/026.jpg"
        },
        {
          "time": "18:23:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/027.jpg"
        },
        {
          "time": "18:23:05",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/028.jpg"
        },
        {
          "time": "18:23:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/029.jpg"
        },
        {
          "time": "18:23:09",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/030.jpg"
        },
        {
          "time": "18:23:10",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/031.jpg"
        },
        {
          "time": "18:23:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/032.jpg"
        },
        {
          "time": "18:23:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/033.jpg"
        },
        {
          "time": "18:23:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/034.jpg"
        },
        {
          "time": "18:23:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/035.jpg"
        },
        {
          "time": "18:23:17",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/036.jpg"
        },
        {
          "time": "18:23:19",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/037.jpg"
        },
        {
          "time": "18:23:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/038.jpg"
        },
        {
          "time": "18:23:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/039.jpg"
        },
        {
          "time": "18:23:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/040.jpg"
        },
        {
          "time": "18:23:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/041.jpg"
        },
        {
          "time": "18:23:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/042.jpg"
        },
        {
          "time": "18:23:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/043.jpg"
        },
        {
          "time": "18:23:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/044.jpg"
        },
        {
          "time": "18:23:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/045.jpg"
        },
        {
          "time": "18:23:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/046.jpg"
        },
        {
          "time": "18:23:32",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/047.jpg"
        },
        {
          "time": "18:23:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/048.jpg"
        },
        {
          "time": "18:23:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/049.jpg"
        },
        {
          "time": "18:23:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/050.jpg"
        },
        {
          "time": "18:23:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_050/051.jpg"
        },
        {
          "time": "18:23:38",
          "message": "  [>] 이미지 51개 처리 완료.\n"
        },
        {
          "time": "18:23:39",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/700/221911"
        },
        {
          "time": "18:23:39",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/700/221911"
        },
        {
          "time": "18:23:44",
          "message": "  [i] 회차 제목: 여신사냥 51화 미리보기"
        },
        {
          "time": "18:23:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/001.jpg"
        },
        {
          "time": "18:23:47",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/002.jpg"
        },
        {
          "time": "18:23:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/003.jpg"
        },
        {
          "time": "18:23:49",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/004.jpg"
        },
        {
          "time": "18:23:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/005.jpg"
        },
        {
          "time": "18:23:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/006.jpg"
        },
        {
          "time": "18:23:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/007.jpg"
        },
        {
          "time": "18:23:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/008.jpg"
        },
        {
          "time": "18:23:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/009.jpg"
        },
        {
          "time": "18:23:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/010.jpg"
        },
        {
          "time": "18:23:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/011.jpg"
        },
        {
          "time": "18:23:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/012.jpg"
        },
        {
          "time": "18:24:00",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/013.jpg"
        },
        {
          "time": "18:24:01",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/014.jpg"
        },
        {
          "time": "18:24:02",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/015.jpg"
        },
        {
          "time": "18:24:03",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/016.jpg"
        },
        {
          "time": "18:24:04",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/017.jpg"
        },
        {
          "time": "18:24:06",
          "message": "    [-] 저장 완료: /downloads/webtoon_700/ep_051/018.jpg"
        },
        {
          "time": "18:24:06",
          "message": "  [>] 이미지 18개 처리 완료.\n"
        },
        {
          "time": "18:24:07",
          "message": "완료: 회차 51개 처리, 이미지 1301개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 51)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 51)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:25:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:25:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:35:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:35:32"
        },
        {
          "time": "06:35:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:35:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:19:21",
          "message": "작품 제목: 700"
        },
        {
          "time": "13:30:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:30:08"
        },
        {
          "time": "13:30:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:30:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "20:10:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #197"
        },
        {
          "time": "20:10:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:10:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여신사냥 - 고손작,윤곤지 | 뉴토끼, links=53"
        },
        {
          "time": "20:10:57",
          "message": "작품 제목: 여신사냥 - 고손작,윤곤지"
        },
        {
          "time": "20:10:57",
          "message": "메타데이터 태그 저장: 고손작, 성인, 여신사냥, 윤곤지, 판타지"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:16:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #142"
        },
        {
          "time": "14:16:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:16:48",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:16:49",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:26:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:26:56"
        },
        {
          "time": "14:26:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:26:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:22:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1527"
        },
        {
          "time": "14:22:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:22:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여신사냥 - 고손작,윤곤지 | 뉴토끼, links=53"
        },
        {
          "time": "14:22:24",
          "message": "작품 제목: 여신사냥 - 고손작,윤곤지"
        },
        {
          "time": "14:22:55",
          "message": "메타데이터 태그 저장: 고손작, 성인, 여신사냥, 윤곤지, 판타지"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:46:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "16:46:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:46:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여신사냥 - 고손작,윤곤지 | 뉴토끼, links=53"
        },
        {
          "time": "16:46:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "16:46:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:46:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여신사냥 - 고손작,윤곤지 | 뉴토끼, links=53"
        },
        {
          "time": "16:46:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "16:46:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:46:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여신사냥 - 고손작,윤곤지 | 뉴토끼, links=53"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:51:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #414"
        },
        {
          "time": "21:51:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:51:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여신사냥 - 고손작,윤곤지 | 뉴토끼, links=53"
        },
        {
          "time": "21:52:28",
          "message": "작품 제목: 여신사냥 - 고손작,윤곤지"
        },
        {
          "time": "21:52:28",
          "message": "메타데이터 태그 저장: 고손작, 성인, 여신사냥, 윤곤지, 판타지"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:19:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #365"
        },
        {
          "time": "10:19:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:19:57",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:19:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #366"
        },
        {
          "time": "10:19:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:20:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여신사냥 - 고손작,윤곤지 | 뉴토끼, links=53"
        },
        {
          "time": "10:20:47",
          "message": "작품 제목: 여신사냥 - 고손작,윤곤지"
        },
        {
          "time": "10:20:47",
          "message": "메타데이터 태그 저장: 고손작, 성인, 여신사냥, 윤곤지, 판타지"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:41:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1052"
        },
        {
          "time": "05:41:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:41:37",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:41:37",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:41:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1053"
        },
        {
          "time": "05:41:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:41:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여신사냥 - 고손작,윤곤지 | 뉴토끼, links=53"
        },
        {
          "time": "05:41:53",
          "message": "작품 제목: 여신사냥 - 고손작,윤곤지"
        },
        {
          "time": "05:41:53",
          "message": "메타데이터 태그 저장: 고손작, 성인, 여신사냥, 윤곤지, 판타지"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_700",
        "target_id": "webtoon_700",
        "title": "여신사냥 - 고손작,윤곤지",
        "episodes_found": 51,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 51,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_700",
          "title": "여신사냥 - 고손작,윤곤지",
          "list_url": "https://newtoki1.org/webtoon/700",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/700"
          },
          "tags": [
            "고손작",
            "성인",
            "여신사냥",
            "윤곤지",
            "판타지"
          ],
          "description": "여신사냥 (고손작,윤곤지) [탑툰] #판타지 #성인",
          "metadata_path": "/downloads/webtoon_700/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 51,
        "total": 51,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "18c4bb3b4a",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:30:08",
      "started_at": "2026-06-04T05:40:33",
      "finished_at": "2026-06-04T05:41:15",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "면회 - 리나,KOOK",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/9956",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_9956",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "21:08:00",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/9956/1024911"
        },
        {
          "time": "21:08:06",
          "message": "  [i] 회차 제목: 면회 2화 0044 - 면회 44화"
        },
        {
          "time": "21:08:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/001.jpg"
        },
        {
          "time": "21:08:09",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/002.jpg"
        },
        {
          "time": "21:08:10",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/003.jpg"
        },
        {
          "time": "21:08:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/004.jpg"
        },
        {
          "time": "21:08:12",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/005.jpg"
        },
        {
          "time": "21:08:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/006.jpg"
        },
        {
          "time": "21:08:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/007.jpg"
        },
        {
          "time": "21:08:17",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/008.jpg"
        },
        {
          "time": "21:08:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/009.jpg"
        },
        {
          "time": "21:08:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/010.jpg"
        },
        {
          "time": "21:08:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/011.jpg"
        },
        {
          "time": "21:08:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/012.jpg"
        },
        {
          "time": "21:08:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/013.jpg"
        },
        {
          "time": "21:08:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/014.jpg"
        },
        {
          "time": "21:08:27",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/015.jpg"
        },
        {
          "time": "21:08:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/016.jpg"
        },
        {
          "time": "21:08:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/017.jpg"
        },
        {
          "time": "21:08:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/018.jpg"
        },
        {
          "time": "21:08:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/019.jpg"
        },
        {
          "time": "21:08:35",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/020.jpg"
        },
        {
          "time": "21:08:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/021.jpg"
        },
        {
          "time": "21:08:37",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/022.jpg"
        },
        {
          "time": "21:08:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/023.jpg"
        },
        {
          "time": "21:08:40",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/024.jpg"
        },
        {
          "time": "21:08:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/025.jpg"
        },
        {
          "time": "21:08:42",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/026.jpg"
        },
        {
          "time": "21:08:44",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/027.jpg"
        },
        {
          "time": "21:08:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/028.jpg"
        },
        {
          "time": "21:08:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/029.jpg"
        },
        {
          "time": "21:08:47",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/030.jpg"
        },
        {
          "time": "21:08:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/031.jpg"
        },
        {
          "time": "21:08:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/032.jpg"
        },
        {
          "time": "21:08:51",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/033.jpg"
        },
        {
          "time": "21:08:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/034.jpg"
        },
        {
          "time": "21:08:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/035.jpg"
        },
        {
          "time": "21:08:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/036.jpg"
        },
        {
          "time": "21:08:56",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/037.jpg"
        },
        {
          "time": "21:08:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/038.jpg"
        },
        {
          "time": "21:08:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/039.jpg"
        },
        {
          "time": "21:08:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_044/040.jpg"
        },
        {
          "time": "21:08:59",
          "message": "  [>] 이미지 40개 처리 완료.\n"
        },
        {
          "time": "21:09:00",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/9956/1027660"
        },
        {
          "time": "21:09:00",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/9956/1027660"
        },
        {
          "time": "21:09:05",
          "message": "  [i] 회차 제목: 면회 1화 0045 - 면회 45화 최종화"
        },
        {
          "time": "21:09:07",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/001.jpg"
        },
        {
          "time": "21:09:08",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/002.jpg"
        },
        {
          "time": "21:09:10",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/003.jpg"
        },
        {
          "time": "21:09:11",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/004.jpg"
        },
        {
          "time": "21:09:13",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/005.jpg"
        },
        {
          "time": "21:09:14",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/006.jpg"
        },
        {
          "time": "21:09:15",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/007.jpg"
        },
        {
          "time": "21:09:16",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/008.jpg"
        },
        {
          "time": "21:09:17",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/009.jpg"
        },
        {
          "time": "21:09:18",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/010.jpg"
        },
        {
          "time": "21:09:20",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/011.jpg"
        },
        {
          "time": "21:09:21",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/012.jpg"
        },
        {
          "time": "21:09:23",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/013.jpg"
        },
        {
          "time": "21:09:24",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/014.jpg"
        },
        {
          "time": "21:09:25",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/015.jpg"
        },
        {
          "time": "21:09:26",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/016.jpg"
        },
        {
          "time": "21:09:28",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/017.jpg"
        },
        {
          "time": "21:09:29",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/018.jpg"
        },
        {
          "time": "21:09:30",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/019.jpg"
        },
        {
          "time": "21:09:31",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/020.jpg"
        },
        {
          "time": "21:09:33",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/021.jpg"
        },
        {
          "time": "21:09:34",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/022.jpg"
        },
        {
          "time": "21:09:36",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/023.jpg"
        },
        {
          "time": "21:09:38",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/024.jpg"
        },
        {
          "time": "21:09:39",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/025.jpg"
        },
        {
          "time": "21:09:40",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/026.jpg"
        },
        {
          "time": "21:09:41",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/027.jpg"
        },
        {
          "time": "21:09:43",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/028.jpg"
        },
        {
          "time": "21:09:45",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/029.jpg"
        },
        {
          "time": "21:09:46",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/030.jpg"
        },
        {
          "time": "21:09:48",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/031.jpg"
        },
        {
          "time": "21:09:50",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/032.jpg"
        },
        {
          "time": "21:09:52",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/033.jpg"
        },
        {
          "time": "21:09:53",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/034.jpg"
        },
        {
          "time": "21:09:54",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/035.jpg"
        },
        {
          "time": "21:09:55",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/036.jpg"
        },
        {
          "time": "21:09:57",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/037.jpg"
        },
        {
          "time": "21:09:58",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/038.jpg"
        },
        {
          "time": "21:09:59",
          "message": "    [-] 저장 완료: /downloads/webtoon_9956/ep_045/039.jpg"
        },
        {
          "time": "21:09:59",
          "message": "  [>] 이미지 39개 처리 완료.\n"
        },
        {
          "time": "21:10:00",
          "message": "완료: 회차 45개 처리, 이미지 1657개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 45)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 45)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:24:38",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:25:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:35:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:35:32"
        },
        {
          "time": "06:35:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:35:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:19:12",
          "message": "작품 제목: 9956"
        },
        {
          "time": "13:29:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:29:15"
        },
        {
          "time": "13:29:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:29:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "20:09:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #196"
        },
        {
          "time": "20:09:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "20:09:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=면회 - 리나,KOOK | 뉴토끼, links=47"
        },
        {
          "time": "20:10:11",
          "message": "작품 제목: 면회 - 리나,KOOK"
        },
        {
          "time": "20:10:11",
          "message": "메타데이터 태그 저장: KOOK, 드라마, 로맨스, 리나, 면회, 성인"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:16:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #143"
        },
        {
          "time": "14:16:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:17:11",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "14:17:11",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "14:27:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T14:27:18"
        },
        {
          "time": "14:27:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:27:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:23:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1528"
        },
        {
          "time": "14:23:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:23:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=면회 - 리나,KOOK | 뉴토끼, links=47"
        },
        {
          "time": "14:23:46",
          "message": "작품 제목: 면회 - 리나,KOOK"
        },
        {
          "time": "14:24:17",
          "message": "메타데이터 태그 저장: KOOK, 드라마, 로맨스, 리나, 면회, 성인"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:45:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "16:45:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:45:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=면회 - 리나,KOOK | 뉴토끼, links=47"
        },
        {
          "time": "16:45:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "16:45:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:46:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=면회 - 리나,KOOK | 뉴토끼, links=47"
        },
        {
          "time": "16:46:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "16:46:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:46:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=면회 - 리나,KOOK | 뉴토끼, links=47"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:51:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #413"
        },
        {
          "time": "21:51:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:51:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=면회 - 리나,KOOK | 뉴토끼, links=47"
        },
        {
          "time": "21:51:42",
          "message": "작품 제목: 면회 - 리나,KOOK"
        },
        {
          "time": "21:51:42",
          "message": "메타데이터 태그 저장: KOOK, 드라마, 로맨스, 리나, 면회, 성인"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:21:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #367"
        },
        {
          "time": "10:21:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:21:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=면회 - 리나,KOOK | 뉴토끼, links=47"
        },
        {
          "time": "10:21:36",
          "message": "작품 제목: 면회 - 리나,KOOK"
        },
        {
          "time": "10:21:37",
          "message": "메타데이터 태그 저장: KOOK, 드라마, 로맨스, 리나, 면회, 성인"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:40:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1050"
        },
        {
          "time": "05:40:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:40:55",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:40:56",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:40:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1051"
        },
        {
          "time": "05:40:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:41:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=면회 - 리나,KOOK | 뉴토끼, links=47"
        },
        {
          "time": "05:41:13",
          "message": "작품 제목: 면회 - 리나,KOOK"
        },
        {
          "time": "05:41:14",
          "message": "메타데이터 태그 저장: KOOK, 드라마, 로맨스, 리나, 면회, 성인"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_9956",
        "target_id": "webtoon_9956",
        "title": "면회 - 리나,KOOK",
        "episodes_found": 45,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 45,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_9956",
          "title": "면회 - 리나,KOOK",
          "list_url": "https://newtoki1.org/webtoon/9956",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/9956"
          },
          "tags": [
            "KOOK",
            "드라마",
            "로맨스",
            "리나",
            "면회",
            "성인"
          ],
          "description": "면회 (리나,KOOK) [레진] #드라마 #로맨스 #성인",
          "metadata_path": "/downloads/webtoon_9956/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 45,
        "total": 45,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "1112307583",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:29:59",
      "started_at": "2026-06-04T05:39:23",
      "finished_at": "2026-06-04T05:40:33",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "누나 길들이기(나의선배) - SSAEM",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/2627",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_2627",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "00:26:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2403"
        },
        {
          "time": "00:26:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:26:21",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:26:22",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:36:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:36:58"
        },
        {
          "time": "00:36:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:36:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:47:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2437"
        },
        {
          "time": "00:47:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:47:37",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:47:37",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:00:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:00:04"
        },
        {
          "time": "01:00:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:00:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:15:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2471"
        },
        {
          "time": "01:15:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:16:18",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:16:18",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:26:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:26:26"
        },
        {
          "time": "01:26:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:26:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:40:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2505"
        },
        {
          "time": "01:40:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:41:01",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:41:01",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:51:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:51:27"
        },
        {
          "time": "01:51:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:51:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:06:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2540"
        },
        {
          "time": "02:06:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:07:09",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:07:10",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:18:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:18:14"
        },
        {
          "time": "02:18:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:18:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:30:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2574"
        },
        {
          "time": "02:30:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:30:48",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:30:57",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:42:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:42:08"
        },
        {
          "time": "02:42:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:42:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:59:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2610"
        },
        {
          "time": "02:59:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:59:24",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:59:25",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:10:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:10:10"
        },
        {
          "time": "03:10:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:10:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:26:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "03:26:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:26:50",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:26:50",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:37:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:37:19"
        },
        {
          "time": "03:37:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:37:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:44:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #48"
        },
        {
          "time": "03:44:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:45:09",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:45:09",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:55:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:55:39"
        },
        {
          "time": "03:55:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:55:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:06:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #78"
        },
        {
          "time": "04:06:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:06:56",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:06:56",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:16:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:16:57"
        },
        {
          "time": "04:16:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:16:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:27:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #107"
        },
        {
          "time": "04:27:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:28:12",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:28:12",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:38:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:38:14"
        },
        {
          "time": "04:38:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:38:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:49:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "04:49:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:50:07",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:50:07",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:01:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:01:22"
        },
        {
          "time": "05:01:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:01:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:10:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "05:10:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:11:00",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "05:11:00",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:23:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:23:19"
        },
        {
          "time": "05:23:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:23:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:55:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "05:55:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:55:58",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/2627, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043bb3, reason=series_links_missing"
        },
        {
          "time": "05:55:58",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:55:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "05:55:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:56:18",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/2627, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043bb9, reason=series_links_missing"
        },
        {
          "time": "05:56:18",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:56:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "05:56:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:57:13",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/2627, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043bd3, reason=series_links_missing"
        },
        {
          "time": "06:08:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T06:08:46"
        },
        {
          "time": "06:08:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:08:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:32:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #32"
        },
        {
          "time": "06:32:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:32:29",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/2627, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043f0c"
        },
        {
          "time": "06:32:30",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:32:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #33"
        },
        {
          "time": "06:32:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:32:51",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/2627, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043f11"
        },
        {
          "time": "06:32:51",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:32:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #34"
        },
        {
          "time": "06:32:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:33:12",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/2627, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043f1a"
        },
        {
          "time": "06:33:47",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:34:36",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:25:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "16:25:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:25:23",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/2627, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a047553"
        },
        {
          "time": "16:25:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "16:25:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:25:44",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/2627, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a047559"
        },
        {
          "time": "16:25:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "16:25:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:25:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누나 길들이기(나의선배) - SSAEM | 뉴토끼, links=53"
        },
        {
          "time": "16:26:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T16:26:41"
        },
        {
          "time": "16:26:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:33:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #380"
        },
        {
          "time": "21:33:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:33:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누나 길들이기(나의선배) - SSAEM | 뉴토끼, links=53"
        },
        {
          "time": "21:33:36",
          "message": "작품 제목: 누나 길들이기(나의선배) - SSAEM"
        },
        {
          "time": "21:33:36",
          "message": "메타데이터 태그 저장: SSAEM, 누나 길들이기(나의선배, 드라마, 성인"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:35:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #390"
        },
        {
          "time": "10:35:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:35:56",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:35:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #391"
        },
        {
          "time": "10:35:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:36:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누나 길들이기(나의선배) - SSAEM | 뉴토끼, links=53"
        },
        {
          "time": "10:36:11",
          "message": "작품 제목: 누나 길들이기(나의선배) - SSAEM"
        },
        {
          "time": "10:36:11",
          "message": "메타데이터 태그 저장: SSAEM, 누나 길들이기(나의선배, 드라마, 성인"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:39:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1048"
        },
        {
          "time": "05:39:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:40:15",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:40:16",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:40:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1049"
        },
        {
          "time": "05:40:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:40:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누나 길들이기(나의선배) - SSAEM | 뉴토끼, links=53"
        },
        {
          "time": "05:40:31",
          "message": "작품 제목: 누나 길들이기(나의선배) - SSAEM"
        },
        {
          "time": "05:40:31",
          "message": "메타데이터 태그 저장: SSAEM, 누나 길들이기(나의선배, 드라마, 성인"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_2627",
        "target_id": "webtoon_2627",
        "title": "누나 길들이기(나의선배) - SSAEM",
        "episodes_found": 51,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 51,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_2627",
          "title": "누나 길들이기(나의선배) - SSAEM",
          "list_url": "https://newtoki1.org/webtoon/2627",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/2627"
          },
          "tags": [
            "SSAEM",
            "누나 길들이기(나의선배",
            "드라마",
            "성인"
          ],
          "description": "누나 길들이기(나의선배) (SSAEM) [탑툰] #드라마 #성인",
          "metadata_path": "/downloads/webtoon_2627/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 51,
        "total": 51,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "b7cd42467d",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:29:44",
      "started_at": "2026-06-04T05:38:44",
      "finished_at": "2026-06-04T05:39:23",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "이웃사촌 - 셈니,Rodong",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/2386",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_2386",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "00:06:07",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:06:07",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:16:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:16:07"
        },
        {
          "time": "00:16:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:16:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:25:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2402"
        },
        {
          "time": "00:25:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:25:27",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:25:27",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:35:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:35:38"
        },
        {
          "time": "00:35:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:35:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:46:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2436"
        },
        {
          "time": "00:46:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:47:13",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:47:13",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:00:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:00:04"
        },
        {
          "time": "01:00:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:00:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:15:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2470"
        },
        {
          "time": "01:15:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:15:22",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:15:22",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:25:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:25:40"
        },
        {
          "time": "01:25:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:25:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:38:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2504"
        },
        {
          "time": "01:38:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:38:44",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:39:19",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:51:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:51:27"
        },
        {
          "time": "01:51:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:51:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:06:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2539"
        },
        {
          "time": "02:06:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:06:47",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:06:47",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:17:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:17:02"
        },
        {
          "time": "02:17:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:17:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:29:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2573"
        },
        {
          "time": "02:29:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:29:52",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:30:26",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:42:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:42:08"
        },
        {
          "time": "02:42:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:42:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:58:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2609"
        },
        {
          "time": "02:58:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:58:23",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:58:55",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:10:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:10:10"
        },
        {
          "time": "03:10:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:10:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:25:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "03:25:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:25:48",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:25:48",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:35:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:35:57"
        },
        {
          "time": "03:35:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:35:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:43:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #47"
        },
        {
          "time": "03:43:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:44:13",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:44:13",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:55:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:55:39"
        },
        {
          "time": "03:55:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:55:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:06:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #77"
        },
        {
          "time": "04:06:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:06:34",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:06:34",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:16:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:16:36"
        },
        {
          "time": "04:16:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:16:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:27:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #106"
        },
        {
          "time": "04:27:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:27:49",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:27:49",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:38:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:38:14"
        },
        {
          "time": "04:38:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:38:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:48:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "04:48:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:48:44",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:48:44",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:58:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:58:57"
        },
        {
          "time": "04:58:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:58:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:09:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "05:09:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:10:00",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "05:10:00",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:20:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:20:10"
        },
        {
          "time": "05:20:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:20:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:54:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "05:54:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:54:20",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/2386, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043b8d, reason=series_links_missing"
        },
        {
          "time": "05:54:20",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:54:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "05:54:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:55:14",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/2386, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043ba0, reason=series_links_missing"
        },
        {
          "time": "05:55:14",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:55:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "05:55:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:55:35",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/2386, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043bab, reason=series_links_missing"
        },
        {
          "time": "06:07:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T06:07:09"
        },
        {
          "time": "06:07:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:07:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:30:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #29"
        },
        {
          "time": "06:30:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:30:33",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/2386, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043ede"
        },
        {
          "time": "06:30:33",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:30:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #30"
        },
        {
          "time": "06:30:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:30:54",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/2386, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043ee4"
        },
        {
          "time": "06:31:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #31"
        },
        {
          "time": "06:31:13",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:31:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:31:34",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/2386, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043ef3"
        },
        {
          "time": "06:32:00",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:37:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #43"
        },
        {
          "time": "16:37:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:38:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이웃사촌 - 셈니,Rodong | 뉴토끼, links=54"
        },
        {
          "time": "16:38:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #44"
        },
        {
          "time": "16:38:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:38:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이웃사촌 - 셈니,Rodong | 뉴토끼, links=54"
        },
        {
          "time": "16:38:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #45"
        },
        {
          "time": "16:38:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:38:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이웃사촌 - 셈니,Rodong | 뉴토끼, links=54"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:49:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #412"
        },
        {
          "time": "21:49:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:49:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이웃사촌 - 셈니,Rodong | 뉴토끼, links=54"
        },
        {
          "time": "21:51:01",
          "message": "작품 제목: 이웃사촌 - 셈니,Rodong"
        },
        {
          "time": "21:51:01",
          "message": "메타데이터 태그 저장: Rodong, 드라마, 성인, 셈니, 이웃사촌"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:22:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #368"
        },
        {
          "time": "10:22:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:22:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이웃사촌 - 셈니,Rodong | 뉴토끼, links=54"
        },
        {
          "time": "10:22:45",
          "message": "작품 제목: 이웃사촌 - 셈니,Rodong"
        },
        {
          "time": "10:22:45",
          "message": "메타데이터 태그 저장: Rodong, 드라마, 성인, 셈니, 이웃사촌"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:38:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1046"
        },
        {
          "time": "05:38:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:39:07",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:39:07",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:39:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1047"
        },
        {
          "time": "05:39:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:39:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이웃사촌 - 셈니,Rodong | 뉴토끼, links=54"
        },
        {
          "time": "05:39:22",
          "message": "작품 제목: 이웃사촌 - 셈니,Rodong"
        },
        {
          "time": "05:39:22",
          "message": "메타데이터 태그 저장: Rodong, 드라마, 성인, 셈니, 이웃사촌"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_2386",
        "target_id": "webtoon_2386",
        "title": "이웃사촌 - 셈니,Rodong",
        "episodes_found": 52,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 52,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_2386",
          "title": "이웃사촌 - 셈니,Rodong",
          "list_url": "https://newtoki1.org/webtoon/2386",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/2386"
          },
          "tags": [
            "Rodong",
            "드라마",
            "성인",
            "셈니",
            "이웃사촌"
          ],
          "description": "이웃사촌 (셈니,Rodong) [투믹스] #드라마 #성인",
          "metadata_path": "/downloads/webtoon_2386/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 52,
        "total": 52,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "e65be151b5",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:22:38",
      "started_at": "2026-06-04T05:37:48",
      "finished_at": "2026-06-04T05:38:44",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "어째서 여기에 선생님이!? - 소보로우",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/10463",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_10463",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "00:35:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:35:38"
        },
        {
          "time": "00:35:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:35:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:46:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2435"
        },
        {
          "time": "00:46:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:46:51",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:46:51",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:56:55"
        },
        {
          "time": "00:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:14:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2469"
        },
        {
          "time": "01:14:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:15:00",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:15:00",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:25:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:25:40"
        },
        {
          "time": "01:25:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:25:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:38:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2503"
        },
        {
          "time": "01:38:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:38:22",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:38:23",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:48:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:48:58"
        },
        {
          "time": "01:48:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:48:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:05:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2538"
        },
        {
          "time": "02:05:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:06:01",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:06:01",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:16:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:16:16"
        },
        {
          "time": "02:16:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:16:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:28:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2572"
        },
        {
          "time": "02:28:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:28:25",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:28:25",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:38:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:38:48"
        },
        {
          "time": "02:38:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:38:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:54:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2606"
        },
        {
          "time": "02:54:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:55:19",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "02:55:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2607"
        },
        {
          "time": "02:55:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:55:50",
          "message": "작품 제목: 10463"
        },
        {
          "time": "02:56:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2608"
        },
        {
          "time": "02:56:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:56:35",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:56:36",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:08:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:08:07"
        },
        {
          "time": "03:08:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:08:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:24:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "03:24:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:24:55",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:25:27",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:35:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:35:32"
        },
        {
          "time": "03:35:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:35:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:42:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #46"
        },
        {
          "time": "03:42:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:43:17",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:43:17",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:54:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:54:12"
        },
        {
          "time": "03:54:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:54:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:05:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #76"
        },
        {
          "time": "04:05:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:05:40",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:05:40",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:15:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:15:53"
        },
        {
          "time": "04:15:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:15:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:25:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #105"
        },
        {
          "time": "04:25:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:26:07",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:26:38",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:36:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:36:59"
        },
        {
          "time": "04:36:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:36:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:47:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "04:47:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:47:48",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:47:48",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:58:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:58:57"
        },
        {
          "time": "04:58:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:58:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:09:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "05:09:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:09:34",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "05:09:35",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:20:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:20:10"
        },
        {
          "time": "05:20:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:20:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:52:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "05:52:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:53:16",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/10463, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043b74, reason=series_links_missing"
        },
        {
          "time": "05:53:16",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:53:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "05:53:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:53:36",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/10463, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043b7a, reason=series_links_missing"
        },
        {
          "time": "05:53:36",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:53:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "05:53:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:53:57",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/10463, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043b84, reason=series_links_missing"
        },
        {
          "time": "06:05:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T06:05:03"
        },
        {
          "time": "06:05:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:05:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:28:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #26"
        },
        {
          "time": "06:28:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:28:24",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/10463, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043eac"
        },
        {
          "time": "06:28:25",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:28:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #27"
        },
        {
          "time": "06:28:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:28:46",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/10463, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043eb1"
        },
        {
          "time": "06:29:20",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:29:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #28"
        },
        {
          "time": "06:29:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:29:40",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/10463, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043eb1"
        },
        {
          "time": "06:29:41",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:36:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #40"
        },
        {
          "time": "16:36:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:37:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어째서 여기에 선생님이!? - 소보로우 | 뉴토끼, links=131"
        },
        {
          "time": "16:37:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #41"
        },
        {
          "time": "16:37:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:37:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어째서 여기에 선생님이!? - 소보로우 | 뉴토끼, links=131"
        },
        {
          "time": "16:37:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #42"
        },
        {
          "time": "16:37:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:37:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어째서 여기에 선생님이!? - 소보로우 | 뉴토끼, links=131"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:48:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #411"
        },
        {
          "time": "21:48:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:48:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어째서 여기에 선생님이!? - 소보로우 | 뉴토끼, links=131"
        },
        {
          "time": "21:49:13",
          "message": "작품 제목: 어째서 여기에 선생님이!? - 소보로우"
        },
        {
          "time": "21:49:13",
          "message": "메타데이터 태그 저장: 소보로우, 어째서 여기에 선생님이!?"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:23:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #369"
        },
        {
          "time": "10:23:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:23:31",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:23:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #370"
        },
        {
          "time": "10:23:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:23:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어째서 여기에 선생님이!? - 소보로우 | 뉴토끼, links=131"
        },
        {
          "time": "10:23:47",
          "message": "작품 제목: 어째서 여기에 선생님이!? - 소보로우"
        },
        {
          "time": "10:23:47",
          "message": "메타데이터 태그 저장: 소보로우, 어째서 여기에 선생님이!?"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:38:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1044"
        },
        {
          "time": "05:38:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:38:27",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:38:28",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:38:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1045"
        },
        {
          "time": "05:38:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:38:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어째서 여기에 선생님이!? - 소보로우 | 뉴토끼, links=131"
        },
        {
          "time": "05:38:42",
          "message": "작품 제목: 어째서 여기에 선생님이!? - 소보로우"
        },
        {
          "time": "05:38:43",
          "message": "메타데이터 태그 저장: 소보로우, 어째서 여기에 선생님이!?"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_10463",
        "target_id": "manhwa_10463",
        "title": "어째서 여기에 선생님이!? - 소보로우",
        "episodes_found": 129,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 129,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_10463",
          "title": "어째서 여기에 선생님이!? - 소보로우",
          "list_url": "https://newtoki1.org/manhwa/10463",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/10463"
          },
          "tags": [
            "소보로우",
            "어째서 여기에 선생님이!?"
          ],
          "description": "엄격하고 무섭기로 소문난 `호랑이 코지마` 선생님! 하지만 어째서인지 사토 이치로와 함께 있으면 민망한 상황이 발생, 선생닝의 얼굴은 무장해제 상태가 되는데…?! 어설프게 겹치기 시작한 우연 속에서 `호랑이 코지마`는 점점 사토에게 마음이 끌리기 시작한다…!!",
          "metadata_path": "/downloads/manhwa_10463/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 129,
        "total": 129,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "5a2a74e573",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:22:31",
      "started_at": "2026-06-04T05:36:02",
      "finished_at": "2026-06-04T05:37:48",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "남편 옆에서 불륜 섹스 - 페이터 미츠루",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/34652",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_34652",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "00:16:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:16:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:23:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2400"
        },
        {
          "time": "00:23:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:23:34",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:23:34",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:33:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:33:52"
        },
        {
          "time": "00:33:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:33:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:46:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2434"
        },
        {
          "time": "00:46:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:46:25",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:46:30",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:56:55"
        },
        {
          "time": "00:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:12:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2468"
        },
        {
          "time": "01:12:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:13:07",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:13:07",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:24:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:24:54"
        },
        {
          "time": "01:24:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:24:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:36:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2502"
        },
        {
          "time": "01:36:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:36:55",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:37:27",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:48:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:48:58"
        },
        {
          "time": "01:48:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:48:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:04:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2537"
        },
        {
          "time": "02:04:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:04:32",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:05:05",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:16:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:16:16"
        },
        {
          "time": "02:16:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:16:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:27:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2571"
        },
        {
          "time": "02:27:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:27:59",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:27:59",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:38:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:38:48"
        },
        {
          "time": "02:38:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:38:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:53:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2605"
        },
        {
          "time": "02:53:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:54:18",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:54:18",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:08:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:08:07"
        },
        {
          "time": "03:08:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:08:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:24:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "03:24:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:24:32",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:24:32",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:35:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:35:32"
        },
        {
          "time": "03:35:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:35:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:42:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #45"
        },
        {
          "time": "03:42:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:42:20",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:42:20",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:52:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:52:45"
        },
        {
          "time": "03:52:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:52:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:04:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #75"
        },
        {
          "time": "04:04:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:05:12",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:05:18",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:15:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:15:53"
        },
        {
          "time": "04:15:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:15:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:24:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #104"
        },
        {
          "time": "04:24:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:24:37",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:24:37",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:34:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:34:45"
        },
        {
          "time": "04:34:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:34:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:47:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "04:47:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:47:26",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:47:26",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:58:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:58:57"
        },
        {
          "time": "04:58:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:58:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:08:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "05:08:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:08:41",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "05:09:13",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:20:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:20:10"
        },
        {
          "time": "05:20:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:20:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:50:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "05:50:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:50:55",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/34652, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043b3d, reason=series_links_missing"
        },
        {
          "time": "05:50:55",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:51:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "05:51:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:51:49",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/34652, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043b50, reason=series_links_missing"
        },
        {
          "time": "05:51:50",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:52:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "05:52:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:52:41",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/34652, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043b67, reason=series_links_missing"
        },
        {
          "time": "06:05:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T06:05:03"
        },
        {
          "time": "06:05:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:05:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:26:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "06:26:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:26:48",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/34652, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043e89"
        },
        {
          "time": "06:26:48",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:26:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "06:26:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:27:09",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/34652, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043e8c"
        },
        {
          "time": "06:27:09",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:27:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #25"
        },
        {
          "time": "06:27:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:28:03",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/34652, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043ea1"
        },
        {
          "time": "06:28:03",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:36:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #37"
        },
        {
          "time": "16:36:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:36:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=남편 옆에서 불륜 섹스 - 페이터 미츠루 | 뉴토끼, links=111"
        },
        {
          "time": "16:36:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #38"
        },
        {
          "time": "16:36:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:36:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=남편 옆에서 불륜 섹스 - 페이터 미츠루 | 뉴토끼, links=111"
        },
        {
          "time": "16:36:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #39"
        },
        {
          "time": "16:36:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:36:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=남편 옆에서 불륜 섹스 - 페이터 미츠루 | 뉴토끼, links=111"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:48:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #410"
        },
        {
          "time": "21:48:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:48:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=남편 옆에서 불륜 섹스 - 페이터 미츠루 | 뉴토끼, links=111"
        },
        {
          "time": "21:48:26",
          "message": "작품 제목: 남편 옆에서 불륜 섹스 - 페이터 미츠루"
        },
        {
          "time": "21:48:26",
          "message": "메타데이터 태그 저장: 남편 옆에서 불륜 섹스, 페이터 미츠루"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:24:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #371"
        },
        {
          "time": "10:24:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:24:44",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:24:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #372"
        },
        {
          "time": "10:24:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:24:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=남편 옆에서 불륜 섹스 - 페이터 미츠루 | 뉴토끼, links=111"
        },
        {
          "time": "10:25:00",
          "message": "작품 제목: 남편 옆에서 불륜 섹스 - 페이터 미츠루"
        },
        {
          "time": "10:25:02",
          "message": "메타데이터 태그 저장: 남편 옆에서 불륜 섹스, 페이터 미츠루"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:36:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1042"
        },
        {
          "time": "05:36:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:36:27",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:36:27",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:36:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1043"
        },
        {
          "time": "05:36:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:36:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=남편 옆에서 불륜 섹스 - 페이터 미츠루 | 뉴토끼, links=111"
        },
        {
          "time": "05:37:47",
          "message": "작품 제목: 남편 옆에서 불륜 섹스 - 페이터 미츠루"
        },
        {
          "time": "05:37:47",
          "message": "메타데이터 태그 저장: 남편 옆에서 불륜 섹스, 페이터 미츠루"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34652",
        "target_id": "manhwa_34652",
        "title": "남편 옆에서 불륜 섹스 - 페이터 미츠루",
        "episodes_found": 109,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 109,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34652",
          "title": "남편 옆에서 불륜 섹스 - 페이터 미츠루",
          "list_url": "https://newtoki1.org/manhwa/34652",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34652"
          },
          "tags": [
            "남편 옆에서 불륜 섹스",
            "페이터 미츠루"
          ],
          "description": "미닫이문 너머로 새어 나오는, 가장 사랑하는 아내가 불륜을 저지르며 허덕이는 목소리. 그리고 나도 친구의 아내에게 정자를 넣는다…. 임신을 위해 2개월간 금욕 중인 레이지, 카나데 부부. 온천 여행에서 아이 만들기를 하려 계획하고 있었지만, 어느 계기로 인해 친구 부부와의 `부부 교환`",
          "metadata_path": "/downloads/manhwa_34652/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 109,
        "total": 109,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "8d51209dcc",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:22:26",
      "started_at": "2026-06-04T05:35:22",
      "finished_at": "2026-06-04T05:36:02",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3203",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3203",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "00:04:26",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:14:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:14:50"
        },
        {
          "time": "00:14:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:14:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:22:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2399"
        },
        {
          "time": "00:22:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:23:10",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:23:10",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:33:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:33:52"
        },
        {
          "time": "00:33:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:33:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:45:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2433"
        },
        {
          "time": "00:45:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:46:00",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:46:00",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:56:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:56:55"
        },
        {
          "time": "00:56:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:56:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:11:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2467"
        },
        {
          "time": "01:11:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:11:40",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:11:40",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:22:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:22:03"
        },
        {
          "time": "01:22:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:22:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:35:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2501"
        },
        {
          "time": "01:35:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:36:09",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:36:09",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:48:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:48:58"
        },
        {
          "time": "01:48:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:48:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:03:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2536"
        },
        {
          "time": "02:03:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:04:10",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:04:10",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:16:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:16:16"
        },
        {
          "time": "02:16:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:16:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:27:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2570"
        },
        {
          "time": "02:27:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:27:37",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:27:37",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:38:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:38:48"
        },
        {
          "time": "02:38:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:38:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:52:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2604"
        },
        {
          "time": "02:52:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:53:06",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:53:06",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:04:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:03:10"
        },
        {
          "time": "03:04:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:04:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:23:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "03:23:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:23:40",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:24:10",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:34:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:34:15"
        },
        {
          "time": "03:34:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:34:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:41:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #44"
        },
        {
          "time": "03:41:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:41:56",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:41:56",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:52:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:52:45"
        },
        {
          "time": "03:52:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:52:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:03:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #74"
        },
        {
          "time": "04:03:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:04:17",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:04:17",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:14:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:14:25"
        },
        {
          "time": "04:14:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:14:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:23:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #103"
        },
        {
          "time": "04:23:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:23:59",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:23:59",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:34:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:34:45"
        },
        {
          "time": "04:34:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:34:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:46:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "04:46:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:46:31",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:47:02",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:57:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:57:51"
        },
        {
          "time": "04:57:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:07:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "05:07:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:07:42",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "05:07:42",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:18:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:18:32"
        },
        {
          "time": "05:18:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:18:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:45:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "05:45:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:45:59",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/3203, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043aca, reason=series_links_missing"
        },
        {
          "time": "05:45:59",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:46:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "05:46:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:46:10",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "05:59:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:59:21"
        },
        {
          "time": "05:59:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:59:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:25:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "06:25:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:25:45",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/3203, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043e6d"
        },
        {
          "time": "06:25:45",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:25:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "06:25:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:26:05",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/3203, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043e73"
        },
        {
          "time": "06:26:05",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:26:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "06:26:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:26:27",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/3203, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043e7b"
        },
        {
          "time": "06:26:27",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:35:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #34"
        },
        {
          "time": "16:35:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:35:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠 | 뉴토끼, links=109"
        },
        {
          "time": "16:35:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #35"
        },
        {
          "time": "16:35:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:36:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠 | 뉴토끼, links=109"
        },
        {
          "time": "16:36:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #36"
        },
        {
          "time": "16:36:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:36:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠 | 뉴토끼, links=109"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:47:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #408"
        },
        {
          "time": "21:47:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:48:08",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "21:48:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #409"
        },
        {
          "time": "21:48:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:48:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠 | 뉴토끼, links=109"
        },
        {
          "time": "21:48:09",
          "message": "작품 제목: 귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠"
        },
        {
          "time": "21:48:09",
          "message": "메타데이터 태그 저장: 귀여운 상사를 난처하게 만들고 싶어, 타치바나 로쿠"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:25:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #373"
        },
        {
          "time": "10:25:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:25:26",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:25:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #374"
        },
        {
          "time": "10:25:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:25:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠 | 뉴토끼, links=109"
        },
        {
          "time": "10:25:41",
          "message": "작품 제목: 귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠"
        },
        {
          "time": "10:25:42",
          "message": "메타데이터 태그 저장: 귀여운 상사를 난처하게 만들고 싶어, 타치바나 로쿠"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:35:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1040"
        },
        {
          "time": "05:35:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:35:44",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:35:45",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:35:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1041"
        },
        {
          "time": "05:35:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:35:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠 | 뉴토끼, links=109"
        },
        {
          "time": "05:35:59",
          "message": "작품 제목: 귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠"
        },
        {
          "time": "05:36:00",
          "message": "메타데이터 태그 저장: 귀여운 상사를 난처하게 만들고 싶어, 타치바나 로쿠"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3203",
        "target_id": "manhwa_3203",
        "title": "귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠",
        "episodes_found": 107,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 107,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3203",
          "title": "귀여운 상사를 난처하게 만들고 싶어 - 타치바나 로쿠",
          "list_url": "https://newtoki1.org/manhwa/3203",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3203"
          },
          "tags": [
            "귀여운 상사를 난처하게 만들고 싶어",
            "타치바나 로쿠"
          ],
          "description": "식품회사에서 차장으로 근무 중인 이라 메구미(31세). 오직 업무에 모든 것을 올인한 채, 연애도 결혼도 아웃 오브 안중. 그런 그녀 앞에 어딘가 가볍지만 요령만은 좋은 신입사원 아오키 준이 나타나는데…. 왠지 일일이 열받는 그의 언동에 자신도 모르게 얽히는 사이, 회식날 밤 둘은 만",
          "metadata_path": "/downloads/manhwa_3203/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 107,
        "total": 107,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "657cc6ca05",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:21:59",
      "started_at": "2026-06-04T05:25:10",
      "finished_at": "2026-06-04T05:35:22",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "고향최고! - usagi",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35152",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35152",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "14:28:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:29:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1536"
        },
        {
          "time": "14:29:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:29:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잠시만 기다리십시오…, img_tags=1, image_urls=1"
        },
        {
          "time": "14:30:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1537"
        },
        {
          "time": "14:30:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:30:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1538"
        },
        {
          "time": "14:30:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:30:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잠시만 기다리십시오…, img_tags=1, image_urls=1"
        },
        {
          "time": "14:30:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1539"
        },
        {
          "time": "14:30:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:30:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잠시만 기다리십시오…, img_tags=1, image_urls=1"
        },
        {
          "time": "14:31:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1540"
        },
        {
          "time": "14:31:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:31:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잠시만 기다리십시오…, img_tags=1, image_urls=1"
        },
        {
          "time": "14:31:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1541"
        },
        {
          "time": "14:31:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:31:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잠시만 기다리십시오…, img_tags=1, image_urls=1"
        },
        {
          "time": "14:31:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1542"
        },
        {
          "time": "14:31:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:31:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잠시만 기다리십시오…, img_tags=1, image_urls=1"
        },
        {
          "time": "14:31:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1543"
        },
        {
          "time": "14:31:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:31:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=잠시만 기다리십시오…, img_tags=1, image_urls=1"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:44:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "16:44:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:44:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고향최고! - usagi | 뉴토끼, links=123"
        },
        {
          "time": "16:44:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "16:44:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:45:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고향최고! - usagi | 뉴토끼, links=123"
        },
        {
          "time": "16:45:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "16:45:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:45:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고향최고! - usagi | 뉴토끼, links=123"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:39:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #396"
        },
        {
          "time": "21:39:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:40:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고향최고! - usagi | 뉴토끼, links=123"
        },
        {
          "time": "21:40:12",
          "message": "작품 제목: 고향최고! - usagi"
        },
        {
          "time": "21:40:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #397"
        },
        {
          "time": "21:40:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:40:13",
          "message": "메타데이터 태그 저장: usagi, 고향최고!"
        },
        {
          "time": "21:40:14",
          "message": "순회 계획을 저장했습니다: 10개 회차"
        },
        {
          "time": "21:40:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 1화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "21:41:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #398"
        },
        {
          "time": "21:41:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:41:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #399"
        },
        {
          "time": "21:41:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:42:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 2화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "21:42:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #400"
        },
        {
          "time": "21:42:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:42:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 3화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "21:42:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #401"
        },
        {
          "time": "21:42:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:42:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "21:42:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #402"
        },
        {
          "time": "21:42:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:42:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 7화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "21:44:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #403"
        },
        {
          "time": "21:44:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:44:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 9화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "21:44:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #404"
        },
        {
          "time": "21:44:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:45:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 29화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "21:46:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #405"
        },
        {
          "time": "21:46:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:46:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 84.5화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "21:46:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #406"
        },
        {
          "time": "21:46:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:47:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 98.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "21:47:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #407"
        },
        {
          "time": "21:47:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:47:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 100.5화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 10)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:25:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #375"
        },
        {
          "time": "10:25:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:26:04",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:26:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #376"
        },
        {
          "time": "10:26:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:26:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고향최고! - usagi | 뉴토끼, links=123"
        },
        {
          "time": "10:26:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #377"
        },
        {
          "time": "10:26:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:26:50",
          "message": "작품 제목: 고향최고! - usagi"
        },
        {
          "time": "10:26:52",
          "message": "메타데이터 태그 저장: usagi, 고향최고!"
        },
        {
          "time": "10:26:53",
          "message": "순회 계획을 저장했습니다: 10개 회차"
        },
        {
          "time": "10:26:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 1화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "10:27:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #378"
        },
        {
          "time": "10:27:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:27:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 2화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "10:28:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #379"
        },
        {
          "time": "10:28:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:28:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 3화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:28:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #380"
        },
        {
          "time": "10:28:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:28:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:29:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #381"
        },
        {
          "time": "10:29:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:29:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 7화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:29:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #382"
        },
        {
          "time": "10:29:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:30:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 9화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:30:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #383"
        },
        {
          "time": "10:30:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:30:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 29화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:30:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #384"
        },
        {
          "time": "10:30:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:30:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 84.5화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "10:30:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #385"
        },
        {
          "time": "10:30:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:31:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 98.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "10:32:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #386"
        },
        {
          "time": "10:32:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:32:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 100.5화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:25:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1028"
        },
        {
          "time": "05:25:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:26:06",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:26:07",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:26:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1029"
        },
        {
          "time": "05:26:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:26:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=고향최고! - usagi | 뉴토끼, links=123"
        },
        {
          "time": "05:26:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1030"
        },
        {
          "time": "05:26:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:26:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 1화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "05:26:56",
          "message": "작품 제목: 고향최고! - usagi"
        },
        {
          "time": "05:26:56",
          "message": "메타데이터 태그 저장: usagi, 고향최고!"
        },
        {
          "time": "05:26:57",
          "message": "순회 계획을 저장했습니다: 10개 회차"
        },
        {
          "time": "05:26:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1031"
        },
        {
          "time": "05:27:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:27:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 2화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "05:28:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1032"
        },
        {
          "time": "05:28:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:28:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 3화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1033"
        },
        {
          "time": "05:28:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:28:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:30:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1034"
        },
        {
          "time": "05:30:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:30:14",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 7화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:30:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1035"
        },
        {
          "time": "05:30:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:30:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 9화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:31:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1036"
        },
        {
          "time": "05:31:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:32:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 29화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:32:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1037"
        },
        {
          "time": "05:32:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:32:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 84.5화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "05:34:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1038"
        },
        {
          "time": "05:34:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:34:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 98.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:34:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1039"
        },
        {
          "time": "05:34:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:34:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=고향최고! 100.5화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 10)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 10)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 10)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35152",
        "target_id": "manhwa_35152",
        "title": "고향최고! - usagi",
        "episodes_found": 121,
        "episodes_processed": 10,
        "episodes_failed": 0,
        "episodes_skipped": 111,
        "images_found": 16,
        "images_downloaded": 0,
        "images_skipped": 16,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35152",
          "title": "고향최고! - usagi",
          "list_url": "https://newtoki1.org/manhwa/35152",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35152"
          },
          "tags": [
            "usagi",
            "고향최고!"
          ],
          "description": "일본의 한구레를 모에화한 듯한 만화로, 주연급 인물은 전원 여성에 작화는 좀 떨어져도 나름대로 귀여운 그림체지만, 내용은 무척이나 하드하다. 사채꾼 우시지마[1]의 모에화라는 평이 있을 정도로 폭력, 납치, 수금 등 여러 불법 요소가 한가득 묘사된다. 작중 이야기는 픽션이며 실존 인물",
          "metadata_path": "/downloads/manhwa_35152/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 10,
        "total": 10,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 1,
          "url": "https://newtoki1.org/manhwa/35152/1759514",
          "title": "고향최고! 1화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 2,
          "url": "https://newtoki1.org/manhwa/35152/1759501",
          "title": "고향최고! 2화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 3,
          "url": "https://newtoki1.org/manhwa/35152/1759439",
          "title": "고향최고! 3화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 4,
          "url": "https://newtoki1.org/manhwa/35152/1759495",
          "title": "고향최고! 4화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 7,
          "url": "https://newtoki1.org/manhwa/35152/1759415",
          "title": "고향최고! 7화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 9,
          "url": "https://newtoki1.org/manhwa/35152/1759463",
          "title": "고향최고! 9화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 29,
          "url": "https://newtoki1.org/manhwa/35152/1759428",
          "title": "고향최고! 29화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 91,
          "url": "https://newtoki1.org/manhwa/35152/1759502",
          "title": "고향최고! 84.5화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 105,
          "url": "https://newtoki1.org/manhwa/35152/1759445",
          "title": "고향최고! 98.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 108,
          "url": "https://newtoki1.org/manhwa/35152/1759432",
          "title": "고향최고! 100.5화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "dc9c46c6fc",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:21:25",
      "started_at": "2026-06-04T05:23:43",
      "finished_at": "2026-06-04T05:25:10",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/7572",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_7572",
        "viewer_image_mode": "auto"
      },
      "logs": [
        {
          "time": "00:07:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:07:26",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:07:26",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:18:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:18:20"
        },
        {
          "time": "00:18:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:18:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:26:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2404"
        },
        {
          "time": "00:26:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:26:43",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:26:52",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:36:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:36:58"
        },
        {
          "time": "00:36:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:36:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:47:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2438"
        },
        {
          "time": "00:47:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:47:59",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:47:59",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:00:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:00:04"
        },
        {
          "time": "01:00:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:00:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:16:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2472"
        },
        {
          "time": "01:16:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:17:14",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:17:23",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:27:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:27:41"
        },
        {
          "time": "01:27:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:27:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:41:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2506"
        },
        {
          "time": "01:41:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:41:26",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:41:26",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:51:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:51:27"
        },
        {
          "time": "01:51:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:51:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:07:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2541"
        },
        {
          "time": "02:07:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:07:32",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:07:32",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:18:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:18:14"
        },
        {
          "time": "02:18:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:18:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:31:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2575"
        },
        {
          "time": "02:31:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:31:37",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:31:37",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:42:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:42:08"
        },
        {
          "time": "02:42:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:42:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:00:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2611"
        },
        {
          "time": "03:00:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:00:21",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:00:21",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:11:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:10:36"
        },
        {
          "time": "03:11:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:11:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:26:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "03:26:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:27:11",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:27:45",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:38:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:38:03"
        },
        {
          "time": "03:38:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:38:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:45:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #49"
        },
        {
          "time": "03:45:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:45:31",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:45:31",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:55:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:55:39"
        },
        {
          "time": "03:55:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:55:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:06:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #79"
        },
        {
          "time": "04:06:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:07:18",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:07:26",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:17:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:17:51"
        },
        {
          "time": "04:17:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:17:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:28:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #108"
        },
        {
          "time": "04:28:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:29:08",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:29:08",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:39:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:39:28"
        },
        {
          "time": "04:39:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:39:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:50:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "04:50:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:51:02",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:51:34",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:02:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:02:13"
        },
        {
          "time": "05:02:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:02:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:11:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "05:11:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:11:56",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "05:11:56",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:23:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:23:19"
        },
        {
          "time": "05:23:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:23:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:57:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "05:57:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:58:08",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/7572, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043be6, reason=series_links_missing"
        },
        {
          "time": "05:58:08",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:58:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "05:58:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:58:28",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/7572, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043bec, reason=series_links_missing"
        },
        {
          "time": "05:58:28",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:59:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "05:59:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:59:21",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/manhwa/7572, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043c03, reason=series_links_missing"
        },
        {
          "time": "06:10:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T06:10:46"
        },
        {
          "time": "06:10:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:10:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:35:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "06:35:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:35:46",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/7572, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043f58"
        },
        {
          "time": "06:35:46",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:35:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "06:35:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:36:07",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/7572, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043f5e"
        },
        {
          "time": "06:36:07",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "06:36:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "06:36:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:36:28",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/manhwa/7572, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043f66"
        },
        {
          "time": "06:36:28",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:34:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #31"
        },
        {
          "time": "16:34:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:34:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키 | 뉴토끼, links=115"
        },
        {
          "time": "16:34:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #32"
        },
        {
          "time": "16:34:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:35:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키 | 뉴토끼, links=115"
        },
        {
          "time": "16:35:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #33"
        },
        {
          "time": "16:35:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:35:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키 | 뉴토끼, links=115"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:39:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #395"
        },
        {
          "time": "21:39:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:39:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키 | 뉴토끼, links=115"
        },
        {
          "time": "21:39:56",
          "message": "작품 제목: 최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키"
        },
        {
          "time": "21:39:56",
          "message": "메타데이터 태그 저장: 아야노 마사키, 최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:33:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #387"
        },
        {
          "time": "10:33:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:34:00",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:34:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #388"
        },
        {
          "time": "10:34:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:34:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키 | 뉴토끼, links=115"
        },
        {
          "time": "10:34:16",
          "message": "작품 제목: 최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키"
        },
        {
          "time": "10:34:17",
          "message": "메타데이터 태그 저장: 아야노 마사키, 최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:24:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1027"
        },
        {
          "time": "05:24:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:25:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키 | 뉴토끼, links=115"
        },
        {
          "time": "05:25:08",
          "message": "작품 제목: 최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키"
        },
        {
          "time": "05:25:09",
          "message": "메타데이터 태그 저장: 아야노 마사키, 최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_7572",
        "target_id": "manhwa_7572",
        "title": "최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키",
        "episodes_found": 113,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 113,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_7572",
          "title": "최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다 - 아야노 마사키",
          "list_url": "https://newtoki1.org/manhwa/7572",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/7572"
          },
          "tags": [
            "아야노 마사키",
            "최강의 마도사. 무릎에 화살을 맞아서 시골의 위병이 되다"
          ],
          "description": "S랭크 마도사가 무릎에 화살을 맞아서 시골 마을 경비병으로?!최강 마도사의 느긋한 무쌍 스토리!!",
          "metadata_path": "/downloads/manhwa_7572/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 113,
        "total": 113,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3858863e23",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:21:18",
      "started_at": "2026-06-04T05:22:19",
      "finished_at": "2026-06-04T05:23:43",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "츠구모모 - 하마다 요시카즈",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/10284",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_10284",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "06:58:46",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/10284"
        },
        {
          "time": "06:58:46",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10284"
        },
        {
          "time": "06:59:06",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/10284\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/10284"
        },
        {
          "time": "07:09:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T07:09:18"
        },
        {
          "time": "07:09:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "07:09:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "21:46:17",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "21:47:51",
          "message": "기존 완료 기록을 적용합니다: 168개 회차"
        },
        {
          "time": "21:47:51",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "21:47:51",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "21:47:51",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "21:47:51",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "21:47:51",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/10284"
        },
        {
          "time": "21:47:51",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10284"
        },
        {
          "time": "21:48:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "21:48:07",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "21:48:07",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "21:48:07",
          "message": "메타데이터 저장: /downloads/manhwa_10284/metadata.yaml"
        },
        {
          "time": "21:48:07",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "21:48:07",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "21:59:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T21:59:35"
        },
        {
          "time": "21:59:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:59:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:15:22",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "23:16:51",
          "message": "기존 완료 기록을 적용합니다: 168개 회차"
        },
        {
          "time": "23:16:51",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "23:16:51",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "23:16:51",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "23:16:51",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "23:16:51",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/10284"
        },
        {
          "time": "23:16:51",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10284"
        },
        {
          "time": "23:17:05",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "23:17:08",
          "message": "Cloudflare challenge 통과 대기 완료: 3.2초"
        },
        {
          "time": "23:17:08",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "23:17:08",
          "message": "메타데이터 저장: /downloads/manhwa_10284/metadata.yaml"
        },
        {
          "time": "23:17:08",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "23:17:08",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "23:28:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T23:28:17"
        },
        {
          "time": "23:28:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:28:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:20:59",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "07:22:25",
          "message": "기존 완료 기록을 적용합니다: 168개 회차"
        },
        {
          "time": "07:22:25",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "07:22:25",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "07:22:25",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "07:22:25",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "07:22:25",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/10284"
        },
        {
          "time": "07:22:25",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10284"
        },
        {
          "time": "07:22:43",
          "message": "작품 제목: 츠구모모 - 하마다 요시카즈"
        },
        {
          "time": "07:22:44",
          "message": "메타데이터 저장: /downloads/manhwa_10284/metadata.yaml"
        },
        {
          "time": "07:22:44",
          "message": "메타데이터 태그 저장: 츠구모모, 하마다 요시카즈"
        },
        {
          "time": "07:22:44",
          "message": "기존 완료 회차 168개 제외"
        },
        {
          "time": "07:22:44",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "07:22:44",
          "message": "총 169개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "07:22:44",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/10284/100569"
        },
        {
          "time": "07:22:44",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10284/100569"
        },
        {
          "time": "07:22:53",
          "message": "  [i] 회차 제목: 츠구모모 특별편 1화 11권 특별편 1"
        },
        {
          "time": "07:22:53",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/001.jpg"
        },
        {
          "time": "07:22:53",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/002.jpg"
        },
        {
          "time": "07:22:53",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/003.jpg"
        },
        {
          "time": "07:22:53",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/004.jpg"
        },
        {
          "time": "07:22:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/005.jpg"
        },
        {
          "time": "07:22:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/006.jpg"
        },
        {
          "time": "07:22:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/007.jpg"
        },
        {
          "time": "07:22:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/008.jpg"
        },
        {
          "time": "07:22:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/009.jpg"
        },
        {
          "time": "07:22:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/010.jpg"
        },
        {
          "time": "07:22:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/011.jpg"
        },
        {
          "time": "07:22:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/012.jpg"
        },
        {
          "time": "07:22:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/013.jpg"
        },
        {
          "time": "07:22:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/014.jpg"
        },
        {
          "time": "07:22:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/015.jpg"
        },
        {
          "time": "07:22:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/016.jpg"
        },
        {
          "time": "07:22:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/017.jpg"
        },
        {
          "time": "07:22:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/018.jpg"
        },
        {
          "time": "07:22:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/019.jpg"
        },
        {
          "time": "07:23:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_10284/ep_166/020.jpg"
        },
        {
          "time": "07:23:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/021.jpg"
        },
        {
          "time": "07:23:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/022.jpg"
        },
        {
          "time": "07:23:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/023.jpg"
        },
        {
          "time": "07:23:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_10284/ep_166/024.jpg"
        },
        {
          "time": "07:23:05",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/025.jpg"
        },
        {
          "time": "07:23:05",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/026.jpg"
        },
        {
          "time": "07:23:05",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/027.jpg"
        },
        {
          "time": "07:23:05",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/028.jpg"
        },
        {
          "time": "07:23:05",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/029.jpg"
        },
        {
          "time": "07:23:05",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/030.jpg"
        },
        {
          "time": "07:23:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_10284/ep_166/031.jpg"
        },
        {
          "time": "07:23:07",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/032.jpg"
        },
        {
          "time": "07:23:07",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/033.jpg"
        },
        {
          "time": "07:23:07",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/034.jpg"
        },
        {
          "time": "07:23:07",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/035.jpg"
        },
        {
          "time": "07:23:07",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/036.jpg"
        },
        {
          "time": "07:23:07",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/037.jpg"
        },
        {
          "time": "07:23:07",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/038.jpg"
        },
        {
          "time": "07:23:07",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/039.jpg"
        },
        {
          "time": "07:23:07",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/040.jpg"
        },
        {
          "time": "07:23:08",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/041.jpg"
        },
        {
          "time": "07:23:08",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/042.jpg"
        },
        {
          "time": "07:23:08",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/043.jpg"
        },
        {
          "time": "07:23:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_10284/ep_166/044.jpg"
        },
        {
          "time": "07:23:09",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/045.jpg"
        },
        {
          "time": "07:23:09",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/046.jpg"
        },
        {
          "time": "07:23:09",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/047.jpg"
        },
        {
          "time": "07:23:10",
          "message": "    [=] 이미 존재함: /downloads/manhwa_10284/ep_166/048.jpg"
        },
        {
          "time": "07:23:10",
          "message": "  [>] 이미지 48/48개 처리 완료.\n"
        },
        {
          "time": "07:23:11",
          "message": "완료: 회차 1개 처리, 이미지 4개 저장, 44개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:01:52",
          "message": "작품 제목: 10284"
        },
        {
          "time": "06:12:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:12:25"
        },
        {
          "time": "06:12:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:12:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:15:31",
          "message": "작품 제목: 10284"
        },
        {
          "time": "13:25:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:25:56"
        },
        {
          "time": "13:25:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:54:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #173"
        },
        {
          "time": "19:54:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:54:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=츠구모모 - 하마다 요시카즈 | 뉴토끼, links=171"
        },
        {
          "time": "19:55:25",
          "message": "작품 제목: 츠구모모 - 하마다 요시카즈"
        },
        {
          "time": "19:55:25",
          "message": "메타데이터 태그 저장: 츠구모모, 하마다 요시카즈"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:02:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #883"
        },
        {
          "time": "05:02:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:02:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=츠구모모 - 하마다 요시카즈 | 뉴토끼, links=171"
        },
        {
          "time": "05:02:30",
          "message": "작품 제목: 츠구모모 - 하마다 요시카즈"
        },
        {
          "time": "05:02:30",
          "message": "메타데이터 태그 저장: 츠구모모, 하마다 요시카즈"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:46:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #227"
        },
        {
          "time": "19:46:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:46:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=츠구모모 - 하마다 요시카즈 | 뉴토끼, links=171"
        },
        {
          "time": "19:46:17",
          "message": "작품 제목: 츠구모모 - 하마다 요시카즈"
        },
        {
          "time": "19:46:17",
          "message": "메타데이터 태그 저장: 츠구모모, 하마다 요시카즈"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:06:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #429"
        },
        {
          "time": "11:06:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:06:56",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:06:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #430"
        },
        {
          "time": "11:06:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:07:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=츠구모모 - 하마다 요시카즈 | 뉴토끼, links=171"
        },
        {
          "time": "11:07:39",
          "message": "작품 제목: 츠구모모 - 하마다 요시카즈"
        },
        {
          "time": "11:07:39",
          "message": "메타데이터 태그 저장: 츠구모모, 하마다 요시카즈"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:22:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1026"
        },
        {
          "time": "05:22:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:23:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=츠구모모 - 하마다 요시카즈 | 뉴토끼, links=171"
        },
        {
          "time": "05:23:42",
          "message": "작품 제목: 츠구모모 - 하마다 요시카즈"
        },
        {
          "time": "05:23:43",
          "message": "메타데이터 태그 저장: 츠구모모, 하마다 요시카즈"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_10284",
        "target_id": "manhwa_10284",
        "title": "츠구모모 - 하마다 요시카즈",
        "episodes_found": 169,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 169,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_10284",
          "title": "츠구모모 - 하마다 요시카즈",
          "list_url": "https://newtoki1.org/manhwa/10284",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/10284"
          },
          "tags": [
            "츠구모모",
            "하마다 요시카즈"
          ],
          "description": "평범한 남자 중학생 카즈야에게 어머니의 유품 ‘벚꽃무늬 기모노띠’는 한시도 손에서 떼어놓지 않을 만큼 소중한 물건이다. 그런 카즈야에게 어느 날 갑자기 나타난 하얀 기모노의 미소녀, 키리하. 카즈야의 목숨을 구해준 키리하는 카즈야를 ‘하인’이라 부르며 동거하기 시작한다. 그리고 카즈야에",
          "metadata_path": "/downloads/manhwa_10284/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 169,
        "total": 169,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "6d9fc64f71",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:21:14",
      "started_at": "2026-06-04T05:21:39",
      "finished_at": "2026-06-04T05:22:19",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "키스X시스(Kissxsis) - 지타마 보",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/9543",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_9543",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "22:02:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/009.jpg"
        },
        {
          "time": "22:02:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/010.jpg"
        },
        {
          "time": "22:02:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/011.jpg"
        },
        {
          "time": "22:02:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/012.jpg"
        },
        {
          "time": "22:02:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/013.jpg"
        },
        {
          "time": "22:02:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/014.jpg"
        },
        {
          "time": "22:02:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/015.jpg"
        },
        {
          "time": "22:02:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/016.jpg"
        },
        {
          "time": "22:02:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/017.jpg"
        },
        {
          "time": "22:02:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/018.jpg"
        },
        {
          "time": "22:02:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/019.jpg"
        },
        {
          "time": "22:02:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/020.jpg"
        },
        {
          "time": "22:02:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/021.jpg"
        },
        {
          "time": "22:02:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/022.jpg"
        },
        {
          "time": "22:02:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/023.jpg"
        },
        {
          "time": "22:02:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/024.jpg"
        },
        {
          "time": "22:02:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/025.jpg"
        },
        {
          "time": "22:03:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/026.jpg"
        },
        {
          "time": "22:03:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_146/027.jpg"
        },
        {
          "time": "22:03:02",
          "message": "  [>] 이미지 27개 처리 완료.\n"
        },
        {
          "time": "22:03:04",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/9543/1734508"
        },
        {
          "time": "22:03:04",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/9543/1734508"
        },
        {
          "time": "22:03:10",
          "message": "  [i] 회차 제목: 키스X시스(Kissxsis) 153.1화 키스X시스(Kiss…s) 153.1화"
        },
        {
          "time": "22:03:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/001.jpg"
        },
        {
          "time": "22:03:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/002.jpg"
        },
        {
          "time": "22:03:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/003.jpg"
        },
        {
          "time": "22:03:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/004.jpg"
        },
        {
          "time": "22:03:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/005.jpg"
        },
        {
          "time": "22:03:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/006.jpg"
        },
        {
          "time": "22:03:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/007.jpg"
        },
        {
          "time": "22:03:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/008.jpg"
        },
        {
          "time": "22:03:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/009.jpg"
        },
        {
          "time": "22:03:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/010.jpg"
        },
        {
          "time": "22:03:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/011.jpg"
        },
        {
          "time": "22:03:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/012.jpg"
        },
        {
          "time": "22:03:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_147/013.jpg"
        },
        {
          "time": "22:03:26",
          "message": "  [>] 이미지 13개 처리 완료.\n"
        },
        {
          "time": "22:03:27",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/9543/1734562"
        },
        {
          "time": "22:03:27",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/9543/1734562"
        },
        {
          "time": "22:03:32",
          "message": "  [i] 회차 제목: 키스X시스(Kissxsis) 154화 키스X시스(Kiss…sis) 154화"
        },
        {
          "time": "22:03:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/001.jpg"
        },
        {
          "time": "22:03:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/002.jpg"
        },
        {
          "time": "22:03:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/003.jpg"
        },
        {
          "time": "22:03:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/004.jpg"
        },
        {
          "time": "22:03:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/005.jpg"
        },
        {
          "time": "22:03:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/006.jpg"
        },
        {
          "time": "22:03:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/007.jpg"
        },
        {
          "time": "22:03:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/008.jpg"
        },
        {
          "time": "22:03:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/009.jpg"
        },
        {
          "time": "22:03:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/010.jpg"
        },
        {
          "time": "22:03:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/011.jpg"
        },
        {
          "time": "22:03:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/012.jpg"
        },
        {
          "time": "22:03:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/013.jpg"
        },
        {
          "time": "22:03:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/014.jpg"
        },
        {
          "time": "22:03:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/015.jpg"
        },
        {
          "time": "22:03:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/016.jpg"
        },
        {
          "time": "22:03:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/017.jpg"
        },
        {
          "time": "22:03:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/018.jpg"
        },
        {
          "time": "22:03:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/019.jpg"
        },
        {
          "time": "22:03:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/020.jpg"
        },
        {
          "time": "22:03:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/021.jpg"
        },
        {
          "time": "22:03:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/022.jpg"
        },
        {
          "time": "22:03:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/023.jpg"
        },
        {
          "time": "22:04:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/024.jpg"
        },
        {
          "time": "22:04:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/025.jpg"
        },
        {
          "time": "22:04:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/026.jpg"
        },
        {
          "time": "22:04:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/027.jpg"
        },
        {
          "time": "22:04:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/028.jpg"
        },
        {
          "time": "22:04:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/029.jpg"
        },
        {
          "time": "22:04:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/030.jpg"
        },
        {
          "time": "22:04:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_148/031.jpg"
        },
        {
          "time": "22:04:10",
          "message": "  [>] 이미지 31개 처리 완료.\n"
        },
        {
          "time": "22:04:11",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/9543/89355"
        },
        {
          "time": "22:04:11",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/9543/89355"
        },
        {
          "time": "22:04:17",
          "message": "  [i] 회차 제목: 키스X시스(Kissxsis) 특별편 키스X시스(Kiss…xsis) 특별편"
        },
        {
          "time": "22:04:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/001.jpg"
        },
        {
          "time": "22:04:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/002.jpg"
        },
        {
          "time": "22:04:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/003.jpg"
        },
        {
          "time": "22:04:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/004.jpg"
        },
        {
          "time": "22:04:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/005.jpg"
        },
        {
          "time": "22:04:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/006.jpg"
        },
        {
          "time": "22:04:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/007.jpg"
        },
        {
          "time": "22:04:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/008.jpg"
        },
        {
          "time": "22:04:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/009.jpg"
        },
        {
          "time": "22:04:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/010.jpg"
        },
        {
          "time": "22:04:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/011.jpg"
        },
        {
          "time": "22:04:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/012.jpg"
        },
        {
          "time": "22:04:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/013.jpg"
        },
        {
          "time": "22:04:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/014.jpg"
        },
        {
          "time": "22:04:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/015.jpg"
        },
        {
          "time": "22:04:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/016.jpg"
        },
        {
          "time": "22:04:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/017.jpg"
        },
        {
          "time": "22:04:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/018.jpg"
        },
        {
          "time": "22:04:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/019.jpg"
        },
        {
          "time": "22:04:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/020.jpg"
        },
        {
          "time": "22:04:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/021.jpg"
        },
        {
          "time": "22:04:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/022.jpg"
        },
        {
          "time": "22:04:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/023.jpg"
        },
        {
          "time": "22:04:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_9543/ep_149/024.jpg"
        },
        {
          "time": "22:04:56",
          "message": "  [>] 이미지 24개 처리 완료.\n"
        },
        {
          "time": "22:04:57",
          "message": "완료: 회차 149개 처리, 이미지 3761개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 149)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 149)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:38:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:38:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:48:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:48:51"
        },
        {
          "time": "06:48:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:48:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:15:22",
          "message": "작품 제목: 9543"
        },
        {
          "time": "13:25:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:25:28"
        },
        {
          "time": "13:25:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:54:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #172"
        },
        {
          "time": "19:54:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:54:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=키스X시스(Kissxsis) - 지타마 보 | 뉴토끼, links=151"
        },
        {
          "time": "19:54:37",
          "message": "작품 제목: 키스X시스(Kissxsis) - 지타마 보"
        },
        {
          "time": "19:54:37",
          "message": "메타데이터 태그 저장: 지타마 보, 키스X시스(Kissxsis"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:03:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #884"
        },
        {
          "time": "05:03:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:03:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=키스X시스(Kissxsis) - 지타마 보 | 뉴토끼, links=151"
        },
        {
          "time": "05:03:17",
          "message": "작품 제목: 키스X시스(Kissxsis) - 지타마 보"
        },
        {
          "time": "05:03:17",
          "message": "메타데이터 태그 저장: 지타마 보, 키스X시스(Kissxsis"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:45:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #226"
        },
        {
          "time": "19:45:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:46:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=키스X시스(Kissxsis) - 지타마 보 | 뉴토끼, links=151"
        },
        {
          "time": "19:46:00",
          "message": "작품 제목: 키스X시스(Kissxsis) - 지타마 보"
        },
        {
          "time": "19:46:00",
          "message": "메타데이터 태그 저장: 지타마 보, 키스X시스(Kissxsis"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:07:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #431"
        },
        {
          "time": "11:07:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:08:02",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:08:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #432"
        },
        {
          "time": "11:08:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:08:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=키스X시스(Kissxsis) - 지타마 보 | 뉴토끼, links=151"
        },
        {
          "time": "11:08:18",
          "message": "작품 제목: 키스X시스(Kissxsis) - 지타마 보"
        },
        {
          "time": "11:08:19",
          "message": "메타데이터 태그 저장: 지타마 보, 키스X시스(Kissxsis"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:21:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1024"
        },
        {
          "time": "05:21:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:22:01",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:22:02",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:22:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1025"
        },
        {
          "time": "05:22:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:22:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=키스X시스(Kissxsis) - 지타마 보 | 뉴토끼, links=151"
        },
        {
          "time": "05:22:18",
          "message": "작품 제목: 키스X시스(Kissxsis) - 지타마 보"
        },
        {
          "time": "05:22:18",
          "message": "메타데이터 태그 저장: 지타마 보, 키스X시스(Kissxsis"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_9543",
        "target_id": "manhwa_9543",
        "title": "키스X시스(Kissxsis) - 지타마 보",
        "episodes_found": 149,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 149,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_9543",
          "title": "키스X시스(Kissxsis) - 지타마 보",
          "list_url": "https://newtoki1.org/manhwa/9543",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/9543"
          },
          "tags": [
            "지타마 보",
            "키스X시스(Kissxsis"
          ],
          "description": "스미노에 케이타는 중학교 3학년의 수험생[4]이다. 얼핏 보기엔 평범하기 짝이 없는 그이지만 사실 혈육은 아닌 쌍둥이 누나들이 그가 보이는 각종 거부 반응에도 굴하지 않고 강렬하게 그를 유혹하고 있다. 부모님마저 둘 중에서 결혼[5]할 사람이 나오는 걸 기대하고 있는 탓에 하루하루 수난",
          "metadata_path": "/downloads/manhwa_9543/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 149,
        "total": 149,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "4b3c339b78",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:21:09",
      "started_at": "2026-06-04T05:19:45",
      "finished_at": "2026-06-04T05:21:39",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "오빠의 아내와 살고 있습니다 - 쿠즈시로",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3245",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3245",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "20:26:23",
          "message": "  [i] 회차 제목: 오빠의 아내와 함께 살고 있습니다 133화 오빠의 아내와 함께…있습니다 133화"
        },
        {
          "time": "20:26:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/001.jpg"
        },
        {
          "time": "20:26:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/002.jpg"
        },
        {
          "time": "20:26:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/003.jpg"
        },
        {
          "time": "20:26:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/004.jpg"
        },
        {
          "time": "20:26:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/005.jpg"
        },
        {
          "time": "20:26:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/006.jpg"
        },
        {
          "time": "20:26:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/007.jpg"
        },
        {
          "time": "20:26:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/008.jpg"
        },
        {
          "time": "20:26:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/009.jpg"
        },
        {
          "time": "20:26:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/010.jpg"
        },
        {
          "time": "20:26:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/011.jpg"
        },
        {
          "time": "20:26:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/012.jpg"
        },
        {
          "time": "20:26:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/013.jpg"
        },
        {
          "time": "20:26:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/014.jpg"
        },
        {
          "time": "20:26:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/015.jpg"
        },
        {
          "time": "20:26:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_135/016.jpg"
        },
        {
          "time": "20:26:43",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "20:26:44",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/3245/1729949"
        },
        {
          "time": "20:26:44",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/3245/1729949"
        },
        {
          "time": "20:26:50",
          "message": "  [i] 회차 제목: 오빠의 아내와 함께 살고 있습니다 134화 오빠의 아내와 함께…있습니다 134화"
        },
        {
          "time": "20:26:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/001.jpg"
        },
        {
          "time": "20:26:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/002.jpg"
        },
        {
          "time": "20:26:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/003.jpg"
        },
        {
          "time": "20:26:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/004.jpg"
        },
        {
          "time": "20:26:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/005.jpg"
        },
        {
          "time": "20:26:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/006.jpg"
        },
        {
          "time": "20:26:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/007.jpg"
        },
        {
          "time": "20:26:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/008.jpg"
        },
        {
          "time": "20:27:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/009.jpg"
        },
        {
          "time": "20:27:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/010.jpg"
        },
        {
          "time": "20:27:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/011.jpg"
        },
        {
          "time": "20:27:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/012.jpg"
        },
        {
          "time": "20:27:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/013.jpg"
        },
        {
          "time": "20:27:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/014.jpg"
        },
        {
          "time": "20:27:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/015.jpg"
        },
        {
          "time": "20:27:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_136/016.jpg"
        },
        {
          "time": "20:27:10",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "20:27:12",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/3245/1731835"
        },
        {
          "time": "20:27:12",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/3245/1731835"
        },
        {
          "time": "20:27:18",
          "message": "  [i] 회차 제목: 오빠의 아내와 함께 살고 있습니다 135화 오빠의 아내와 함께…있습니다 135화"
        },
        {
          "time": "20:27:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/001.jpg"
        },
        {
          "time": "20:27:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/002.jpg"
        },
        {
          "time": "20:27:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/003.jpg"
        },
        {
          "time": "20:27:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/004.jpg"
        },
        {
          "time": "20:27:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/005.jpg"
        },
        {
          "time": "20:27:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/006.jpg"
        },
        {
          "time": "20:27:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/007.jpg"
        },
        {
          "time": "20:27:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/008.jpg"
        },
        {
          "time": "20:27:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/009.jpg"
        },
        {
          "time": "20:27:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/010.jpg"
        },
        {
          "time": "20:27:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/011.jpg"
        },
        {
          "time": "20:27:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/012.jpg"
        },
        {
          "time": "20:27:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/013.jpg"
        },
        {
          "time": "20:27:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/014.jpg"
        },
        {
          "time": "20:27:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/015.jpg"
        },
        {
          "time": "20:27:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_137/016.jpg"
        },
        {
          "time": "20:27:35",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "20:27:36",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/3245/1735280"
        },
        {
          "time": "20:27:36",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/3245/1735280"
        },
        {
          "time": "20:27:42",
          "message": "  [i] 회차 제목: 오빠의 아내와 함께 살고 있습니다 136화 오빠의 아내와 함께…있습니다 136화"
        },
        {
          "time": "20:27:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/001.jpg"
        },
        {
          "time": "20:27:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/002.jpg"
        },
        {
          "time": "20:27:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/003.jpg"
        },
        {
          "time": "20:27:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/004.jpg"
        },
        {
          "time": "20:27:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/005.jpg"
        },
        {
          "time": "20:27:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/006.jpg"
        },
        {
          "time": "20:27:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/007.jpg"
        },
        {
          "time": "20:27:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/008.jpg"
        },
        {
          "time": "20:27:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/009.jpg"
        },
        {
          "time": "20:27:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/010.jpg"
        },
        {
          "time": "20:27:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/011.jpg"
        },
        {
          "time": "20:27:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/012.jpg"
        },
        {
          "time": "20:27:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/013.jpg"
        },
        {
          "time": "20:28:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/014.jpg"
        },
        {
          "time": "20:28:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/015.jpg"
        },
        {
          "time": "20:28:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_3245/ep_138/016.jpg"
        },
        {
          "time": "20:28:03",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "20:28:05",
          "message": "완료: 회차 138개 처리, 이미지 2281개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 138)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 138)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:38:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:38:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:49:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:49:27"
        },
        {
          "time": "06:49:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:49:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:14:59",
          "message": "작품 제목: 3245"
        },
        {
          "time": "13:25:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:25:06"
        },
        {
          "time": "13:25:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:54:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #171"
        },
        {
          "time": "19:54:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:54:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오빠의 아내와 함께 살고 있습니다 - 쿠즈시로 | 뉴토끼, links=140"
        },
        {
          "time": "19:54:18",
          "message": "작품 제목: 오빠의 아내와 함께 살고 있습니다 - 쿠즈시로"
        },
        {
          "time": "19:54:18",
          "message": "메타데이터 태그 저장: 오빠의 아내와 함께 살고 있습니다, 쿠즈시로"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:03:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #885"
        },
        {
          "time": "05:03:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:04:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오빠의 아내와 함께 살고 있습니다 - 쿠즈시로 | 뉴토끼, links=141"
        },
        {
          "time": "05:04:08",
          "message": "작품 제목: 오빠의 아내와 함께 살고 있습니다 - 쿠즈시로"
        },
        {
          "time": "05:04:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #886"
        },
        {
          "time": "05:04:08",
          "message": "메타데이터 태그 저장: 오빠의 아내와 함께 살고 있습니다, 쿠즈시로"
        },
        {
          "time": "05:04:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:04:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=오빠의 아내와 함께 살고 있습니다 137화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "05:04:38",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:44:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #224"
        },
        {
          "time": "19:44:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:44:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오빠의 아내와 살고 있습니다 - 쿠즈시로 | 뉴토끼, links=142"
        },
        {
          "time": "19:45:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #225"
        },
        {
          "time": "19:45:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:45:24",
          "message": "작품 제목: 오빠의 아내와 살고 있습니다 - 쿠즈시로"
        },
        {
          "time": "19:45:24",
          "message": "메타데이터 태그 저장: 오빠의 아내와 살고 있습니다, 쿠즈시로"
        },
        {
          "time": "19:45:24",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "19:45:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=오빠의 아내와 살고 있습니다 138화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:08:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #433"
        },
        {
          "time": "11:08:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:08:43",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:08:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #434"
        },
        {
          "time": "11:08:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:08:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오빠의 아내와 살고 있습니다 - 쿠즈시로 | 뉴토끼, links=145"
        },
        {
          "time": "11:08:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #435"
        },
        {
          "time": "11:09:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:09:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=오빠의 아내와 살고 있습니다 139화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "11:09:31",
          "message": "작품 제목: 오빠의 아내와 살고 있습니다 - 쿠즈시로"
        },
        {
          "time": "11:09:31",
          "message": "메타데이터 태그 저장: 오빠의 아내와 살고 있습니다, 쿠즈시로"
        },
        {
          "time": "11:09:32",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "11:10:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #436"
        },
        {
          "time": "11:10:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:10:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=오빠의 아내와 살고 있습니다 140화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "11:10:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #437"
        },
        {
          "time": "11:10:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:11:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=오빠의 아내와 살고 있습니다 141화 | 뉴토끼, img_tags=35, image_urls=35"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:19:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1021"
        },
        {
          "time": "05:19:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:20:07",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:20:07",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:20:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1022"
        },
        {
          "time": "05:20:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:20:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오빠의 아내와 살고 있습니다 - 쿠즈시로 | 뉴토끼, links=146"
        },
        {
          "time": "05:20:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1023"
        },
        {
          "time": "05:21:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:21:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=오빠의 아내와 살고 있습니다 142화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "05:21:28",
          "message": "작품 제목: 오빠의 아내와 살고 있습니다 - 쿠즈시로"
        },
        {
          "time": "05:21:29",
          "message": "메타데이터 태그 저장: 오빠의 아내와 살고 있습니다, 쿠즈시로"
        },
        {
          "time": "05:21:29",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3245",
        "target_id": "manhwa_3245",
        "title": "오빠의 아내와 살고 있습니다 - 쿠즈시로",
        "episodes_found": 144,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 143,
        "images_found": 16,
        "images_downloaded": 16,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3245",
          "title": "오빠의 아내와 살고 있습니다 - 쿠즈시로",
          "list_url": "https://newtoki1.org/manhwa/3245",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3245"
          },
          "tags": [
            "오빠의 아내와 살고 있습니다",
            "쿠즈시로"
          ],
          "description": "키시베 시노, 고등학생. 17세. 부모님이 죽고, 반 년 전에 유일한 혈육이었던 오빠도 죽었습니다. 그런 저는 `오빠의 아내`인 노조미 씨와 함께 살고 있습니다. `남이지만 가족―` 그런 두 사람을 그려낸, 별나고, 서투르고, 그리고 조금씩 행복을 깨달아가는, 일상 센시티브 스토리",
          "metadata_path": "/downloads/manhwa_3245/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 144,
          "url": "https://newtoki1.org/manhwa/3245/u-mpu20fdm-s7tn",
          "title": "오빠의 아내와 살고 있습니다 142화",
          "status": "completed",
          "image_count": 16,
          "images_done": 16,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "e6a73190f8",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:20:34",
      "started_at": "2026-06-04T05:18:29",
      "finished_at": "2026-06-04T05:19:45",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "바키 시리즈 - 이타가키 케이스케",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8931",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8931",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "06:11:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_249/095.jpg"
        },
        {
          "time": "06:11:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_249/096.jpg"
        },
        {
          "time": "06:11:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_249/097.jpg"
        },
        {
          "time": "06:11:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_249/098.jpg"
        },
        {
          "time": "06:11:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_249/099.jpg"
        },
        {
          "time": "06:11:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_249/100.jpg"
        },
        {
          "time": "06:11:46",
          "message": "  [>] 이미지 100개 처리 완료.\n"
        },
        {
          "time": "06:11:48",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/8931/78012"
        },
        {
          "time": "06:11:48",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/8931/78012"
        },
        {
          "time": "06:11:55",
          "message": "  [i] 회차 제목: 바키 시리즈 2화 바키 1부 02권"
        },
        {
          "time": "06:11:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/001.jpg"
        },
        {
          "time": "06:11:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/002.jpg"
        },
        {
          "time": "06:11:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/003.jpg"
        },
        {
          "time": "06:11:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/004.jpg"
        },
        {
          "time": "06:12:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/005.jpg"
        },
        {
          "time": "06:12:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/006.jpg"
        },
        {
          "time": "06:12:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/007.jpg"
        },
        {
          "time": "06:12:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/008.jpg"
        },
        {
          "time": "06:12:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/009.jpg"
        },
        {
          "time": "06:12:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/010.jpg"
        },
        {
          "time": "06:12:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/011.jpg"
        },
        {
          "time": "06:12:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/012.jpg"
        },
        {
          "time": "06:12:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/013.jpg"
        },
        {
          "time": "06:12:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/014.jpg"
        },
        {
          "time": "06:12:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/015.jpg"
        },
        {
          "time": "06:12:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/016.jpg"
        },
        {
          "time": "06:12:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/017.jpg"
        },
        {
          "time": "06:12:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/018.jpg"
        },
        {
          "time": "06:12:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/019.jpg"
        },
        {
          "time": "06:12:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/020.jpg"
        },
        {
          "time": "06:12:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/021.jpg"
        },
        {
          "time": "06:12:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/022.jpg"
        },
        {
          "time": "06:12:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/023.jpg"
        },
        {
          "time": "06:12:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/024.jpg"
        },
        {
          "time": "06:12:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/025.jpg"
        },
        {
          "time": "06:12:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/026.jpg"
        },
        {
          "time": "06:12:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/027.jpg"
        },
        {
          "time": "06:12:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/028.jpg"
        },
        {
          "time": "06:12:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/029.jpg"
        },
        {
          "time": "06:12:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/030.jpg"
        },
        {
          "time": "06:12:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/031.jpg"
        },
        {
          "time": "06:12:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/032.jpg"
        },
        {
          "time": "06:12:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/033.jpg"
        },
        {
          "time": "06:12:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/034.jpg"
        },
        {
          "time": "06:12:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/035.jpg"
        },
        {
          "time": "06:12:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/036.jpg"
        },
        {
          "time": "06:12:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/037.jpg"
        },
        {
          "time": "06:12:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/038.jpg"
        },
        {
          "time": "06:12:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/039.jpg"
        },
        {
          "time": "06:12:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/040.jpg"
        },
        {
          "time": "06:12:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/041.jpg"
        },
        {
          "time": "06:12:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/042.jpg"
        },
        {
          "time": "06:12:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/043.jpg"
        },
        {
          "time": "06:12:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/044.jpg"
        },
        {
          "time": "06:12:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/045.jpg"
        },
        {
          "time": "06:12:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/046.jpg"
        },
        {
          "time": "06:12:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/047.jpg"
        },
        {
          "time": "06:12:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/048.jpg"
        },
        {
          "time": "06:12:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/049.jpg"
        },
        {
          "time": "06:12:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/050.jpg"
        },
        {
          "time": "06:12:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/051.jpg"
        },
        {
          "time": "06:12:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/052.jpg"
        },
        {
          "time": "06:12:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/053.jpg"
        },
        {
          "time": "06:12:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/054.jpg"
        },
        {
          "time": "06:12:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/055.jpg"
        },
        {
          "time": "06:12:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/056.jpg"
        },
        {
          "time": "06:12:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/057.jpg"
        },
        {
          "time": "06:12:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/058.jpg"
        },
        {
          "time": "06:13:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/059.jpg"
        },
        {
          "time": "06:13:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/060.jpg"
        },
        {
          "time": "06:13:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/061.jpg"
        },
        {
          "time": "06:13:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/062.jpg"
        },
        {
          "time": "06:13:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/063.jpg"
        },
        {
          "time": "06:13:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/064.jpg"
        },
        {
          "time": "06:13:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/065.jpg"
        },
        {
          "time": "06:13:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/066.jpg"
        },
        {
          "time": "06:13:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/067.jpg"
        },
        {
          "time": "06:13:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/068.jpg"
        },
        {
          "time": "06:13:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/069.jpg"
        },
        {
          "time": "06:13:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/070.jpg"
        },
        {
          "time": "06:13:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/071.jpg"
        },
        {
          "time": "06:13:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/072.jpg"
        },
        {
          "time": "06:13:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/073.jpg"
        },
        {
          "time": "06:13:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/074.jpg"
        },
        {
          "time": "06:13:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/075.jpg"
        },
        {
          "time": "06:13:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/076.jpg"
        },
        {
          "time": "06:13:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/077.jpg"
        },
        {
          "time": "06:13:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/078.jpg"
        },
        {
          "time": "06:13:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/079.jpg"
        },
        {
          "time": "06:13:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/080.jpg"
        },
        {
          "time": "06:13:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/081.jpg"
        },
        {
          "time": "06:13:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/082.jpg"
        },
        {
          "time": "06:13:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/083.jpg"
        },
        {
          "time": "06:13:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/084.jpg"
        },
        {
          "time": "06:13:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/085.jpg"
        },
        {
          "time": "06:13:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/086.jpg"
        },
        {
          "time": "06:13:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/087.jpg"
        },
        {
          "time": "06:13:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/088.jpg"
        },
        {
          "time": "06:13:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/089.jpg"
        },
        {
          "time": "06:13:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/090.jpg"
        },
        {
          "time": "06:13:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/091.jpg"
        },
        {
          "time": "06:13:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8931/ep_250/092.jpg"
        },
        {
          "time": "06:13:37",
          "message": "  [>] 이미지 92개 처리 완료.\n"
        },
        {
          "time": "06:13:38",
          "message": "완료: 회차 2개 처리, 이미지 131개 저장, 61개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 0, 회차 계획 250)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 0, 회차 계획 250)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:38:09",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:38:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:48:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:48:51"
        },
        {
          "time": "06:48:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:48:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:14:42",
          "message": "작품 제목: 8931"
        },
        {
          "time": "13:25:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:25:06"
        },
        {
          "time": "13:25:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:53:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #170"
        },
        {
          "time": "19:53:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:54:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바키 시리즈 - 이타가키 케이스케 | 뉴토끼, links=252"
        },
        {
          "time": "19:54:02",
          "message": "작품 제목: 바키 시리즈 - 이타가키 케이스케"
        },
        {
          "time": "19:54:03",
          "message": "메타데이터 태그 저장: 바키 시리즈, 이타가키 케이스케"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:06:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #887"
        },
        {
          "time": "05:06:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:06:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바키 시리즈 - 이타가키 케이스케 | 뉴토끼, links=252"
        },
        {
          "time": "05:06:36",
          "message": "작품 제목: 바키 시리즈 - 이타가키 케이스케"
        },
        {
          "time": "05:06:36",
          "message": "메타데이터 태그 저장: 바키 시리즈, 이타가키 케이스케"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:43:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #223"
        },
        {
          "time": "19:43:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:43:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바키 시리즈 - 이타가키 케이스케 | 뉴토끼, links=252"
        },
        {
          "time": "19:43:47",
          "message": "작품 제목: 바키 시리즈 - 이타가키 케이스케"
        },
        {
          "time": "19:43:47",
          "message": "메타데이터 태그 저장: 바키 시리즈, 이타가키 케이스케"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:12:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #438"
        },
        {
          "time": "11:12:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:13:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바키 시리즈 - 이타가키 케이스케 | 뉴토끼, links=252"
        },
        {
          "time": "11:13:29",
          "message": "작품 제목: 바키 시리즈 - 이타가키 케이스케"
        },
        {
          "time": "11:13:29",
          "message": "메타데이터 태그 저장: 바키 시리즈, 이타가키 케이스케"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:18:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1019"
        },
        {
          "time": "05:18:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:18:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:18:54",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:18:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1020"
        },
        {
          "time": "05:18:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:19:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바키 시리즈 - 이타가키 케이스케 | 뉴토끼, links=252"
        },
        {
          "time": "05:19:43",
          "message": "작품 제목: 바키 시리즈 - 이타가키 케이스케"
        },
        {
          "time": "05:19:44",
          "message": "메타데이터 태그 저장: 바키 시리즈, 이타가키 케이스케"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8931",
        "target_id": "manhwa_8931",
        "title": "바키 시리즈 - 이타가키 케이스케",
        "episodes_found": 250,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 250,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8931",
          "title": "바키 시리즈 - 이타가키 케이스케",
          "list_url": "https://newtoki1.org/manhwa/8931",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8931"
          },
          "tags": [
            "바키 시리즈",
            "이타가키 케이스케"
          ],
          "description": "격투사!! 더욱 강한 격투사가 되기 위해 소년은 섬광처럼 달려간다!! 지금 시작되는 진정한 격투의 전설!!",
          "metadata_path": "/downloads/manhwa_8931/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 250,
        "total": 250,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "daa1542b00",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:20:07",
      "started_at": "2026-06-04T05:17:47",
      "finished_at": "2026-06-04T05:18:28",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "용랑전 2부 - 야마하라 요시토",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8681",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8681",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "23:30:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/001.jpg"
        },
        {
          "time": "23:30:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/002.jpg"
        },
        {
          "time": "23:30:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/003.jpg"
        },
        {
          "time": "23:30:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/004.jpg"
        },
        {
          "time": "23:30:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/005.jpg"
        },
        {
          "time": "23:30:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/006.jpg"
        },
        {
          "time": "23:30:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/007.jpg"
        },
        {
          "time": "23:30:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/008.jpg"
        },
        {
          "time": "23:30:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/009.jpg"
        },
        {
          "time": "23:30:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/010.jpg"
        },
        {
          "time": "23:30:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/011.jpg"
        },
        {
          "time": "23:30:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/012.jpg"
        },
        {
          "time": "23:30:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/013.jpg"
        },
        {
          "time": "23:30:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/014.jpg"
        },
        {
          "time": "23:30:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/015.jpg"
        },
        {
          "time": "23:30:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/016.jpg"
        },
        {
          "time": "23:30:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/017.jpg"
        },
        {
          "time": "23:30:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/018.jpg"
        },
        {
          "time": "23:30:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/019.jpg"
        },
        {
          "time": "23:30:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/020.jpg"
        },
        {
          "time": "23:30:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/021.jpg"
        },
        {
          "time": "23:30:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/022.jpg"
        },
        {
          "time": "23:30:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/023.jpg"
        },
        {
          "time": "23:30:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/024.jpg"
        },
        {
          "time": "23:30:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/025.jpg"
        },
        {
          "time": "23:30:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/026.jpg"
        },
        {
          "time": "23:30:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/027.jpg"
        },
        {
          "time": "23:30:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/028.jpg"
        },
        {
          "time": "23:30:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/029.jpg"
        },
        {
          "time": "23:30:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/030.jpg"
        },
        {
          "time": "23:30:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/031.jpg"
        },
        {
          "time": "23:30:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/032.jpg"
        },
        {
          "time": "23:30:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/033.jpg"
        },
        {
          "time": "23:30:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/034.jpg"
        },
        {
          "time": "23:30:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/035.jpg"
        },
        {
          "time": "23:30:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/036.jpg"
        },
        {
          "time": "23:31:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/037.jpg"
        },
        {
          "time": "23:31:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/038.jpg"
        },
        {
          "time": "23:31:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/039.jpg"
        },
        {
          "time": "23:31:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/040.jpg"
        },
        {
          "time": "23:31:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/041.jpg"
        },
        {
          "time": "23:31:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/042.jpg"
        },
        {
          "time": "23:31:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/043.jpg"
        },
        {
          "time": "23:31:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/044.jpg"
        },
        {
          "time": "23:31:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/045.jpg"
        },
        {
          "time": "23:31:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/046.jpg"
        },
        {
          "time": "23:31:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/047.jpg"
        },
        {
          "time": "23:31:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/048.jpg"
        },
        {
          "time": "23:31:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/049.jpg"
        },
        {
          "time": "23:31:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_100/050.jpg"
        },
        {
          "time": "23:31:16",
          "message": "  [>] 이미지 50개 처리 완료.\n"
        },
        {
          "time": "23:31:17",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/8681/72608"
        },
        {
          "time": "23:31:17",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/8681/72608"
        },
        {
          "time": "23:31:24",
          "message": "  [i] 회차 제목: 용랑전 2부 2화 중…란편 1권 - 후"
        },
        {
          "time": "23:31:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/001.jpg"
        },
        {
          "time": "23:31:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/002.jpg"
        },
        {
          "time": "23:31:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/003.jpg"
        },
        {
          "time": "23:31:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/004.jpg"
        },
        {
          "time": "23:31:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/005.jpg"
        },
        {
          "time": "23:31:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/006.jpg"
        },
        {
          "time": "23:31:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/007.jpg"
        },
        {
          "time": "23:31:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/008.jpg"
        },
        {
          "time": "23:31:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/009.jpg"
        },
        {
          "time": "23:31:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/010.jpg"
        },
        {
          "time": "23:31:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/011.jpg"
        },
        {
          "time": "23:31:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/012.jpg"
        },
        {
          "time": "23:31:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/013.jpg"
        },
        {
          "time": "23:31:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/014.jpg"
        },
        {
          "time": "23:31:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/015.jpg"
        },
        {
          "time": "23:31:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/016.jpg"
        },
        {
          "time": "23:31:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/017.jpg"
        },
        {
          "time": "23:31:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/018.jpg"
        },
        {
          "time": "23:31:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/019.jpg"
        },
        {
          "time": "23:31:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/020.jpg"
        },
        {
          "time": "23:31:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/021.jpg"
        },
        {
          "time": "23:31:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/022.jpg"
        },
        {
          "time": "23:31:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/023.jpg"
        },
        {
          "time": "23:31:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/024.jpg"
        },
        {
          "time": "23:31:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/025.jpg"
        },
        {
          "time": "23:31:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/026.jpg"
        },
        {
          "time": "23:31:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/027.jpg"
        },
        {
          "time": "23:31:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/028.jpg"
        },
        {
          "time": "23:31:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/029.jpg"
        },
        {
          "time": "23:31:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/030.jpg"
        },
        {
          "time": "23:32:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/031.jpg"
        },
        {
          "time": "23:32:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/032.jpg"
        },
        {
          "time": "23:32:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/033.jpg"
        },
        {
          "time": "23:32:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/034.jpg"
        },
        {
          "time": "23:32:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/035.jpg"
        },
        {
          "time": "23:32:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/036.jpg"
        },
        {
          "time": "23:32:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/037.jpg"
        },
        {
          "time": "23:32:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/038.jpg"
        },
        {
          "time": "23:32:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/039.jpg"
        },
        {
          "time": "23:32:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/040.jpg"
        },
        {
          "time": "23:32:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/041.jpg"
        },
        {
          "time": "23:32:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/042.jpg"
        },
        {
          "time": "23:32:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/043.jpg"
        },
        {
          "time": "23:32:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/044.jpg"
        },
        {
          "time": "23:32:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_8681/ep_101/045.jpg"
        },
        {
          "time": "23:32:17",
          "message": "  [>] 이미지 45개 처리 완료.\n"
        },
        {
          "time": "23:32:18",
          "message": "완료: 회차 101개 처리, 이미지 2794개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 101)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 101)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:23:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:24:01",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:34:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:34:31"
        },
        {
          "time": "06:34:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:34:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:14:34",
          "message": "작품 제목: 8681"
        },
        {
          "time": "13:25:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:25:06"
        },
        {
          "time": "13:25:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:53:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #169"
        },
        {
          "time": "19:53:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:53:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=용랑전 2부 - 야마하라 요시토 | 뉴토끼, links=103"
        },
        {
          "time": "19:53:43",
          "message": "작품 제목: 용랑전 2부 - 야마하라 요시토"
        },
        {
          "time": "19:53:43",
          "message": "메타데이터 태그 저장: 야마하라 요시토, 용랑전 2부"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:07:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #888"
        },
        {
          "time": "05:07:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:07:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=용랑전 2부 - 야마하라 요시토 | 뉴토끼, links=103"
        },
        {
          "time": "05:07:49",
          "message": "작품 제목: 용랑전 2부 - 야마하라 요시토"
        },
        {
          "time": "05:07:49",
          "message": "메타데이터 태그 저장: 야마하라 요시토, 용랑전 2부"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:43:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #222"
        },
        {
          "time": "19:43:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:43:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=용랑전 2부 - 야마하라 요시토 | 뉴토끼, links=103"
        },
        {
          "time": "19:43:28",
          "message": "작품 제목: 용랑전 2부 - 야마하라 요시토"
        },
        {
          "time": "19:43:29",
          "message": "메타데이터 태그 저장: 야마하라 요시토, 용랑전 2부"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:13:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #439"
        },
        {
          "time": "11:13:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:13:52",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:13:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #440"
        },
        {
          "time": "11:13:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:14:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=용랑전 2부 - 야마하라 요시토 | 뉴토끼, links=103"
        },
        {
          "time": "11:14:08",
          "message": "작품 제목: 용랑전 2부 - 야마하라 요시토"
        },
        {
          "time": "11:14:08",
          "message": "메타데이터 태그 저장: 야마하라 요시토, 용랑전 2부"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:17:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1017"
        },
        {
          "time": "05:17:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:18:11",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:18:12",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:18:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1018"
        },
        {
          "time": "05:18:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:18:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=용랑전 2부 - 야마하라 요시토 | 뉴토끼, links=103"
        },
        {
          "time": "05:18:27",
          "message": "작품 제목: 용랑전 2부 - 야마하라 요시토"
        },
        {
          "time": "05:18:28",
          "message": "메타데이터 태그 저장: 야마하라 요시토, 용랑전 2부"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8681",
        "target_id": "manhwa_8681",
        "title": "용랑전 2부 - 야마하라 요시토",
        "episodes_found": 101,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 101,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8681",
          "title": "용랑전 2부 - 야마하라 요시토",
          "list_url": "https://newtoki1.org/manhwa/8681",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8681"
          },
          "tags": [
            "야마하라 요시토",
            "용랑전 2부"
          ],
          "description": "자신의 나라를 세우기 위해 「용의 아이가 죽었다」는 소문을 퍼뜨리고 모습을 감춘 시로. 신산에서 용기병과 혹독한 수련을 거쳐 도달한 신야 땅에서 기다리고 있는 것은 새로운 `용의 아이` 였다…. 한편, 도성에서는 용랑랑(마스미)을 황제에 즉위시키자고 주장하는 `수덕당`이라는 무리가 암약",
          "metadata_path": "/downloads/manhwa_8681/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 101,
        "total": 101,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "2a5acdcea5",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:20:02",
      "started_at": "2026-06-04T05:15:08",
      "finished_at": "2026-06-04T05:17:47",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "누나로그 - 타구치 켄지",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/2592",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_2592",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "07:14:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/037.jpg"
        },
        {
          "time": "07:14:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/038.jpg"
        },
        {
          "time": "07:14:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/039.jpg"
        },
        {
          "time": "07:14:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/040.jpg"
        },
        {
          "time": "07:14:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/041.jpg"
        },
        {
          "time": "07:14:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/042.jpg"
        },
        {
          "time": "07:14:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/043.jpg"
        },
        {
          "time": "07:14:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/044.jpg"
        },
        {
          "time": "07:14:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/045.jpg"
        },
        {
          "time": "07:14:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/046.jpg"
        },
        {
          "time": "07:14:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/047.jpg"
        },
        {
          "time": "07:14:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/048.jpg"
        },
        {
          "time": "07:14:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/049.jpg"
        },
        {
          "time": "07:14:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/050.jpg"
        },
        {
          "time": "07:14:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/051.jpg"
        },
        {
          "time": "07:14:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/052.jpg"
        },
        {
          "time": "07:14:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/053.jpg"
        },
        {
          "time": "07:14:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/054.jpg"
        },
        {
          "time": "07:14:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/055.jpg"
        },
        {
          "time": "07:14:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/056.jpg"
        },
        {
          "time": "07:14:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/057.jpg"
        },
        {
          "time": "07:14:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/058.jpg"
        },
        {
          "time": "07:14:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/059.jpg"
        },
        {
          "time": "07:14:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/060.jpg"
        },
        {
          "time": "07:14:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/061.jpg"
        },
        {
          "time": "07:14:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/062.jpg"
        },
        {
          "time": "07:14:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/063.jpg"
        },
        {
          "time": "07:14:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/064.jpg"
        },
        {
          "time": "07:14:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/065.jpg"
        },
        {
          "time": "07:14:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/066.jpg"
        },
        {
          "time": "07:14:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/067.jpg"
        },
        {
          "time": "07:14:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/068.jpg"
        },
        {
          "time": "07:15:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/069.jpg"
        },
        {
          "time": "07:15:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/070.jpg"
        },
        {
          "time": "07:15:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/071.jpg"
        },
        {
          "time": "07:15:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/072.jpg"
        },
        {
          "time": "07:15:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/073.jpg"
        },
        {
          "time": "07:15:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/074.jpg"
        },
        {
          "time": "07:15:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/075.jpg"
        },
        {
          "time": "07:15:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/076.jpg"
        },
        {
          "time": "07:15:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/077.jpg"
        },
        {
          "time": "07:15:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/078.jpg"
        },
        {
          "time": "07:15:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/079.jpg"
        },
        {
          "time": "07:15:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/080.jpg"
        },
        {
          "time": "07:15:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/081.jpg"
        },
        {
          "time": "07:15:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/082.jpg"
        },
        {
          "time": "07:15:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/083.jpg"
        },
        {
          "time": "07:15:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/084.jpg"
        },
        {
          "time": "07:15:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/085.jpg"
        },
        {
          "time": "07:15:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/086.jpg"
        },
        {
          "time": "07:15:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/087.jpg"
        },
        {
          "time": "07:15:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_2592/ep_132/088.jpg"
        },
        {
          "time": "07:15:19",
          "message": "  [>] 이미지 88/88개 처리 완료.\n"
        },
        {
          "time": "07:15:20",
          "message": "완료: 회차 132개 처리, 이미지 1048개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 132)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:03:24",
          "message": "작품 제목: 2592"
        },
        {
          "time": "06:13:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:13:27"
        },
        {
          "time": "06:13:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:13:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:14:27",
          "message": "작품 제목: 2592"
        },
        {
          "time": "13:25:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:25:06"
        },
        {
          "time": "13:25:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:51:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #165"
        },
        {
          "time": "19:51:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:52:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누나로그 - 타구치 켄지 | 뉴토끼, links=134"
        },
        {
          "time": "19:52:00",
          "message": "작품 제목: 누나로그 - 타구치 켄지"
        },
        {
          "time": "19:52:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #166"
        },
        {
          "time": "19:52:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:52:00",
          "message": "메타데이터 태그 저장: 누나로그, 타구치 켄지"
        },
        {
          "time": "19:52:00",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "19:52:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 58화 누나 로그58화 | 뉴토끼, images=27"
        },
        {
          "time": "19:52:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #167"
        },
        {
          "time": "19:52:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:52:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 65화 누나 로그65화 | 뉴토끼, images=27"
        },
        {
          "time": "19:52:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #168"
        },
        {
          "time": "19:52:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:53:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 111화 | 뉴토끼, images=27"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:07:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #889"
        },
        {
          "time": "05:07:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:08:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누나로그 - 타구치 켄지 | 뉴토끼, links=134"
        },
        {
          "time": "05:08:06",
          "message": "작품 제목: 누나로그 - 타구치 켄지"
        },
        {
          "time": "05:08:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #890"
        },
        {
          "time": "05:08:06",
          "message": "메타데이터 태그 저장: 누나로그, 타구치 켄지"
        },
        {
          "time": "05:08:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:08:06",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "05:08:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 58화 누나 로그58화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:09:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #891"
        },
        {
          "time": "05:09:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:09:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #892"
        },
        {
          "time": "05:09:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:09:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 65화 누나 로그65화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:10:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #893"
        },
        {
          "time": "05:10:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:10:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 111화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:41:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #218"
        },
        {
          "time": "19:41:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:42:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누나로그 - 타구치 켄지 | 뉴토끼, links=134"
        },
        {
          "time": "19:42:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #219"
        },
        {
          "time": "19:42:06",
          "message": "작품 제목: 누나로그 - 타구치 켄지"
        },
        {
          "time": "19:42:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:42:06",
          "message": "메타데이터 태그 저장: 누나로그, 타구치 켄지"
        },
        {
          "time": "19:42:06",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "19:42:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 58화 누나 로그58화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:42:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #220"
        },
        {
          "time": "19:42:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:42:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 65화 누나 로그65화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:42:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #221"
        },
        {
          "time": "19:42:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:42:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 111화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:15:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #441"
        },
        {
          "time": "11:15:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:15:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누나로그 - 타구치 켄지 | 뉴토끼, links=134"
        },
        {
          "time": "11:16:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #442"
        },
        {
          "time": "11:16:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:16:05",
          "message": "작품 제목: 누나로그 - 타구치 켄지"
        },
        {
          "time": "11:16:06",
          "message": "메타데이터 태그 저장: 누나로그, 타구치 켄지"
        },
        {
          "time": "11:16:06",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "11:16:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 58화 누나 로그58화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "11:16:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #443"
        },
        {
          "time": "11:16:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:16:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 65화 누나 로그65화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "11:16:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #444"
        },
        {
          "time": "11:16:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:17:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 111화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:15:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1012"
        },
        {
          "time": "05:15:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:16:00",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:16:00",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:16:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1013"
        },
        {
          "time": "05:16:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:16:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누나로그 - 타구치 켄지 | 뉴토끼, links=134"
        },
        {
          "time": "05:16:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1014"
        },
        {
          "time": "05:16:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:16:46",
          "message": "작품 제목: 누나로그 - 타구치 켄지"
        },
        {
          "time": "05:16:47",
          "message": "메타데이터 태그 저장: 누나로그, 타구치 켄지"
        },
        {
          "time": "05:16:48",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "05:16:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 58화 누나 로그58화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:16:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1015"
        },
        {
          "time": "05:16:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:17:04",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 65화 누나 로그65화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:17:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1016"
        },
        {
          "time": "05:17:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:17:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=누나로그 111화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 3)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_2592",
        "target_id": "manhwa_2592",
        "title": "누나로그 - 타구치 켄지",
        "episodes_found": 132,
        "episodes_processed": 3,
        "episodes_failed": 0,
        "episodes_skipped": 129,
        "images_found": 6,
        "images_downloaded": 0,
        "images_skipped": 6,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_2592",
          "title": "누나로그 - 타구치 켄지",
          "list_url": "https://newtoki1.org/manhwa/2592",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/2592"
          },
          "tags": [
            "누나로그",
            "타구치 켄지"
          ],
          "description": "모야코 누나의 멈추지 않는 모놀로그『누나 로그』제1권. 어릴 때부터 그런 야릇하기 짝이 없는 성적 취향을 갖고 있었다니. 완전히 심각한 누나 모에 잖아! 누나가 몸을 담갔던 물! 진짜 목적은 이쪽이야!! 이…이런… 천하의 변태를 봤나!!",
          "metadata_path": "/downloads/manhwa_2592/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 3,
        "total": 3,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 58,
          "url": "https://newtoki1.org/manhwa/2592/227416",
          "title": "누나로그 58화 누나 로그58화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 65,
          "url": "https://newtoki1.org/manhwa/2592/229293",
          "title": "누나로그 65화 누나 로그65화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 111,
          "url": "https://newtoki1.org/manhwa/2592/1693600",
          "title": "누나로그 111화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "268213e22f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:19:56",
      "started_at": "2026-06-04T05:14:15",
      "finished_at": "2026-06-04T05:15:08",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "시마 회장 - 히로카네 켄시",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/23287",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_23287",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:03:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:03:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:05:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:05:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:15:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:15:23"
        },
        {
          "time": "08:15:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:15:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:15:29",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:15:32",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:26:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:26:23"
        },
        {
          "time": "08:26:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:26:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:28:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:28:34",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:39:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:39:11"
        },
        {
          "time": "08:39:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:39:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:41:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:41:44",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:52:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:52:15"
        },
        {
          "time": "08:52:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:52:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:52:16",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:52:19",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:02:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:02:39"
        },
        {
          "time": "09:02:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:02:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:02:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:02:49",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:12:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:12:59"
        },
        {
          "time": "09:12:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:12:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:14:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:14:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:24:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:24:20"
        },
        {
          "time": "09:24:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:24:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:25:03",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:25:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:35:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:35:25"
        },
        {
          "time": "09:35:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:35:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:36:58",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:37:01",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:47:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:47:32"
        },
        {
          "time": "09:47:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:47:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:48:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:48:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:58:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:58:43"
        },
        {
          "time": "09:58:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:58:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:00:38",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:01:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:11:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:11:26"
        },
        {
          "time": "10:11:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:11:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:14:01",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:14:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:25:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:25:10"
        },
        {
          "time": "10:25:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:25:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:25:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:25:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:35:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:35:45"
        },
        {
          "time": "10:35:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:35:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:36:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:36:39",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:47:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:47:07"
        },
        {
          "time": "10:47:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:47:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:47:48",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:47:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:57:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:57:53"
        },
        {
          "time": "10:57:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:57:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:57:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:57:57",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:08:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:08:16"
        },
        {
          "time": "11:08:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:08:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:08:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:09:59",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:19:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:19:59"
        },
        {
          "time": "11:19:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:19:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:20:00",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:20:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:30:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:30:12"
        },
        {
          "time": "11:30:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:30:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:31:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:31:48",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:42:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:42:04"
        },
        {
          "time": "11:42:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:42:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:42:51",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:43:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:53:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:53:35"
        },
        {
          "time": "11:53:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:53:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:54:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:54:47",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:04:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:04:47"
        },
        {
          "time": "12:04:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:04:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:04:48",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:05:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:15:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:15:31"
        },
        {
          "time": "12:15:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:15:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:15:56",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:16:32",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:28:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:27:43"
        },
        {
          "time": "12:28:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:28:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:05",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:14:21",
          "message": "작품 제목: 23287"
        },
        {
          "time": "13:25:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:25:06"
        },
        {
          "time": "13:25:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:25:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:51:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #164"
        },
        {
          "time": "19:51:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:51:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마 회장 - 히로카네 켄시 | 뉴토끼, links=133"
        },
        {
          "time": "19:51:44",
          "message": "작품 제목: 시마 회장 - 히로카네 켄시"
        },
        {
          "time": "19:51:45",
          "message": "메타데이터 태그 저장: 시마 회장, 히로카네 켄시"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:11:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #894"
        },
        {
          "time": "05:11:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:11:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마 회장 - 히로카네 켄시 | 뉴토끼, links=133"
        },
        {
          "time": "05:11:58",
          "message": "작품 제목: 시마 회장 - 히로카네 켄시"
        },
        {
          "time": "05:11:58",
          "message": "메타데이터 태그 저장: 시마 회장, 히로카네 켄시"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:41:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #217"
        },
        {
          "time": "19:41:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:41:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마 회장 - 히로카네 켄시 | 뉴토끼, links=133"
        },
        {
          "time": "19:41:50",
          "message": "작품 제목: 시마 회장 - 히로카네 켄시"
        },
        {
          "time": "19:41:50",
          "message": "메타데이터 태그 저장: 시마 회장, 히로카네 켄시"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:18:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #445"
        },
        {
          "time": "11:18:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:19:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마 회장 - 히로카네 켄시 | 뉴토끼, links=133"
        },
        {
          "time": "11:19:56",
          "message": "작품 제목: 시마 회장 - 히로카네 켄시"
        },
        {
          "time": "11:19:56",
          "message": "메타데이터 태그 저장: 시마 회장, 히로카네 켄시"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:14:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1011"
        },
        {
          "time": "05:14:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:15:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=시마 회장 - 히로카네 켄시 | 뉴토끼, links=133"
        },
        {
          "time": "05:15:06",
          "message": "작품 제목: 시마 회장 - 히로카네 켄시"
        },
        {
          "time": "05:15:07",
          "message": "메타데이터 태그 저장: 시마 회장, 히로카네 켄시"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23287",
        "target_id": "manhwa_23287",
        "title": "시마 회장 - 히로카네 켄시",
        "episodes_found": 131,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 131,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23287",
          "title": "시마 회장 - 히로카네 켄시",
          "list_url": "https://newtoki1.org/manhwa/23287",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23287"
          },
          "tags": [
            "시마 회장",
            "히로카네 켄시"
          ],
          "description": "경제 단체의 농업 위원회에 소속되어 일본 농업 개혁을 위해 전력을 다하는 시마 코사쿠는, 세계의 차세대 농업을 견인하고 있는 네덜란드의 최첨단 기술을 시찰하며 돌아다닌다. 네덜란드에서 발발한 라이벌 회사 ‘솔라’ 사장과의 ‘갈등’, ‘쇼윈도’에서 일어난 어떤 사건. 그리고 귀국 후에",
          "metadata_path": "/downloads/manhwa_23287/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 131,
        "total": 131,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "5b9f7fa62f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:19:18",
      "started_at": "2026-06-04T05:13:08",
      "finished_at": "2026-06-04T05:14:15",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "메메메메메메메메메멘헤라아 - 쿠리챠",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/7514",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_7514",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "15:45:09",
          "message": "[!] 뷰어 접속 실패: HTTP 404 https://sbxh1.com/manhwa/7514/56942 https://sbxh1.com/manhwa/7514/56942"
        },
        {
          "time": "15:45:10",
          "message": "완료: 회차 0개 처리, 이미지 0개 저장, 0개 건너뜀"
        },
        {
          "time": "15:48:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-16T15:47:01"
        },
        {
          "time": "15:48:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:30:42",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "11:31:38",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "11:31:57",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "11:32:05",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "11:32:09",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "11:32:11",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/7514"
        },
        {
          "time": "11:32:13",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7514"
        },
        {
          "time": "11:32:20",
          "message": "작품 제목: 메메메메메메메메메멘헤라아 - 쿠리챠"
        },
        {
          "time": "11:32:20",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "11:32:20",
          "message": "총 4개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "11:32:20",
          "message": "[dry-run] 파일은 저장하지 않습니다."
        },
        {
          "time": "11:32:20",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7514/56945"
        },
        {
          "time": "11:32:20",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7514/56945"
        },
        {
          "time": "11:32:28",
          "message": "  [i] 회차 제목: 메메메메메메메메메멘헤라아 1화"
        },
        {
          "time": "11:32:28",
          "message": "  [dry-run] 이미지 19개 확인"
        },
        {
          "time": "11:32:28",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7514/56944"
        },
        {
          "time": "11:32:28",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7514/56944"
        },
        {
          "time": "11:32:34",
          "message": "  [i] 회차 제목: 메메메메메메메메메멘헤라아 2화"
        },
        {
          "time": "11:32:34",
          "message": "  [dry-run] 이미지 8개 확인"
        },
        {
          "time": "11:32:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7514/56943"
        },
        {
          "time": "11:32:34",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7514/56943"
        },
        {
          "time": "11:32:41",
          "message": "  [i] 회차 제목: 메메메메메메메메메멘헤라아 3화"
        },
        {
          "time": "11:32:41",
          "message": "  [dry-run] 이미지 6개 확인"
        },
        {
          "time": "11:32:41",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7514/56942"
        },
        {
          "time": "11:32:41",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7514/56942"
        },
        {
          "time": "11:32:48",
          "message": "  [i] 회차 제목: 메메메메메메메메메멘헤라아 4화"
        },
        {
          "time": "11:32:48",
          "message": "  [dry-run] 이미지 6개 확인"
        },
        {
          "time": "11:32:48",
          "message": "완료: 회차 4개 처리, 이미지 0개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:13:37",
          "message": "dry-run 검증 완료 작업을 실제 저장 모드로 다시 대기열에 추가했습니다: 2026-05-17T15:13:37"
        },
        {
          "time": "19:19:23",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "19:20:26",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "19:20:26",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "19:20:26",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "19:20:26",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "19:20:26",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/7514"
        },
        {
          "time": "19:20:26",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7514"
        },
        {
          "time": "19:20:31",
          "message": "작품 제목: 메메메메메메메메메멘헤라아 - 쿠리챠"
        },
        {
          "time": "19:20:31",
          "message": "메타데이터 저장: /downloads/manhwa_7514/metadata.yaml"
        },
        {
          "time": "19:20:31",
          "message": "메타데이터 태그 저장: 메메메메메메메메메멘헤라아, 쿠리챠"
        },
        {
          "time": "19:20:32",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "19:20:32",
          "message": "총 4개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "19:20:32",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7514/56945"
        },
        {
          "time": "19:20:32",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7514/56945"
        },
        {
          "time": "19:20:37",
          "message": "  [i] 회차 제목: 메메메메메메메메메멘헤라아 1화"
        },
        {
          "time": "19:20:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/001.jpg"
        },
        {
          "time": "19:20:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/002.jpg"
        },
        {
          "time": "19:20:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/003.jpg"
        },
        {
          "time": "19:20:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/004.jpg"
        },
        {
          "time": "19:20:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/005.jpg"
        },
        {
          "time": "19:20:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/006.jpg"
        },
        {
          "time": "19:20:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/007.jpg"
        },
        {
          "time": "19:20:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/008.jpg"
        },
        {
          "time": "19:20:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/009.jpg"
        },
        {
          "time": "19:20:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/010.jpg"
        },
        {
          "time": "19:20:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/011.jpg"
        },
        {
          "time": "19:20:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/012.jpg"
        },
        {
          "time": "19:20:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/013.jpg"
        },
        {
          "time": "19:20:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/014.jpg"
        },
        {
          "time": "19:20:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/015.jpg"
        },
        {
          "time": "19:20:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/016.jpg"
        },
        {
          "time": "19:20:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/017.jpg"
        },
        {
          "time": "19:20:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/018.jpg"
        },
        {
          "time": "19:20:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_001/019.jpg"
        },
        {
          "time": "19:20:58",
          "message": "  [>] 이미지 19개 처리 완료.\n"
        },
        {
          "time": "19:20:59",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7514/56944"
        },
        {
          "time": "19:20:59",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7514/56944"
        },
        {
          "time": "19:21:04",
          "message": "  [i] 회차 제목: 메메메메메메메메메멘헤라아 2화"
        },
        {
          "time": "19:21:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_002/001.jpg"
        },
        {
          "time": "19:21:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_002/002.jpg"
        },
        {
          "time": "19:21:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_002/003.jpg"
        },
        {
          "time": "19:21:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_002/004.jpg"
        },
        {
          "time": "19:21:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_002/005.jpg"
        },
        {
          "time": "19:21:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_002/006.jpg"
        },
        {
          "time": "19:21:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_002/007.jpg"
        },
        {
          "time": "19:21:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_002/008.jpg"
        },
        {
          "time": "19:21:17",
          "message": "  [>] 이미지 8개 처리 완료.\n"
        },
        {
          "time": "19:21:18",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7514/56943"
        },
        {
          "time": "19:21:18",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7514/56943"
        },
        {
          "time": "19:21:23",
          "message": "  [i] 회차 제목: 메메메메메메메메메멘헤라아 3화"
        },
        {
          "time": "19:21:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_003/001.jpg"
        },
        {
          "time": "19:21:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_003/002.jpg"
        },
        {
          "time": "19:21:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_003/003.jpg"
        },
        {
          "time": "19:21:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_003/004.jpg"
        },
        {
          "time": "19:21:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_003/005.jpg"
        },
        {
          "time": "19:21:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_003/006.jpg"
        },
        {
          "time": "19:21:30",
          "message": "  [>] 이미지 6개 처리 완료.\n"
        },
        {
          "time": "19:21:31",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7514/56942"
        },
        {
          "time": "19:21:31",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7514/56942"
        },
        {
          "time": "19:21:36",
          "message": "  [i] 회차 제목: 메메메메메메메메메멘헤라아 4화"
        },
        {
          "time": "19:21:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_004/001.jpg"
        },
        {
          "time": "19:21:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_004/002.jpg"
        },
        {
          "time": "19:21:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_004/003.jpg"
        },
        {
          "time": "19:21:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_004/004.jpg"
        },
        {
          "time": "19:21:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_004/005.jpg"
        },
        {
          "time": "19:21:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_7514/ep_004/006.jpg"
        },
        {
          "time": "19:21:43",
          "message": "  [>] 이미지 6개 처리 완료.\n"
        },
        {
          "time": "19:21:44",
          "message": "완료: 회차 4개 처리, 이미지 39개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 4)"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 4)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:38:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:39:28",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:49:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:49:31"
        },
        {
          "time": "06:49:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:49:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:14:05",
          "message": "작품 제목: 7514"
        },
        {
          "time": "13:24:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:24:07"
        },
        {
          "time": "13:24:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:24:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:50:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #163"
        },
        {
          "time": "19:50:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:50:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메메메메메메메메메멘헤라아 - 쿠리챠 | 뉴토끼, links=6"
        },
        {
          "time": "19:51:30",
          "message": "작품 제목: 메메메메메메메메메멘헤라아 - 쿠리챠"
        },
        {
          "time": "19:51:30",
          "message": "메타데이터 태그 저장: 메메메메메메메메메멘헤라아, 쿠리챠"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:12:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #895"
        },
        {
          "time": "05:12:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:12:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메메메메메메메메메멘헤라아 - 쿠리챠 | 뉴토끼, links=6"
        },
        {
          "time": "05:12:43",
          "message": "작품 제목: 메메메메메메메메메멘헤라아 - 쿠리챠"
        },
        {
          "time": "05:12:43",
          "message": "메타데이터 태그 저장: 메메메메메메메메메멘헤라아, 쿠리챠"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:40:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #216"
        },
        {
          "time": "19:40:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:40:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메메메메메메메메메멘헤라아 - 쿠리챠 | 뉴토끼, links=6"
        },
        {
          "time": "19:41:34",
          "message": "작품 제목: 메메메메메메메메메멘헤라아 - 쿠리챠"
        },
        {
          "time": "19:41:34",
          "message": "메타데이터 태그 저장: 메메메메메메메메메멘헤라아, 쿠리챠"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:19:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #446"
        },
        {
          "time": "11:19:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:20:20",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:20:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #447"
        },
        {
          "time": "11:20:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:20:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메메메메메메메메메멘헤라아 - 쿠리챠 | 뉴토끼, links=6"
        },
        {
          "time": "11:21:06",
          "message": "작품 제목: 메메메메메메메메메멘헤라아 - 쿠리챠"
        },
        {
          "time": "11:21:07",
          "message": "메타데이터 태그 저장: 메메메메메메메메메멘헤라아, 쿠리챠"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:13:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1009"
        },
        {
          "time": "05:13:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:14:02",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:14:02",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:14:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1010"
        },
        {
          "time": "05:14:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:14:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=메메메메메메메메메멘헤라아 - 쿠리챠 | 뉴토끼, links=6"
        },
        {
          "time": "05:14:13",
          "message": "작품 제목: 메메메메메메메메메멘헤라아 - 쿠리챠"
        },
        {
          "time": "05:14:14",
          "message": "메타데이터 태그 저장: 메메메메메메메메메멘헤라아, 쿠리챠"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_7514",
        "target_id": "manhwa_7514",
        "title": "메메메메메메메메메멘헤라아 - 쿠리챠",
        "episodes_found": 4,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 4,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_7514",
          "title": "메메메메메메메메메멘헤라아 - 쿠리챠",
          "list_url": "https://newtoki1.org/manhwa/7514",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/7514"
          },
          "tags": [
            "메메메메메메메메메멘헤라아",
            "쿠리챠"
          ],
          "description": "메메메메메메메메메멘헤라아 (쿠리챠)",
          "metadata_path": "/downloads/manhwa_7514/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 4,
        "total": 4,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "88f9be0212",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:18:45",
      "started_at": "2026-06-04T05:11:26",
      "finished_at": "2026-06-04T05:13:08",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "다가시카시 - 코토야마",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/2565",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_2565",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "05:41:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_144/008.jpg"
        },
        {
          "time": "05:41:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_144/009.jpg"
        },
        {
          "time": "05:41:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_144/010.jpg"
        },
        {
          "time": "05:41:54",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "05:41:55",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2565/56797"
        },
        {
          "time": "05:41:55",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2565/56797"
        },
        {
          "time": "05:42:04",
          "message": "  [i] 회차 제목: 다가시카시 183화"
        },
        {
          "time": "05:42:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_145/001.jpg"
        },
        {
          "time": "05:42:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_145/002.jpg"
        },
        {
          "time": "05:42:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_145/003.jpg"
        },
        {
          "time": "05:42:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_145/004.jpg"
        },
        {
          "time": "05:42:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_145/005.jpg"
        },
        {
          "time": "05:42:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_145/006.jpg"
        },
        {
          "time": "05:42:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_145/007.jpg"
        },
        {
          "time": "05:42:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_145/008.jpg"
        },
        {
          "time": "05:42:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_145/009.jpg"
        },
        {
          "time": "05:42:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_145/010.jpg"
        },
        {
          "time": "05:42:14",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "05:42:15",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2565/56796"
        },
        {
          "time": "05:42:15",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2565/56796"
        },
        {
          "time": "05:42:24",
          "message": "  [i] 회차 제목: 다가시카시 184화"
        },
        {
          "time": "05:42:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_146/001.jpg"
        },
        {
          "time": "05:42:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_146/002.jpg"
        },
        {
          "time": "05:42:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_146/003.jpg"
        },
        {
          "time": "05:42:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_146/004.jpg"
        },
        {
          "time": "05:42:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_146/005.jpg"
        },
        {
          "time": "05:42:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_146/006.jpg"
        },
        {
          "time": "05:42:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_146/007.jpg"
        },
        {
          "time": "05:42:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_146/008.jpg"
        },
        {
          "time": "05:42:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_146/009.jpg"
        },
        {
          "time": "05:42:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_146/010.jpg"
        },
        {
          "time": "05:42:33",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "05:42:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2565/56795"
        },
        {
          "time": "05:42:34",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2565/56795"
        },
        {
          "time": "05:42:44",
          "message": "  [i] 회차 제목: 다가시카시 185화"
        },
        {
          "time": "05:42:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/001.jpg"
        },
        {
          "time": "05:42:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/002.jpg"
        },
        {
          "time": "05:42:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/003.jpg"
        },
        {
          "time": "05:42:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/004.jpg"
        },
        {
          "time": "05:42:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/005.jpg"
        },
        {
          "time": "05:42:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/006.jpg"
        },
        {
          "time": "05:42:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/007.jpg"
        },
        {
          "time": "05:42:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/008.jpg"
        },
        {
          "time": "05:42:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/009.jpg"
        },
        {
          "time": "05:42:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/010.jpg"
        },
        {
          "time": "05:42:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/011.jpg"
        },
        {
          "time": "05:42:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/012.jpg"
        },
        {
          "time": "05:42:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/013.jpg"
        },
        {
          "time": "05:44:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_147/014.jpg"
        },
        {
          "time": "05:44:09",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "05:44:10",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2565/56794"
        },
        {
          "time": "05:44:10",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2565/56794"
        },
        {
          "time": "05:44:26",
          "message": "  [i] 회차 제목: 다가시카시 186화"
        },
        {
          "time": "05:44:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/001.jpg"
        },
        {
          "time": "05:44:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/002.jpg"
        },
        {
          "time": "05:45:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/003.jpg"
        },
        {
          "time": "05:45:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/004.jpg"
        },
        {
          "time": "05:45:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/005.jpg"
        },
        {
          "time": "05:45:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/006.jpg"
        },
        {
          "time": "05:45:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/007.jpg"
        },
        {
          "time": "05:45:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/008.jpg"
        },
        {
          "time": "05:45:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/009.jpg"
        },
        {
          "time": "05:45:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/010.jpg"
        },
        {
          "time": "05:45:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/011.jpg"
        },
        {
          "time": "05:45:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/012.jpg"
        },
        {
          "time": "05:45:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_148/013.jpg"
        },
        {
          "time": "05:45:44",
          "message": "  [>] 이미지 13/13개 처리 완료.\n"
        },
        {
          "time": "05:45:45",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2565/298905"
        },
        {
          "time": "05:45:45",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2565/298905"
        },
        {
          "time": "05:46:00",
          "message": "  [i] 회차 제목: 다가시카시 번외편"
        },
        {
          "time": "05:46:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_149/001.jpg"
        },
        {
          "time": "05:46:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_149/002.jpg"
        },
        {
          "time": "05:46:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_149/003.jpg"
        },
        {
          "time": "05:46:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_149/004.jpg"
        },
        {
          "time": "05:46:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_149/005.jpg"
        },
        {
          "time": "05:46:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_149/006.jpg"
        },
        {
          "time": "05:46:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_149/007.jpg"
        },
        {
          "time": "05:46:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_149/008.jpg"
        },
        {
          "time": "05:46:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_149/009.jpg"
        },
        {
          "time": "05:46:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_149/010.jpg"
        },
        {
          "time": "05:46:40",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "05:46:41",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2565/7087"
        },
        {
          "time": "05:46:41",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2565/7087"
        },
        {
          "time": "05:46:50",
          "message": "  [i] 회차 제목: 다가시카시 번외편 1, 2권 번외편"
        },
        {
          "time": "05:46:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_150/001.jpg"
        },
        {
          "time": "05:46:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_150/002.jpg"
        },
        {
          "time": "05:46:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_150/003.jpg"
        },
        {
          "time": "05:46:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_150/004.jpg"
        },
        {
          "time": "05:46:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_150/005.jpg"
        },
        {
          "time": "05:46:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_150/006.jpg"
        },
        {
          "time": "05:46:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_150/007.jpg"
        },
        {
          "time": "05:46:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_150/008.jpg"
        },
        {
          "time": "05:46:58",
          "message": "  [>] 이미지 8/8개 처리 완료.\n"
        },
        {
          "time": "05:46:59",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2565/7099"
        },
        {
          "time": "05:46:59",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2565/7099"
        },
        {
          "time": "05:47:08",
          "message": "  [i] 회차 제목: 다가시카시 번외편 4권 번외편"
        },
        {
          "time": "05:47:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_151/001.jpg"
        },
        {
          "time": "05:47:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_151/002.jpg"
        },
        {
          "time": "05:47:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_151/003.jpg"
        },
        {
          "time": "05:47:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_151/004.jpg"
        },
        {
          "time": "05:47:15",
          "message": "  [>] 이미지 4/4개 처리 완료.\n"
        },
        {
          "time": "05:47:16",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2565/7097"
        },
        {
          "time": "05:47:16",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2565/7097"
        },
        {
          "time": "05:47:26",
          "message": "  [i] 회차 제목: 다가시카시 번외편 3권 번외편"
        },
        {
          "time": "05:47:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_152/001.jpg"
        },
        {
          "time": "05:47:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_152/002.jpg"
        },
        {
          "time": "05:47:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_152/003.jpg"
        },
        {
          "time": "05:47:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_2565/ep_152/004.jpg"
        },
        {
          "time": "05:47:29",
          "message": "  [>] 이미지 4/4개 처리 완료.\n"
        },
        {
          "time": "05:47:30",
          "message": "완료: 회차 152개 처리, 이미지 1659개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 152)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:04:05",
          "message": "작품 제목: 2565"
        },
        {
          "time": "06:14:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:14:12"
        },
        {
          "time": "06:14:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:14:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:13:29",
          "message": "작품 제목: 2565"
        },
        {
          "time": "13:23:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:23:48"
        },
        {
          "time": "13:23:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:23:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:50:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #162"
        },
        {
          "time": "19:50:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:50:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=다가시카시 - 코토야마 | 뉴토끼, links=154"
        },
        {
          "time": "19:50:43",
          "message": "작품 제목: 다가시카시 - 코토야마"
        },
        {
          "time": "19:50:43",
          "message": "메타데이터 태그 저장: 다가시카시, 코토야마"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:13:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #896"
        },
        {
          "time": "05:13:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:13:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=다가시카시 - 코토야마 | 뉴토끼, links=154"
        },
        {
          "time": "05:13:30",
          "message": "작품 제목: 다가시카시 - 코토야마"
        },
        {
          "time": "05:13:30",
          "message": "메타데이터 태그 저장: 다가시카시, 코토야마"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:40:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #215"
        },
        {
          "time": "19:40:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:40:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=다가시카시 - 코토야마 | 뉴토끼, links=154"
        },
        {
          "time": "19:40:16",
          "message": "작품 제목: 다가시카시 - 코토야마"
        },
        {
          "time": "19:40:16",
          "message": "메타데이터 태그 저장: 다가시카시, 코토야마"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:21:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #448"
        },
        {
          "time": "11:21:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:21:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=다가시카시 - 코토야마 | 뉴토끼, links=154"
        },
        {
          "time": "11:21:56",
          "message": "작품 제목: 다가시카시 - 코토야마"
        },
        {
          "time": "11:21:56",
          "message": "메타데이터 태그 저장: 다가시카시, 코토야마"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:11:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1008"
        },
        {
          "time": "05:11:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:12:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=다가시카시 - 코토야마 | 뉴토끼, links=154"
        },
        {
          "time": "05:13:07",
          "message": "작품 제목: 다가시카시 - 코토야마"
        },
        {
          "time": "05:13:07",
          "message": "메타데이터 태그 저장: 다가시카시, 코토야마"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_2565",
        "target_id": "manhwa_2565",
        "title": "다가시카시 - 코토야마",
        "episodes_found": 152,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 152,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_2565",
          "title": "다가시카시 - 코토야마",
          "list_url": "https://newtoki1.org/manhwa/2565",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/2565"
          },
          "tags": [
            "다가시카시",
            "코토야마"
          ],
          "description": "맛있고, 그리운, 막과자 코미디 개봉! 여기는 한가로운 시골 마을. 막과자 가게의 아들 코코노츠는 어느 날 도시에서 온 미소녀를 만난다... `우마이봉으로 최고의 조합을 만들어서, 나를 만족시켜 보세요!!` 보여줄께. 감자튀김을 가장 사치스럽게 먹는 법!! 우마이봉, 부타멘, 라무",
          "metadata_path": "/downloads/manhwa_2565/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 152,
        "total": 152,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "b6585b429f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:18:40",
      "started_at": "2026-06-04T05:09:13",
      "finished_at": "2026-06-04T05:11:25",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "유루유리 - 나모리",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/2669",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_2669",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "15:02:32",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "15:02:33",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2669/5123"
        },
        {
          "time": "15:02:33",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2669/5123"
        },
        {
          "time": "15:02:52",
          "message": "  [i] 회차 제목: 유루유리 35화 덤 9권"
        },
        {
          "time": "15:02:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_134/001.jpg"
        },
        {
          "time": "15:02:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_134/002.jpg"
        },
        {
          "time": "15:02:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_134/003.jpg"
        },
        {
          "time": "15:02:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_134/004.jpg"
        },
        {
          "time": "15:02:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_134/005.jpg"
        },
        {
          "time": "15:02:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_134/006.jpg"
        },
        {
          "time": "15:03:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_134/007.jpg"
        },
        {
          "time": "15:03:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_134/008.jpg"
        },
        {
          "time": "15:03:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_134/009.jpg"
        },
        {
          "time": "15:03:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_134/010.jpg"
        },
        {
          "time": "15:03:03",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "15:03:04",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2669/5122"
        },
        {
          "time": "15:03:04",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2669/5122"
        },
        {
          "time": "15:03:24",
          "message": "  [i] 회차 제목: 유루유리 27화 덤 7권"
        },
        {
          "time": "15:03:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/001.jpg"
        },
        {
          "time": "15:03:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/002.jpg"
        },
        {
          "time": "15:03:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/003.jpg"
        },
        {
          "time": "15:03:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/004.jpg"
        },
        {
          "time": "15:03:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/005.jpg"
        },
        {
          "time": "15:03:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/006.jpg"
        },
        {
          "time": "15:03:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/007.jpg"
        },
        {
          "time": "15:03:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/008.jpg"
        },
        {
          "time": "15:03:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/009.jpg"
        },
        {
          "time": "15:03:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/010.jpg"
        },
        {
          "time": "15:03:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/011.jpg"
        },
        {
          "time": "15:03:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/012.jpg"
        },
        {
          "time": "15:03:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/013.jpg"
        },
        {
          "time": "15:03:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_135/014.jpg"
        },
        {
          "time": "15:03:38",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "15:03:39",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2669/5125"
        },
        {
          "time": "15:03:39",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2669/5125"
        },
        {
          "time": "15:03:58",
          "message": "  [i] 회차 제목: 유루유리 21화 블루레이 특전 1-6권"
        },
        {
          "time": "15:03:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/001.jpg"
        },
        {
          "time": "15:03:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/002.jpg"
        },
        {
          "time": "15:04:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/003.jpg"
        },
        {
          "time": "15:04:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/004.jpg"
        },
        {
          "time": "15:04:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/005.jpg"
        },
        {
          "time": "15:04:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/006.jpg"
        },
        {
          "time": "15:04:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/007.jpg"
        },
        {
          "time": "15:04:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/008.jpg"
        },
        {
          "time": "15:04:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/009.jpg"
        },
        {
          "time": "15:04:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/010.jpg"
        },
        {
          "time": "15:04:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/011.jpg"
        },
        {
          "time": "15:04:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_136/012.jpg"
        },
        {
          "time": "15:04:08",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "15:04:09",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/2669/5124"
        },
        {
          "time": "15:04:09",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/2669/5124"
        },
        {
          "time": "15:04:28",
          "message": "  [i] 회차 제목: 유루유리 3화 리메이크 1권"
        },
        {
          "time": "15:04:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/001.jpg"
        },
        {
          "time": "15:04:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/002.jpg"
        },
        {
          "time": "15:04:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/003.jpg"
        },
        {
          "time": "15:04:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/004.jpg"
        },
        {
          "time": "15:04:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/005.jpg"
        },
        {
          "time": "15:04:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/006.jpg"
        },
        {
          "time": "15:04:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/007.jpg"
        },
        {
          "time": "15:04:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/008.jpg"
        },
        {
          "time": "15:04:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/009.jpg"
        },
        {
          "time": "15:04:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/010.jpg"
        },
        {
          "time": "15:04:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/011.jpg"
        },
        {
          "time": "15:04:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/012.jpg"
        },
        {
          "time": "15:04:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/013.jpg"
        },
        {
          "time": "15:04:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/014.jpg"
        },
        {
          "time": "15:04:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/015.jpg"
        },
        {
          "time": "15:04:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/016.jpg"
        },
        {
          "time": "15:04:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/017.jpg"
        },
        {
          "time": "15:04:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/018.jpg"
        },
        {
          "time": "15:04:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/019.jpg"
        },
        {
          "time": "15:04:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/020.jpg"
        },
        {
          "time": "15:04:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/021.jpg"
        },
        {
          "time": "15:04:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/022.jpg"
        },
        {
          "time": "15:04:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/023.jpg"
        },
        {
          "time": "15:04:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/024.jpg"
        },
        {
          "time": "15:04:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/025.jpg"
        },
        {
          "time": "15:04:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/026.jpg"
        },
        {
          "time": "15:04:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/027.jpg"
        },
        {
          "time": "15:04:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/028.jpg"
        },
        {
          "time": "15:04:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/029.jpg"
        },
        {
          "time": "15:04:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/030.jpg"
        },
        {
          "time": "15:05:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/031.jpg"
        },
        {
          "time": "15:05:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/032.jpg"
        },
        {
          "time": "15:05:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/033.jpg"
        },
        {
          "time": "15:05:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/034.jpg"
        },
        {
          "time": "15:05:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/035.jpg"
        },
        {
          "time": "15:05:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/036.jpg"
        },
        {
          "time": "15:05:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/037.jpg"
        },
        {
          "time": "15:05:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/038.jpg"
        },
        {
          "time": "15:05:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/039.jpg"
        },
        {
          "time": "15:05:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/040.jpg"
        },
        {
          "time": "15:05:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/041.jpg"
        },
        {
          "time": "15:05:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/042.jpg"
        },
        {
          "time": "15:05:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/043.jpg"
        },
        {
          "time": "15:05:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/044.jpg"
        },
        {
          "time": "15:05:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/045.jpg"
        },
        {
          "time": "15:05:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_2669/ep_137/046.jpg"
        },
        {
          "time": "15:05:30",
          "message": "  [>] 이미지 46/46개 처리 완료.\n"
        },
        {
          "time": "15:05:31",
          "message": "완료: 회차 16개 처리, 이미지 226개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 16)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:47:26",
          "message": "작품 제목: 2669"
        },
        {
          "time": "05:57:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:57:26"
        },
        {
          "time": "05:57:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:57:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:12:48",
          "message": "작품 제목: 2669"
        },
        {
          "time": "13:23:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:23:23"
        },
        {
          "time": "13:23:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:23:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:49:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #161"
        },
        {
          "time": "19:49:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:49:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유루유리 - 나모리 | 뉴토끼, links=139"
        },
        {
          "time": "19:50:28",
          "message": "작품 제목: 유루유리 - 나모리"
        },
        {
          "time": "19:50:28",
          "message": "메타데이터 태그 저장: 나모리, 유루유리"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:15:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #897"
        },
        {
          "time": "05:15:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:15:23",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "05:15:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #898"
        },
        {
          "time": "05:15:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:15:54",
          "message": "작품 제목: 2669"
        },
        {
          "time": "05:16:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #899"
        },
        {
          "time": "05:16:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:16:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유루유리 - 나모리 | 뉴토끼, links=139"
        },
        {
          "time": "05:16:35",
          "message": "작품 제목: 유루유리 - 나모리"
        },
        {
          "time": "05:16:35",
          "message": "메타데이터 태그 저장: 나모리, 유루유리"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:39:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #214"
        },
        {
          "time": "19:39:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:40:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유루유리 - 나모리 | 뉴토끼, links=139"
        },
        {
          "time": "19:40:00",
          "message": "작품 제목: 유루유리 - 나모리"
        },
        {
          "time": "19:40:00",
          "message": "메타데이터 태그 저장: 나모리, 유루유리"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:22:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #449"
        },
        {
          "time": "11:22:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:23:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유루유리 - 나모리 | 뉴토끼, links=139"
        },
        {
          "time": "11:23:06",
          "message": "작품 제목: 유루유리 - 나모리"
        },
        {
          "time": "11:23:06",
          "message": "메타데이터 태그 저장: 나모리, 유루유리"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:09:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1006"
        },
        {
          "time": "05:09:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:10:42",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:10:42",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:10:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1007"
        },
        {
          "time": "05:10:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:10:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유루유리 - 나모리 | 뉴토끼, links=139"
        },
        {
          "time": "05:11:24",
          "message": "작품 제목: 유루유리 - 나모리"
        },
        {
          "time": "05:11:25",
          "message": "메타데이터 태그 저장: 나모리, 유루유리"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_2669",
        "target_id": "manhwa_2669",
        "title": "유루유리 - 나모리",
        "episodes_found": 137,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 137,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_2669",
          "title": "유루유리 - 나모리",
          "list_url": "https://newtoki1.org/manhwa/2669",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/2669"
          },
          "tags": [
            "나모리",
            "유루유리"
          ],
          "description": "잠시 주목하세요!! 너무나 뜬금없으니 약간 설명을 하겠습니다. 폐부된 다도부의 부실을 몰래 점거하여 「오락부」활동을 이어온 악의 4인조. 분노에 휩싸인 학생회는 그들을 일호사기 위해 행동을 개시한다..!!라는 뜨거운 전개는 놀랄 만큼 전무한 폭신폭신 개그만화. 그렇다고 해서 요즘 유행",
          "metadata_path": "/downloads/manhwa_2669/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 137,
        "total": 137,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "6709498428",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:18:35",
      "started_at": "2026-06-04T03:22:52",
      "finished_at": "2026-06-04T03:24:05",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "바람의 검심 - 와츠키 노부히로",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3750",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3750",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:21:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:32:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:32:16"
        },
        {
          "time": "09:32:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:32:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:33:35",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:34:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:44:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:44:13"
        },
        {
          "time": "09:44:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:44:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:44:16",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:44:54",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:55:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:55:28"
        },
        {
          "time": "09:55:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:55:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:55:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:55:44",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:05:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:05:53"
        },
        {
          "time": "10:05:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:05:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:11:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:11:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:22:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:22:01"
        },
        {
          "time": "10:22:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:22:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:22:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:22:07",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:32:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:32:07"
        },
        {
          "time": "10:32:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:32:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:32:11",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:32:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:42:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:42:46"
        },
        {
          "time": "10:42:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:42:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:42:56",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:43:32",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:54:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:54:06"
        },
        {
          "time": "10:54:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:54:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:54:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:54:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:04:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:04:53"
        },
        {
          "time": "11:04:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:04:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:04:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:05:32",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:15:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:15:37"
        },
        {
          "time": "11:15:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:15:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:16:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:16:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:26:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:26:47"
        },
        {
          "time": "11:26:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:26:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:28:06",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:28:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:38:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:38:39"
        },
        {
          "time": "11:38:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:38:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:38:42",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:39:00",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:49:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:49:14"
        },
        {
          "time": "11:49:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:49:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:49:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:49:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:59:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:59:21"
        },
        {
          "time": "11:59:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:59:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:59:24",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:59:27",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:09:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:09:53"
        },
        {
          "time": "12:09:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:09:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:12:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:12:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:24:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:24:40"
        },
        {
          "time": "12:24:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:24:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:43:45",
          "message": "작품 제목: theajack.github.io"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:52:00",
          "message": "작품 제목: 3750"
        },
        {
          "time": "13:02:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:02:06"
        },
        {
          "time": "13:02:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:02:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:49:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #160"
        },
        {
          "time": "19:49:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:49:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바람의 검심 - 와츠키 노부히로 | 뉴토끼, links=262"
        },
        {
          "time": "19:49:41",
          "message": "작품 제목: 바람의 검심 - 와츠키 노부히로"
        },
        {
          "time": "19:49:41",
          "message": "메타데이터 태그 저장: 바람의 검심, 와츠키 노부히로"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:17:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #900"
        },
        {
          "time": "05:17:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:17:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바람의 검심 - 와츠키 노부히로 | 뉴토끼, links=262"
        },
        {
          "time": "05:17:15",
          "message": "작품 제목: 바람의 검심 - 와츠키 노부히로"
        },
        {
          "time": "05:17:15",
          "message": "메타데이터 태그 저장: 바람의 검심, 와츠키 노부히로"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:39:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #213"
        },
        {
          "time": "19:39:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:39:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바람의 검심 - 와츠키 노부히로 | 뉴토끼, links=262"
        },
        {
          "time": "19:39:44",
          "message": "작품 제목: 바람의 검심 - 와츠키 노부히로"
        },
        {
          "time": "19:39:44",
          "message": "메타데이터 태그 저장: 바람의 검심, 와츠키 노부히로"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:23:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #450"
        },
        {
          "time": "11:23:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:23:31",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:23:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #451"
        },
        {
          "time": "11:23:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:23:52",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "11:23:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #452"
        },
        {
          "time": "11:23:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:39:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-03T12:39:48"
        },
        {
          "time": "12:39:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:04:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #262"
        },
        {
          "time": "17:04:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:04:32",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "17:04:32",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "17:04:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #263"
        },
        {
          "time": "17:04:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:04:53",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "17:04:53",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "17:04:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #264"
        },
        {
          "time": "17:04:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:05:14",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "17:05:15",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "17:05:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #265"
        },
        {
          "time": "17:05:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:05:37",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/3750, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060484"
        },
        {
          "time": "17:05:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #266"
        },
        {
          "time": "17:05:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:05:59",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/3750, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06048a"
        },
        {
          "time": "17:06:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #267"
        },
        {
          "time": "17:06:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:06:20",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/3750, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a060493"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:41:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #802"
        },
        {
          "time": "01:41:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:41:47",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/3750, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0633c6"
        },
        {
          "time": "01:41:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #803"
        },
        {
          "time": "01:41:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:42:08",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/3750, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0633cc"
        },
        {
          "time": "01:42:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #804"
        },
        {
          "time": "01:42:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:42:30",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/3750, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0633d4"
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:22:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #861"
        },
        {
          "time": "03:22:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:23:17",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:23:17",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:23:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #862"
        },
        {
          "time": "03:23:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:23:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=바람의 검심 - 와츠키 노부히로 | 뉴토끼, links=262"
        },
        {
          "time": "03:24:04",
          "message": "작품 제목: 바람의 검심 - 와츠키 노부히로"
        },
        {
          "time": "03:24:05",
          "message": "메타데이터 태그 저장: 바람의 검심, 와츠키 노부히로"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3750",
        "target_id": "manhwa_3750",
        "title": "바람의 검심 - 와츠키 노부히로",
        "episodes_found": 260,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 260,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3750",
          "title": "바람의 검심 - 와츠키 노부히로",
          "list_url": "https://newtoki1.org/manhwa/3750",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3750"
          },
          "tags": [
            "바람의 검심",
            "와츠키 노부히로"
          ],
          "description": "막부 말의 동란기 교토에, `칼잡이 발도재`라 불리는 지사가 있었다. 악귀처럼 사람을 베며 피로 물든 칼로 새로운 시대 메이지를 개척한 그 남자는, 동란의 종결과 함께 `최강`이라는 이름의 전설만 남기고 사람들 앞에서 모습을 감췄다. 그리고 시대는 흘러 메이지 11년―.",
          "metadata_path": "/downloads/manhwa_3750/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 260,
        "total": 260,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "3278f114b7",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:18:29",
      "started_at": "2026-06-04T05:08:07",
      "finished_at": "2026-06-04T05:09:13",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "헬크(Helck) - 나나오 나나키",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8902",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8902",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "06:49:42",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "06:49:42",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8902"
        },
        {
          "time": "06:49:42",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8902"
        },
        {
          "time": "06:49:58",
          "message": "작품 제목: 헬크(Helck) - 나나오 나나키"
        },
        {
          "time": "06:49:58",
          "message": "메타데이터 저장: /downloads/manhwa_8902/metadata.yaml"
        },
        {
          "time": "06:49:58",
          "message": "메타데이터 태그 저장: 나나오 나나키, 헬크(Helck"
        },
        {
          "time": "06:49:58",
          "message": "기존 완료 회차 147개 제외"
        },
        {
          "time": "06:49:59",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "06:49:59",
          "message": "총 151개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "06:49:59",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8902/77110"
        },
        {
          "time": "06:49:59",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8902/77110"
        },
        {
          "time": "06:50:08",
          "message": "  [i] 회차 제목: 헬크(Helck) 7화"
        },
        {
          "time": "06:50:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/001.jpg"
        },
        {
          "time": "06:50:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/002.jpg"
        },
        {
          "time": "06:50:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/003.jpg"
        },
        {
          "time": "06:50:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/004.jpg"
        },
        {
          "time": "06:50:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/005.jpg"
        },
        {
          "time": "06:50:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/006.jpg"
        },
        {
          "time": "06:50:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/007.jpg"
        },
        {
          "time": "06:50:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/008.jpg"
        },
        {
          "time": "06:50:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/009.jpg"
        },
        {
          "time": "06:50:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/010.jpg"
        },
        {
          "time": "06:50:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/011.jpg"
        },
        {
          "time": "06:50:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/012.jpg"
        },
        {
          "time": "06:50:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/013.jpg"
        },
        {
          "time": "06:50:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/014.jpg"
        },
        {
          "time": "06:50:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/015.jpg"
        },
        {
          "time": "06:50:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/016.jpg"
        },
        {
          "time": "06:50:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/017.jpg"
        },
        {
          "time": "06:50:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/018.jpg"
        },
        {
          "time": "06:50:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/019.jpg"
        },
        {
          "time": "06:50:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/020.jpg"
        },
        {
          "time": "06:50:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/021.jpg"
        },
        {
          "time": "06:50:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/022.jpg"
        },
        {
          "time": "06:50:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_008/023.jpg"
        },
        {
          "time": "06:50:46",
          "message": "  [>] 이미지 23개 처리 완료.\n"
        },
        {
          "time": "06:50:47",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8902/77109"
        },
        {
          "time": "06:50:47",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8902/77109"
        },
        {
          "time": "06:50:57",
          "message": "  [i] 회차 제목: 헬크(Helck) 8화"
        },
        {
          "time": "06:50:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/001.jpg"
        },
        {
          "time": "06:50:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/002.jpg"
        },
        {
          "time": "06:51:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/003.jpg"
        },
        {
          "time": "06:51:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/004.jpg"
        },
        {
          "time": "06:51:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/005.jpg"
        },
        {
          "time": "06:51:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/006.jpg"
        },
        {
          "time": "06:51:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/007.jpg"
        },
        {
          "time": "06:51:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/008.jpg"
        },
        {
          "time": "06:51:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/009.jpg"
        },
        {
          "time": "06:51:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/010.jpg"
        },
        {
          "time": "06:51:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/011.jpg"
        },
        {
          "time": "06:51:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/012.jpg"
        },
        {
          "time": "06:51:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/013.jpg"
        },
        {
          "time": "06:51:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/014.jpg"
        },
        {
          "time": "06:51:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/015.jpg"
        },
        {
          "time": "06:51:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/016.jpg"
        },
        {
          "time": "06:51:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/017.jpg"
        },
        {
          "time": "06:51:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/018.jpg"
        },
        {
          "time": "06:51:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_009/019.jpg"
        },
        {
          "time": "06:51:16",
          "message": "  [>] 이미지 19개 처리 완료.\n"
        },
        {
          "time": "06:51:17",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8902/77106"
        },
        {
          "time": "06:51:17",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8902/77106"
        },
        {
          "time": "06:51:28",
          "message": "  [i] 회차 제목: 헬크(Helck) 11화"
        },
        {
          "time": "06:51:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/001.jpg"
        },
        {
          "time": "06:51:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/002.jpg"
        },
        {
          "time": "06:51:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/003.jpg"
        },
        {
          "time": "06:51:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/004.jpg"
        },
        {
          "time": "06:51:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/005.jpg"
        },
        {
          "time": "06:51:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/006.jpg"
        },
        {
          "time": "06:51:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/007.jpg"
        },
        {
          "time": "06:51:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/008.jpg"
        },
        {
          "time": "06:51:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/009.jpg"
        },
        {
          "time": "06:51:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/010.jpg"
        },
        {
          "time": "06:51:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/011.jpg"
        },
        {
          "time": "06:51:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/012.jpg"
        },
        {
          "time": "06:51:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/013.jpg"
        },
        {
          "time": "06:51:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/014.jpg"
        },
        {
          "time": "06:51:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/015.jpg"
        },
        {
          "time": "06:51:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/016.jpg"
        },
        {
          "time": "06:51:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/017.jpg"
        },
        {
          "time": "06:51:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/018.jpg"
        },
        {
          "time": "06:51:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/019.jpg"
        },
        {
          "time": "06:51:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_012/020.jpg"
        },
        {
          "time": "06:51:49",
          "message": "  [>] 이미지 20개 처리 완료.\n"
        },
        {
          "time": "06:51:50",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/8902/77105"
        },
        {
          "time": "06:51:50",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8902/77105"
        },
        {
          "time": "06:52:00",
          "message": "  [i] 회차 제목: 헬크(Helck) 12화"
        },
        {
          "time": "06:52:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/001.jpg"
        },
        {
          "time": "06:52:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/002.jpg"
        },
        {
          "time": "06:52:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/003.jpg"
        },
        {
          "time": "06:52:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/004.jpg"
        },
        {
          "time": "06:52:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/005.jpg"
        },
        {
          "time": "06:52:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/006.jpg"
        },
        {
          "time": "06:52:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/007.jpg"
        },
        {
          "time": "06:52:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/008.jpg"
        },
        {
          "time": "06:52:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/009.jpg"
        },
        {
          "time": "06:52:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/010.jpg"
        },
        {
          "time": "06:52:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/011.jpg"
        },
        {
          "time": "06:52:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/012.jpg"
        },
        {
          "time": "06:52:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/013.jpg"
        },
        {
          "time": "06:52:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/014.jpg"
        },
        {
          "time": "06:52:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/015.jpg"
        },
        {
          "time": "06:52:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/016.jpg"
        },
        {
          "time": "06:52:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/017.jpg"
        },
        {
          "time": "06:52:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/018.jpg"
        },
        {
          "time": "06:52:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8902/ep_013/019.jpg"
        },
        {
          "time": "06:52:19",
          "message": "  [>] 이미지 19개 처리 완료.\n"
        },
        {
          "time": "06:52:20",
          "message": "완료: 회차 4개 처리, 이미지 81개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 4)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:14:53",
          "message": "작품 제목: 8902"
        },
        {
          "time": "06:25:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:25:13"
        },
        {
          "time": "06:25:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:25:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:12:09",
          "message": "작품 제목: 8902"
        },
        {
          "time": "13:22:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:22:33"
        },
        {
          "time": "13:22:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:22:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:49:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #159"
        },
        {
          "time": "19:49:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:49:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=헬크(Helck) - 나나오 나나키 | 뉴토끼, links=153"
        },
        {
          "time": "19:49:21",
          "message": "작품 제목: 헬크(Helck) - 나나오 나나키"
        },
        {
          "time": "19:49:21",
          "message": "메타데이터 태그 저장: 나나오 나나키, 헬크(Helck"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:17:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #901"
        },
        {
          "time": "05:17:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:17:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=헬크(Helck) - 나나오 나나키 | 뉴토끼, links=153"
        },
        {
          "time": "05:17:30",
          "message": "작품 제목: 헬크(Helck) - 나나오 나나키"
        },
        {
          "time": "05:17:30",
          "message": "메타데이터 태그 저장: 나나오 나나키, 헬크(Helck"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:38:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #212"
        },
        {
          "time": "19:38:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:38:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=헬크(Helck) - 나나오 나나키 | 뉴토끼, links=153"
        },
        {
          "time": "19:38:51",
          "message": "작품 제목: 헬크(Helck) - 나나오 나나키"
        },
        {
          "time": "19:38:51",
          "message": "메타데이터 태그 저장: 나나오 나나키, 헬크(Helck"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:24:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #453"
        },
        {
          "time": "11:24:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:25:42",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:25:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #454"
        },
        {
          "time": "11:25:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:25:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=헬크(Helck) - 나나오 나나키 | 뉴토끼, links=153"
        },
        {
          "time": "11:26:25",
          "message": "작품 제목: 헬크(Helck) - 나나오 나나키"
        },
        {
          "time": "11:26:25",
          "message": "메타데이터 태그 저장: 나나오 나나키, 헬크(Helck"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:08:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1005"
        },
        {
          "time": "05:08:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:08:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=헬크(Helck) - 나나오 나나키 | 뉴토끼, links=153"
        },
        {
          "time": "05:09:12",
          "message": "작품 제목: 헬크(Helck) - 나나오 나나키"
        },
        {
          "time": "05:09:12",
          "message": "메타데이터 태그 저장: 나나오 나나키, 헬크(Helck"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8902",
        "target_id": "manhwa_8902",
        "title": "헬크(Helck) - 나나오 나나키",
        "episodes_found": 151,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 151,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8902",
          "title": "헬크(Helck) - 나나오 나나키",
          "list_url": "https://newtoki1.org/manhwa/8902",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8902"
          },
          "tags": [
            "나나오 나나키",
            "헬크(Helck"
          ],
          "description": "마계의 어느 나라. 한 명의 용사에 의해 마왕은 쓰러졌다. 이제 마왕에게 겁을 먹을 필요는 없다고 인간들이 미소 지으며 기뻐할 무렵, 마계에서는 새로운 마왕의 자리를 걸고 뜨거운 배틀이 벌어지려 하고 있었는데!! 하지만 그곳에 나타난 강력한 우승 후보는 다름 아닌 인간 용사, 헬크였다!",
          "metadata_path": "/downloads/manhwa_8902/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 151,
        "total": 151,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "7c1b0876c9",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:18:20",
      "started_at": "2026-06-04T05:06:45",
      "finished_at": "2026-06-04T05:08:07",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "학생회에도 구멍은 있다! - 무치마로",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/33394",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_33394",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "22:15:00",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/33394"
        },
        {
          "time": "22:15:00",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33394"
        },
        {
          "time": "22:15:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "22:15:16",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "22:15:16",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "22:15:16",
          "message": "메타데이터 저장: /downloads/manhwa_33394/metadata.yaml"
        },
        {
          "time": "22:15:16",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "22:15:16",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "22:27:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T22:27:10"
        },
        {
          "time": "22:27:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:27:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:41:49",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "23:43:25",
          "message": "기존 완료 기록을 적용합니다: 190개 회차"
        },
        {
          "time": "23:43:25",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "23:43:25",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "23:43:25",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "23:43:25",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "23:43:25",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/33394"
        },
        {
          "time": "23:43:25",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33394"
        },
        {
          "time": "23:43:45",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/33394\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/33394"
        },
        {
          "time": "23:55:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T23:55:07"
        },
        {
          "time": "23:55:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:55:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "17:22:34",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "17:24:09",
          "message": "기존 완료 기록을 적용합니다: 190개 회차"
        },
        {
          "time": "17:24:09",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "17:24:09",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "17:24:09",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "17:24:09",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "17:24:09",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/33394"
        },
        {
          "time": "17:24:09",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33394"
        },
        {
          "time": "17:24:36",
          "message": "작품 제목: 학생회에도 구멍은 있다! - 무치마로"
        },
        {
          "time": "17:24:36",
          "message": "메타데이터 저장: /downloads/manhwa_33394/metadata.yaml"
        },
        {
          "time": "17:24:36",
          "message": "메타데이터 태그 저장: 무치마로, 학생회에도 구멍은 있다!"
        },
        {
          "time": "17:24:36",
          "message": "기존 완료 회차 190개 제외"
        },
        {
          "time": "17:24:36",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "17:24:36",
          "message": "총 194개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "17:24:36",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33394/1789964"
        },
        {
          "time": "17:24:36",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33394/1789964"
        },
        {
          "time": "17:24:55",
          "message": "  [i] 회차 제목: 학생회에도 구멍은 있다! 131화"
        },
        {
          "time": "17:25:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/001.jpg"
        },
        {
          "time": "17:25:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/002.jpg"
        },
        {
          "time": "17:25:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/003.jpg"
        },
        {
          "time": "17:25:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/004.jpg"
        },
        {
          "time": "17:25:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/005.jpg"
        },
        {
          "time": "17:25:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/006.jpg"
        },
        {
          "time": "17:25:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/007.jpg"
        },
        {
          "time": "17:25:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/008.jpg"
        },
        {
          "time": "17:25:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/009.jpg"
        },
        {
          "time": "17:25:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/010.jpg"
        },
        {
          "time": "17:25:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/011.jpg"
        },
        {
          "time": "17:25:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/012.jpg"
        },
        {
          "time": "17:25:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/013.jpg"
        },
        {
          "time": "17:25:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_148/014.webp"
        },
        {
          "time": "17:25:19",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "17:25:20",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33394/1790477"
        },
        {
          "time": "17:25:20",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33394/1790477"
        },
        {
          "time": "17:25:39",
          "message": "  [i] 회차 제목: 학생회에도 구멍은 있다! 132화"
        },
        {
          "time": "17:25:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_149/001.jpg"
        },
        {
          "time": "17:25:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_149/002.jpg"
        },
        {
          "time": "17:25:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_149/003.jpg"
        },
        {
          "time": "17:25:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_149/004.jpg"
        },
        {
          "time": "17:25:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_149/005.jpg"
        },
        {
          "time": "17:25:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_149/006.jpg"
        },
        {
          "time": "17:25:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_149/007.jpg"
        },
        {
          "time": "17:25:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_149/008.jpg"
        },
        {
          "time": "17:25:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_149/009.jpg"
        },
        {
          "time": "17:25:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_149/010.jpg"
        },
        {
          "time": "17:25:47",
          "message": "  [>] 이미지 10/10개 처리 완료.\n"
        },
        {
          "time": "17:25:48",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33394/1790968"
        },
        {
          "time": "17:25:48",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33394/1790968"
        },
        {
          "time": "17:26:07",
          "message": "  [i] 회차 제목: 학생회에도 구멍은 있다! 133화"
        },
        {
          "time": "17:26:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/001.jpg"
        },
        {
          "time": "17:26:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/002.jpg"
        },
        {
          "time": "17:26:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/003.jpg"
        },
        {
          "time": "17:26:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/004.jpg"
        },
        {
          "time": "17:26:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/005.jpg"
        },
        {
          "time": "17:26:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/006.jpg"
        },
        {
          "time": "17:26:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/007.jpg"
        },
        {
          "time": "17:26:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/008.jpg"
        },
        {
          "time": "17:26:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/009.jpg"
        },
        {
          "time": "17:26:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/010.jpg"
        },
        {
          "time": "17:26:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/011.jpg"
        },
        {
          "time": "17:26:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_150/012.jpg"
        },
        {
          "time": "17:26:17",
          "message": "  [>] 이미지 12/12개 처리 완료.\n"
        },
        {
          "time": "17:26:18",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33394/1791457"
        },
        {
          "time": "17:26:18",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33394/1791457"
        },
        {
          "time": "17:26:37",
          "message": "  [i] 회차 제목: 학생회에도 구멍은 있다! 134화"
        },
        {
          "time": "17:26:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/001.jpg"
        },
        {
          "time": "17:26:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/002.jpg"
        },
        {
          "time": "17:26:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/003.jpg"
        },
        {
          "time": "17:26:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/004.jpg"
        },
        {
          "time": "17:26:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/005.jpg"
        },
        {
          "time": "17:26:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/006.png"
        },
        {
          "time": "17:26:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/007.jpg"
        },
        {
          "time": "17:26:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/008.jpg"
        },
        {
          "time": "17:26:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/009.jpg"
        },
        {
          "time": "17:26:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/010.jpg"
        },
        {
          "time": "17:26:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/011.jpg"
        },
        {
          "time": "17:26:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/012.jpg"
        },
        {
          "time": "17:26:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_33394/ep_151/013.jpg"
        },
        {
          "time": "17:26:49",
          "message": "  [>] 이미지 13/13개 처리 완료.\n"
        },
        {
          "time": "17:26:50",
          "message": "완료: 회차 4개 처리, 이미지 49개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:57",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 4)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:58:13",
          "message": "작품 제목: 33394"
        },
        {
          "time": "06:08:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:08:16"
        },
        {
          "time": "06:08:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:08:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:12:01",
          "message": "작품 제목: 33394"
        },
        {
          "time": "13:22:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:22:08"
        },
        {
          "time": "13:22:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:22:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:48:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #158"
        },
        {
          "time": "19:48:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:49:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=학생회에도 구멍은 있다! - 무치마로 | 뉴토끼, links=196"
        },
        {
          "time": "19:49:06",
          "message": "작품 제목: 학생회에도 구멍은 있다! - 무치마로"
        },
        {
          "time": "19:49:06",
          "message": "메타데이터 태그 저장: 무치마로, 학생회에도 구멍은 있다!"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:18:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #902"
        },
        {
          "time": "05:18:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:18:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=학생회에도 구멍은 있다! - 무치마로 | 뉴토끼, links=196"
        },
        {
          "time": "05:18:17",
          "message": "작품 제목: 학생회에도 구멍은 있다! - 무치마로"
        },
        {
          "time": "05:18:17",
          "message": "메타데이터 태그 저장: 무치마로, 학생회에도 구멍은 있다!"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:37:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #211"
        },
        {
          "time": "19:37:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:37:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=학생회에도 구멍은 있다! - 무치마로 | 뉴토끼, links=196"
        },
        {
          "time": "19:38:34",
          "message": "작품 제목: 학생회에도 구멍은 있다! - 무치마로"
        },
        {
          "time": "19:38:35",
          "message": "메타데이터 태그 저장: 무치마로, 학생회에도 구멍은 있다!"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:26:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #455"
        },
        {
          "time": "11:26:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:27:07",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:27:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #456"
        },
        {
          "time": "11:27:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:27:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=학생회에도 구멍은 있다! - 무치마로 | 뉴토끼, links=196"
        },
        {
          "time": "11:27:23",
          "message": "작품 제목: 학생회에도 구멍은 있다! - 무치마로"
        },
        {
          "time": "11:27:24",
          "message": "메타데이터 태그 저장: 무치마로, 학생회에도 구멍은 있다!"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:07:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1003"
        },
        {
          "time": "05:07:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:07:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=학생회에도 구멍은 있다! - 무치마로 | 뉴토끼, links=197"
        },
        {
          "time": "05:07:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1004"
        },
        {
          "time": "05:07:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:07:51",
          "message": "작품 제목: 학생회에도 구멍은 있다! - 무치마로"
        },
        {
          "time": "05:07:52",
          "message": "메타데이터 태그 저장: 무치마로, 학생회에도 구멍은 있다!"
        },
        {
          "time": "05:07:52",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:07:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=학생회에도 구멍은 있다! 172화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_33394",
        "target_id": "manhwa_33394",
        "title": "학생회에도 구멍은 있다! - 무치마로",
        "episodes_found": 195,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 194,
        "images_found": 2,
        "images_downloaded": 2,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_33394",
          "title": "학생회에도 구멍은 있다! - 무치마로",
          "list_url": "https://newtoki1.org/manhwa/33394",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/33394"
          },
          "tags": [
            "무치마로",
            "학생회에도 구멍은 있다!"
          ],
          "description": "이 학생회의 체면이라고 하면, 바보같거나 무섭거나 무뚝뚝하거나 좀 이상하다. 하지만 그것이 왠지 이상하게 귀엽게 보이는, 신기하고 평범한 매일이 지나간다. 조금 천재인 무치마로가 선사하는, 세계에서 가장 귀여운 일상 4컷만화!",
          "metadata_path": "/downloads/manhwa_33394/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 195,
          "url": "https://newtoki1.org/manhwa/33394/u-mpxpl365-r98b",
          "title": "학생회에도 구멍은 있다! 172화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "d4fa96fadc",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:18:14",
      "started_at": "2026-06-04T05:05:36",
      "finished_at": "2026-06-04T05:06:45",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "우리 반에 갸루는 없다 - 토키타 시구레",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35481",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35481",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:12:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:12:48",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:23:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:23:14"
        },
        {
          "time": "08:23:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:23:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:26:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:26:34",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:36:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:36:58"
        },
        {
          "time": "08:36:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:36:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:37:06",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:37:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:47:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:47:18"
        },
        {
          "time": "08:47:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:47:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:49:48",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:50:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:00:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:00:26"
        },
        {
          "time": "09:00:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:00:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:00:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:00:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:11:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:11:06"
        },
        {
          "time": "09:11:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:11:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:11:07",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:11:42",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:21:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:21:42"
        },
        {
          "time": "09:21:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:21:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:21:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:22:17",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:32:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:32:36"
        },
        {
          "time": "09:32:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:32:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:34:09",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:34:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:44:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:44:13"
        },
        {
          "time": "09:44:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:44:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:44:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:44:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:55:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:55:28"
        },
        {
          "time": "09:55:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:55:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:55:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:55:48",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:05:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:05:53"
        },
        {
          "time": "10:05:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:05:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:11:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:12:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:22:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:22:22"
        },
        {
          "time": "10:22:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:22:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:22:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:22:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:32:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:32:46"
        },
        {
          "time": "10:32:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:32:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:32:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:33:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:43:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:43:32"
        },
        {
          "time": "10:43:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:43:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:43:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:43:37",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:54:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:54:06"
        },
        {
          "time": "10:54:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:54:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:54:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:54:56",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:05:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:05:33"
        },
        {
          "time": "11:05:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:05:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:05:33",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:06:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:16:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:16:13"
        },
        {
          "time": "11:16:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:16:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:16:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:17:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:27:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:27:23"
        },
        {
          "time": "11:27:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:27:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:28:25",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:29:00",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:39:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:39:01"
        },
        {
          "time": "11:39:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:39:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:39:01",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:39:05",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:49:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:49:14"
        },
        {
          "time": "11:49:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:49:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:49:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:49:24",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:59:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:59:27"
        },
        {
          "time": "11:59:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:59:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:59:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:00:04",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:10:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:10:29"
        },
        {
          "time": "12:10:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:10:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:12:58",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:13:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:24:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:24:40"
        },
        {
          "time": "12:24:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:24:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:44:21",
          "message": "작품 제목: theajack.github.io"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:51:51",
          "message": "작품 제목: 35481"
        },
        {
          "time": "13:02:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:02:06"
        },
        {
          "time": "13:02:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:02:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:48:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #157"
        },
        {
          "time": "19:48:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:48:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 반에 갸루는 없다 - 토키타 시구레 | 뉴토끼, links=43"
        },
        {
          "time": "19:48:50",
          "message": "작품 제목: 우리 반에 갸루는 없다 - 토키타 시구레"
        },
        {
          "time": "19:48:50",
          "message": "메타데이터 태그 저장: 우리 반에 갸루는 없다, 토키타 시구레"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:18:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #903"
        },
        {
          "time": "05:18:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:18:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 반에 갸루는 없다 - 토키타 시구레 | 뉴토끼, links=43"
        },
        {
          "time": "05:18:32",
          "message": "작품 제목: 우리 반에 갸루는 없다 - 토키타 시구레"
        },
        {
          "time": "05:18:32",
          "message": "메타데이터 태그 저장: 우리 반에 갸루는 없다, 토키타 시구레"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:36:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #210"
        },
        {
          "time": "19:36:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:37:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 반에 갸루는 없다 - 토키타 시구레 | 뉴토끼, links=43"
        },
        {
          "time": "19:37:43",
          "message": "작품 제목: 우리 반에 갸루는 없다 - 토키타 시구레"
        },
        {
          "time": "19:37:43",
          "message": "메타데이터 태그 저장: 우리 반에 갸루는 없다, 토키타 시구레"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:27:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #457"
        },
        {
          "time": "11:27:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:28:13",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:28:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #458"
        },
        {
          "time": "11:28:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:28:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 반에 갸루는 없다 - 토키타 시구레 | 뉴토끼, links=43"
        },
        {
          "time": "11:29:03",
          "message": "작품 제목: 우리 반에 갸루는 없다 - 토키타 시구레"
        },
        {
          "time": "11:29:03",
          "message": "메타데이터 태그 저장: 우리 반에 갸루는 없다, 토키타 시구레"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:05:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1001"
        },
        {
          "time": "05:05:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:06:31",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:06:31",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:06:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1002"
        },
        {
          "time": "05:06:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:06:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 반에 갸루는 없다 - 토키타 시구레 | 뉴토끼, links=43"
        },
        {
          "time": "05:06:43",
          "message": "작품 제목: 우리 반에 갸루는 없다 - 토키타 시구레"
        },
        {
          "time": "05:06:44",
          "message": "메타데이터 태그 저장: 우리 반에 갸루는 없다, 토키타 시구레"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35481",
        "target_id": "manhwa_35481",
        "title": "우리 반에 갸루는 없다 - 토키타 시구레",
        "episodes_found": 41,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 41,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35481",
          "title": "우리 반에 갸루는 없다 - 토키타 시구레",
          "list_url": "https://newtoki1.org/manhwa/35481",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35481"
          },
          "tags": [
            "우리 반에 갸루는 없다",
            "토키타 시구레"
          ],
          "description": "「만화에 나오는 반짝반짝 빛나는 여자애처럼 되고 싶어서――.」 성실한 모범생 나나세는 갸루로 대변신 후, 고교 데뷔! 그런데 애초에 친구는 어떻게 만드는 거지?! 그러던 중, 날라리 마미야와 친해졌지만, 그에게도 마찬가지로 비밀이 있는데….",
          "metadata_path": "/downloads/manhwa_35481/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 41,
        "total": 41,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "ead3cac26d",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:18:10",
      "started_at": "2026-06-04T05:05:17",
      "finished_at": "2026-06-04T05:05:36",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/21614",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_21614",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:02:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:12:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:12:44"
        },
        {
          "time": "08:12:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:12:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:12:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:12:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:23:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:23:14"
        },
        {
          "time": "08:23:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:23:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:26:35",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:27:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:37:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:37:09"
        },
        {
          "time": "08:37:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:37:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:37:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:37:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:47:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:47:18"
        },
        {
          "time": "08:47:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:47:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:50:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:50:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:00:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:00:26"
        },
        {
          "time": "09:00:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:00:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:00:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:00:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:11:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:11:06"
        },
        {
          "time": "09:11:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:11:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:11:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:12:18",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:22:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:22:18"
        },
        {
          "time": "09:22:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:22:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:22:19",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:22:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:32:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:32:36"
        },
        {
          "time": "09:32:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:32:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:34:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:34:49",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:44:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:44:54"
        },
        {
          "time": "09:44:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:44:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:44:59",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:45:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:55:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:55:37"
        },
        {
          "time": "09:55:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:55:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:55:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:56:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:06:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:06:29"
        },
        {
          "time": "10:06:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:06:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:12:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:12:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:22:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:22:26"
        },
        {
          "time": "10:22:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:22:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:22:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:22:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:32:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:32:46"
        },
        {
          "time": "10:32:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:32:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:33:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:33:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:43:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:43:32"
        },
        {
          "time": "10:43:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:43:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:43:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:44:18",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:54:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:54:53"
        },
        {
          "time": "10:54:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:54:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:54:57",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:55:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:05:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:05:33"
        },
        {
          "time": "11:05:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:05:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:06:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:06:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:16:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:16:17"
        },
        {
          "time": "11:16:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:16:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:17:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:17:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:27:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:27:23"
        },
        {
          "time": "11:27:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:27:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:29:01",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:29:36",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:39:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:39:36"
        },
        {
          "time": "11:39:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:39:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:39:37",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:39:40",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:49:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:49:40"
        },
        {
          "time": "11:49:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:49:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:49:41",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:50:15",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:00:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:00:15"
        },
        {
          "time": "12:00:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:00:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:00:16",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:00:19",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:10:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:10:29"
        },
        {
          "time": "12:10:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:10:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:13:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:14:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:24:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:24:40"
        },
        {
          "time": "12:24:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:24:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:44:28",
          "message": "작품 제목: theajack.github.io"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:51:12",
          "message": "작품 제목: 21614"
        },
        {
          "time": "13:01:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:01:16"
        },
        {
          "time": "13:01:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:01:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:47:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #156"
        },
        {
          "time": "19:47:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:48:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오 | 뉴토끼, links=62"
        },
        {
          "time": "19:48:36",
          "message": "작품 제목: 사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오"
        },
        {
          "time": "19:48:36",
          "message": "메타데이터 태그 저장: 사슴 아이 어슬렁어슬렁 호시탐탐, 오시오시오"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:19:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #904"
        },
        {
          "time": "05:19:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:19:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오 | 뉴토끼, links=62"
        },
        {
          "time": "05:19:17",
          "message": "작품 제목: 사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오"
        },
        {
          "time": "05:19:17",
          "message": "메타데이터 태그 저장: 사슴 아이 어슬렁어슬렁 호시탐탐, 오시오시오"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:35:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #209"
        },
        {
          "time": "19:35:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:35:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오 | 뉴토끼, links=62"
        },
        {
          "time": "19:36:32",
          "message": "작품 제목: 사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오"
        },
        {
          "time": "19:36:32",
          "message": "메타데이터 태그 저장: 사슴 아이 어슬렁어슬렁 호시탐탐, 오시오시오"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:29:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #459"
        },
        {
          "time": "11:29:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:29:26",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:29:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #460"
        },
        {
          "time": "11:29:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:29:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오 | 뉴토끼, links=62"
        },
        {
          "time": "11:29:41",
          "message": "작품 제목: 사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오"
        },
        {
          "time": "11:29:41",
          "message": "메타데이터 태그 저장: 사슴 아이 어슬렁어슬렁 호시탐탐, 오시오시오"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:05:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1000"
        },
        {
          "time": "05:05:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:05:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오 | 뉴토끼, links=62"
        },
        {
          "time": "05:05:33",
          "message": "작품 제목: 사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오"
        },
        {
          "time": "05:05:34",
          "message": "메타데이터 태그 저장: 사슴 아이 어슬렁어슬렁 호시탐탐, 오시오시오"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_21614",
        "target_id": "manhwa_21614",
        "title": "사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오",
        "episodes_found": 60,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 60,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_21614",
          "title": "사슴 아이 어슬렁어슬렁 호시탐탐 - 오시오시오",
          "list_url": "https://newtoki1.org/manhwa/21614",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/21614"
          },
          "tags": [
            "사슴 아이 어슬렁어슬렁 호시탐탐",
            "오시오시오"
          ],
          "description": "우등생인 코시 토라코는 등교 중 얼굴에 뭔가 차가운 것이 닿는 것을 느꼈다. 문득 위를 보니 거기에는 콧물이 흘렀고, 뿔이 전선에 걸려서 꼼짝 못하는 여자아이가 있었다. 새들로부터 맹공을 받는 그녀를 구해주는 토라코. 하지만 그녀야말로, 토라코의 인생을 어지럽히는 원흉이 되는 노츠코였다",
          "metadata_path": "/downloads/manhwa_21614/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 60,
        "total": 60,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "d725011735",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:18:06",
      "started_at": "2026-06-04T05:03:30",
      "finished_at": "2026-06-04T05:05:16",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "레어 몬스터? 그거 그냥 해충이에요 - chippi",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/36794",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_36794",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:23:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:27:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:27:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:37:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:37:13"
        },
        {
          "time": "08:37:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:37:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:37:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:37:49",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:48:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:48:19"
        },
        {
          "time": "08:48:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:48:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:50:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:50:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:00:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:00:35"
        },
        {
          "time": "09:00:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:00:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:00:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:01:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:11:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:11:42"
        },
        {
          "time": "09:11:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:11:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:12:19",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:12:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:22:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:22:22"
        },
        {
          "time": "09:22:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:22:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:22:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:22:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:33:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:33:12"
        },
        {
          "time": "09:33:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:33:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:34:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:35:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:45:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:45:35"
        },
        {
          "time": "09:45:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:45:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:45:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:45:39",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:55:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:55:44"
        },
        {
          "time": "09:55:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:55:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:56:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:56:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:06:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:06:29"
        },
        {
          "time": "10:06:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:06:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:12:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:13:03",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:23:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:23:03"
        },
        {
          "time": "10:23:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:23:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:23:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:23:07",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:33:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:33:22"
        },
        {
          "time": "10:33:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:33:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:33:27",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:34:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:44:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:44:33"
        },
        {
          "time": "10:44:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:44:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:44:35",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:45:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:55:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:55:33"
        },
        {
          "time": "10:55:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:55:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:55:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:55:38",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:06:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:06:08"
        },
        {
          "time": "11:06:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:06:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:06:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:06:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:16:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:16:21"
        },
        {
          "time": "11:16:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:16:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:17:15",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:17:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:27:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:27:59"
        },
        {
          "time": "11:27:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:27:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:29:37",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:30:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:40:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:40:12"
        },
        {
          "time": "11:40:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:40:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:40:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:40:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:50:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:50:16"
        },
        {
          "time": "11:50:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:50:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:50:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:50:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:00:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:00:21"
        },
        {
          "time": "12:00:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:00:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:00:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:00:55",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:11:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:11:05"
        },
        {
          "time": "12:11:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:11:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:14:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:14:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:24:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:24:40"
        },
        {
          "time": "12:24:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:24:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:44:35",
          "message": "작품 제목: theajack.github.io"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:51:04",
          "message": "작품 제목: 36794"
        },
        {
          "time": "13:01:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:01:10"
        },
        {
          "time": "13:01:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:01:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:47:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #155"
        },
        {
          "time": "19:47:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:47:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=레어 몬스터? 그거 그냥 해충이에요 - chippi | 뉴토끼, links=60"
        },
        {
          "time": "19:47:48",
          "message": "작품 제목: 레어 몬스터? 그거 그냥 해충이에요 - chippi"
        },
        {
          "time": "19:47:48",
          "message": "메타데이터 태그 저장: chippi, 레어 몬스터? 그거 그냥 해충이에요"
        },
        {
          "time": "03:00:40",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:19:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #905"
        },
        {
          "time": "05:19:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:19:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=레어 몬스터? 그거 그냥 해충이에요 - chippi | 뉴토끼, links=61"
        },
        {
          "time": "05:19:33",
          "message": "작품 제목: 레어 몬스터? 그거 그냥 해충이에요 - chippi"
        },
        {
          "time": "05:19:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #906"
        },
        {
          "time": "05:19:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:19:33",
          "message": "메타데이터 태그 저장: chippi, 레어 몬스터? 그거 그냥 해충이에요"
        },
        {
          "time": "05:19:33",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:19:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=레어 몬스터? 그거 그냥 해충이에요 59화 | 뉴토끼, img_tags=43, image_urls=42"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:35:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #208"
        },
        {
          "time": "19:35:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:35:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=레어 몬스터? 그거 그냥 해충이에요 - chippi | 뉴토끼, links=61"
        },
        {
          "time": "19:35:42",
          "message": "작품 제목: 레어 몬스터? 그거 그냥 해충이에요 - chippi"
        },
        {
          "time": "19:35:42",
          "message": "메타데이터 태그 저장: chippi, 레어 몬스터? 그거 그냥 해충이에요"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:29:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #461"
        },
        {
          "time": "11:29:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:30:04",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:30:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #462"
        },
        {
          "time": "11:30:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:30:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=레어 몬스터? 그거 그냥 해충이에요 - chippi | 뉴토끼, links=61"
        },
        {
          "time": "11:30:50",
          "message": "작품 제목: 레어 몬스터? 그거 그냥 해충이에요 - chippi"
        },
        {
          "time": "11:30:51",
          "message": "메타데이터 태그 저장: chippi, 레어 몬스터? 그거 그냥 해충이에요"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:04:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #998"
        },
        {
          "time": "05:04:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:04:27",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:04:27",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:04:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #999"
        },
        {
          "time": "05:04:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:04:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=레어 몬스터? 그거 그냥 해충이에요 - chippi | 뉴토끼, links=61"
        },
        {
          "time": "05:05:15",
          "message": "작품 제목: 레어 몬스터? 그거 그냥 해충이에요 - chippi"
        },
        {
          "time": "05:05:16",
          "message": "메타데이터 태그 저장: chippi, 레어 몬스터? 그거 그냥 해충이에요"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_36794",
        "target_id": "manhwa_36794",
        "title": "레어 몬스터? 그거 그냥 해충이에요 - chippi",
        "episodes_found": 59,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 59,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_36794",
          "title": "레어 몬스터? 그거 그냥 해충이에요 - chippi",
          "list_url": "https://newtoki1.org/manhwa/36794",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/36794"
          },
          "tags": [
            "chippi",
            "레어 몬스터? 그거 그냥 해충이에요"
          ],
          "description": "드론을 받은 고등학생 유우토는 시험 삼아 부엌의 지네를 신문지로 부수는 모습을 촬영한다. 하지만 유우토의 집은 모르는 사이에 던전으로 변해 있었고, 해충으로 오해했던 것이 레어 몬스터였다는 사실이 밝혀졌다!? 촬영된 영상은 드론 설정에 따라 자동으로 전송되어 전 세계를 충격에 빠뜨리게",
          "metadata_path": "/downloads/manhwa_36794/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 59,
        "total": 59,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "88668f182e",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:16:56",
      "started_at": "2026-06-04T05:01:16",
      "finished_at": "2026-06-04T05:03:29",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35088",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35088",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:37:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:37:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:37:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:38:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:48:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:48:55"
        },
        {
          "time": "08:48:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:48:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:50:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:50:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:00:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:00:35"
        },
        {
          "time": "09:00:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:00:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:01:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:01:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:11:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:11:42"
        },
        {
          "time": "09:11:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:11:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:12:23",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:12:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:22:58",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:22:58"
        },
        {
          "time": "09:22:58",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:22:58",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:22:59",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:23:34",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:34:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:34:08"
        },
        {
          "time": "09:34:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:34:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:35:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:35:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:45:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:45:35"
        },
        {
          "time": "09:45:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:45:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:45:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:46:15",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:56:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:56:25"
        },
        {
          "time": "09:56:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:56:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:56:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:57:06",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:07:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:07:10"
        },
        {
          "time": "10:07:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:07:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:13:04",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:13:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:23:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:23:08"
        },
        {
          "time": "10:23:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:23:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:23:09",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:23:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:33:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:33:22"
        },
        {
          "time": "10:33:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:33:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:34:35",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:35:09",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:45:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:45:09"
        },
        {
          "time": "10:45:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:45:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:45:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:45:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:55:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:55:33"
        },
        {
          "time": "10:55:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:55:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:55:39",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:56:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:06:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:06:14"
        },
        {
          "time": "11:06:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:06:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:06:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:06:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:16:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:16:25"
        },
        {
          "time": "11:16:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:16:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:17:51",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:17:54",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:27:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:27:59"
        },
        {
          "time": "11:27:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:27:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:30:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:30:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:40:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:40:17"
        },
        {
          "time": "11:40:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:40:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:40:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:40:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:50:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:50:21"
        },
        {
          "time": "11:50:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:50:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:50:21",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:50:56",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:00:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:00:56"
        },
        {
          "time": "12:00:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:00:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:00:57",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:01:00",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:11:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:11:05"
        },
        {
          "time": "12:11:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:11:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:14:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:14:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:27:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:27:43"
        },
        {
          "time": "12:27:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:27:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:44:41",
          "message": "작품 제목: theajack.github.io"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:50:55",
          "message": "작품 제목: 35088"
        },
        {
          "time": "13:00:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:00:57"
        },
        {
          "time": "13:00:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:00:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:47:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #154"
        },
        {
          "time": "19:47:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:47:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다 | 뉴토끼, links=14"
        },
        {
          "time": "19:47:31",
          "message": "작품 제목: 세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다"
        },
        {
          "time": "19:47:32",
          "message": "메타데이터 태그 저장: 두 번째는 나., 세상에서 제일 '귀여운' 아마미야, 아미노 하다"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:21:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #907"
        },
        {
          "time": "05:21:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:22:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다 | 뉴토끼, links=14"
        },
        {
          "time": "05:22:11",
          "message": "작품 제목: 세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다"
        },
        {
          "time": "05:22:11",
          "message": "메타데이터 태그 저장: 두 번째는 나., 세상에서 제일 '귀여운' 아마미야, 아미노 하다"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:34:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #205"
        },
        {
          "time": "19:34:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:34:52",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "19:34:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #206"
        },
        {
          "time": "19:34:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:35:13",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "19:35:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #207"
        },
        {
          "time": "19:35:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:35:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다 | 뉴토끼, links=14"
        },
        {
          "time": "19:35:27",
          "message": "작품 제목: 세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다"
        },
        {
          "time": "19:35:27",
          "message": "메타데이터 태그 저장: 두 번째는 나., 세상에서 제일 '귀여운' 아마미야, 아미노 하다"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:31:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #463"
        },
        {
          "time": "11:31:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:31:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다 | 뉴토끼, links=14"
        },
        {
          "time": "11:32:28",
          "message": "작품 제목: 세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다"
        },
        {
          "time": "11:32:28",
          "message": "메타데이터 태그 저장: 두 번째는 나., 세상에서 제일 '귀여운' 아마미야, 아미노 하다"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:01:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #995"
        },
        {
          "time": "05:01:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:02:16",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:02:16",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:02:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #996"
        },
        {
          "time": "05:02:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:02:37",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh4.com/manhwa/35088, title=(제목 없음), links=0, ready=unknown, text=Frame with ID 0 is showing error page, reason=series_links_missing"
        },
        {
          "time": "05:02:38",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 마지막 목록 스냅샷: url=https://sbxh4.com/manhwa/35088, title=(제목 없음), links=0, ready=unknown, text=Frame with ID 0 is showing error page. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "05:02:38",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:02:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #997"
        },
        {
          "time": "05:02:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:02:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다 | 뉴토끼, links=14"
        },
        {
          "time": "05:03:27",
          "message": "작품 제목: 세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다"
        },
        {
          "time": "05:03:28",
          "message": "메타데이터 태그 저장: 두 번째는 나., 세상에서 제일 '귀여운' 아마미야, 아미노 하다"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35088",
        "target_id": "manhwa_35088",
        "title": "세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다",
        "episodes_found": 12,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 12,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35088",
          "title": "세상에서 제일 '귀여운' 아마미야, 두 번째는 나. - 아미노 하다",
          "list_url": "https://newtoki1.org/manhwa/35088",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35088"
          },
          "tags": [
            "두 번째는 나.",
            "세상에서 제일 '귀여운' 아마미야",
            "아미노 하다"
          ],
          "description": "세계에서 가장 귀여운 미소녀 모델 hikari의 정체는 남고생!? 그 비밀이 반 친구 아메미야상에게 들켰을 때--사랑이 시작된다.",
          "metadata_path": "/downloads/manhwa_35088/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 12,
        "total": 12,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "bc6bab98ce",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:16:26",
      "started_at": "2026-06-04T04:59:56",
      "finished_at": "2026-06-04T05:01:16",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "이러는 게 좋아 - 소우류",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/23387",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_23387",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:38:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:38:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:39:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:39:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:50:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:50:22"
        },
        {
          "time": "08:50:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:50:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:50:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:50:43",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:01:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:01:12"
        },
        {
          "time": "09:01:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:01:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:01:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:01:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:12:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:12:18"
        },
        {
          "time": "09:12:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:12:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:13:01",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:13:19",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:23:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:23:34"
        },
        {
          "time": "09:23:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:23:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:23:39",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:23:43",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:34:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:34:08"
        },
        {
          "time": "09:34:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:34:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:35:35",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:36:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:46:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:46:16"
        },
        {
          "time": "09:46:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:46:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:46:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:46:56",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:57:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:57:06"
        },
        {
          "time": "09:57:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:57:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:58:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:58:48",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:09:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:09:33"
        },
        {
          "time": "10:09:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:09:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:13:13",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:13:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:23:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:23:48"
        },
        {
          "time": "10:23:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:23:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:23:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:24:24",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:34:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:34:33"
        },
        {
          "time": "10:34:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:34:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:35:48",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:35:51",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:45:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:45:51"
        },
        {
          "time": "10:45:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:45:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:45:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:45:59",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:56:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:56:14"
        },
        {
          "time": "10:56:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:56:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:56:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:57:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:07:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:07:31"
        },
        {
          "time": "11:07:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:07:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:07:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:07:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:17:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:17:50"
        },
        {
          "time": "11:17:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:17:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:19:03",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:19:37",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:30:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:30:12"
        },
        {
          "time": "11:30:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:30:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:30:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:30:57",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:41:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:41:28"
        },
        {
          "time": "11:41:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:41:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:41:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:42:04",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:52:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:52:04"
        },
        {
          "time": "11:52:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:52:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:52:06",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:52:54",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:02:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:02:54"
        },
        {
          "time": "12:02:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:02:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:02:56",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:03:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:13:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:13:33"
        },
        {
          "time": "12:13:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:13:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:14:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:15:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:27:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:27:43"
        },
        {
          "time": "12:27:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:27:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:45:31",
          "message": "작품 제목: theajack.github.io"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:49:34",
          "message": "작품 제목: 23387"
        },
        {
          "time": "12:59:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:59:43"
        },
        {
          "time": "12:59:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:59:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:43:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #147"
        },
        {
          "time": "19:43:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:43:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이러는 게 좋아 - 소우류 | 뉴토끼, links=306"
        },
        {
          "time": "19:43:28",
          "message": "작품 제목: 이러는 게 좋아 - 소우류"
        },
        {
          "time": "19:43:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #148"
        },
        {
          "time": "19:43:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:43:28",
          "message": "메타데이터 태그 저장: 소우류, 이러는 게 좋아"
        },
        {
          "time": "19:43:28",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "19:43:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이러는 게 좋아 60-1화 | 뉴토끼, images=27"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:22:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #908"
        },
        {
          "time": "05:22:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:22:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이러는 게 좋아 - 소우류 | 뉴토끼, links=306"
        },
        {
          "time": "05:22:58",
          "message": "작품 제목: 이러는 게 좋아 - 소우류"
        },
        {
          "time": "05:22:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #909"
        },
        {
          "time": "05:22:58",
          "message": "메타데이터 태그 저장: 소우류, 이러는 게 좋아"
        },
        {
          "time": "05:22:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:23:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이러는 게 좋아 60-1화 | 뉴토끼, img_tags=38, image_urls=36"
        },
        {
          "time": "05:23:30",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:34:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #204"
        },
        {
          "time": "19:34:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:34:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이러는 게 좋아 - 소우류 | 뉴토끼, links=306"
        },
        {
          "time": "19:34:31",
          "message": "작품 제목: 이러는 게 좋아 - 소우류"
        },
        {
          "time": "19:34:31",
          "message": "메타데이터 태그 저장: 소우류, 이러는 게 좋아"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:32:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #464"
        },
        {
          "time": "11:32:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:33:49",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:33:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #465"
        },
        {
          "time": "11:33:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:33:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이러는 게 좋아 - 소우류 | 뉴토끼, links=307"
        },
        {
          "time": "11:34:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #466"
        },
        {
          "time": "11:34:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:34:16",
          "message": "작품 제목: 이러는 게 좋아 - 소우류"
        },
        {
          "time": "11:34:17",
          "message": "메타데이터 태그 저장: 소우류, 이러는 게 좋아"
        },
        {
          "time": "11:34:18",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "11:34:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이러는 게 좋아 60-2화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:59:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #994"
        },
        {
          "time": "04:59:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:01:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이러는 게 좋아 - 소우류 | 뉴토끼, links=307"
        },
        {
          "time": "05:01:12",
          "message": "작품 제목: 이러는 게 좋아 - 소우류"
        },
        {
          "time": "05:01:14",
          "message": "메타데이터 태그 저장: 소우류, 이러는 게 좋아"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23387",
        "target_id": "manhwa_23387",
        "title": "이러는 게 좋아 - 소우류",
        "episodes_found": 305,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 305,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23387",
          "title": "이러는 게 좋아 - 소우류",
          "list_url": "https://newtoki1.org/manhwa/23387",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23387"
          },
          "tags": [
            "소우류",
            "이러는 게 좋아"
          ],
          "description": "원작이 히토미에 있는 만큼 이 만화도 수위가 높고 내용이랄게 딱히 없기 때문에 가벼운 성인지 느낌으로 보기에 적합하다... 그런데 연재가 진행되면서 에로의 빈도가 점점 줄어들어 잔잔한 일상 치유물 방향으로 가고 있다. 원작이든 만화든 섹스할 때의 컷 구도가 정적이고 묘사가 상세하지 않",
          "metadata_path": "/downloads/manhwa_23387/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 305,
        "total": 305,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "f445bccde1",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:16:19",
      "started_at": "2026-06-04T04:57:19",
      "finished_at": "2026-06-04T04:59:55",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "모모구사 양은 게으름뱅이!! - 안미 츠키",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35605",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35605",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:01:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:01:12"
        },
        {
          "time": "09:01:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:01:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:01:59",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:02:02",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:12:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:12:18"
        },
        {
          "time": "09:12:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:12:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:13:20",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:13:23",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:23:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:23:34"
        },
        {
          "time": "09:23:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:23:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:23:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:24:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:34:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:34:50"
        },
        {
          "time": "09:34:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:34:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:36:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:36:15",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:46:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:46:16"
        },
        {
          "time": "09:46:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:46:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:46:57",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:47:32",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:58:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:58:43"
        },
        {
          "time": "09:58:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:58:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:58:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:59:55",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:10:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:10:09"
        },
        {
          "time": "10:10:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:10:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:13:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:13:20",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:23:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:23:48"
        },
        {
          "time": "10:23:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:23:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:24:25",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:24:28",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:34:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:34:33"
        },
        {
          "time": "10:34:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:34:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:35:52",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:36:26",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:46:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:46:26"
        },
        {
          "time": "10:46:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:46:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:46:28",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:47:07",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:57:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:57:31"
        },
        {
          "time": "10:57:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:57:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:57:33",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:57:36",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:07:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:07:36"
        },
        {
          "time": "11:07:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:07:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:07:38",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:07:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:17:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:17:50"
        },
        {
          "time": "11:17:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:17:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:19:38",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:19:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:30:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:30:12"
        },
        {
          "time": "11:30:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:30:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:30:58",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:31:02",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:41:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:41:28"
        },
        {
          "time": "11:41:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:41:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:42:05",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:42:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:52:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:52:54"
        },
        {
          "time": "11:52:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:52:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:52:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:52:58",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:03:29",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:03:29"
        },
        {
          "time": "12:03:29",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:03:29",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:03:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:03:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:13:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:13:33"
        },
        {
          "time": "12:13:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:13:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:15:33",
          "message": "SSL protocol 오류 페이지 감지: 브라우저 리로드 재시도 1/3"
        },
        {
          "time": "12:15:38",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:27:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:27:43"
        },
        {
          "time": "12:27:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:27:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:46:20",
          "message": "작품 제목: 갸루 밥(쿠킹 걸) - 타이요우 마리이"
        },
        {
          "time": "12:46:20",
          "message": "메타데이터 태그 저장: 갸루 밥(쿠킹 걸, 타이요우 마리이"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:49:27",
          "message": "작품 제목: 35605"
        },
        {
          "time": "12:59:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:59:43"
        },
        {
          "time": "12:59:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:59:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:40:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #144"
        },
        {
          "time": "19:40:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:40:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=모모구사 양은 게으름뱅이!! - 안미 츠키 | 뉴토끼, links=36"
        },
        {
          "time": "19:40:14",
          "message": "작품 제목: 모모구사 양은 게으름뱅이!! - 안미 츠키"
        },
        {
          "time": "19:40:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #145"
        },
        {
          "time": "19:40:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:40:15",
          "message": "메타데이터 태그 저장: 모모구사 양은 게으름뱅이!!, 안미 츠키"
        },
        {
          "time": "19:40:15",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "19:40:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=모모구사 양은 게으름뱅이!! 14.1화 모모구사 양은 게으…이!! 14.1화 | 뉴토끼, images=27"
        },
        {
          "time": "19:40:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #146"
        },
        {
          "time": "19:40:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:40:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=모모구사 양은 게으름뱅이!! 28화 모모구사 양은 게으…름뱅이!! 28화 | 뉴토끼, images=39"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:24:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #910"
        },
        {
          "time": "05:24:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:25:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=모모구사 양은 게으름뱅이!! - 안미 츠키 | 뉴토끼, links=36"
        },
        {
          "time": "05:25:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #911"
        },
        {
          "time": "05:25:02",
          "message": "작품 제목: 모모구사 양은 게으름뱅이!! - 안미 츠키"
        },
        {
          "time": "05:25:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:25:02",
          "message": "메타데이터 태그 저장: 모모구사 양은 게으름뱅이!!, 안미 츠키"
        },
        {
          "time": "05:25:02",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:25:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=모모구사 양은 게으름뱅이!! 14.1화 모모구사 양은 게으…이!! 14.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:33:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #202"
        },
        {
          "time": "19:33:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:34:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=모모구사 양은 게으름뱅이!! - 안미 츠키 | 뉴토끼, links=36"
        },
        {
          "time": "19:34:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #203"
        },
        {
          "time": "19:34:03",
          "message": "작품 제목: 모모구사 양은 게으름뱅이!! - 안미 츠키"
        },
        {
          "time": "19:34:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:34:03",
          "message": "메타데이터 태그 저장: 모모구사 양은 게으름뱅이!!, 안미 츠키"
        },
        {
          "time": "19:34:03",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "19:34:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=모모구사 양은 게으름뱅이!! 14.1화 모모구사 양은 게으…이!! 14.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:35:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #467"
        },
        {
          "time": "11:35:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:36:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=모모구사 양은 게으름뱅이!! - 안미 츠키 | 뉴토끼, links=36"
        },
        {
          "time": "11:36:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #468"
        },
        {
          "time": "11:36:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:36:14",
          "message": "작품 제목: 모모구사 양은 게으름뱅이!! - 안미 츠키"
        },
        {
          "time": "11:36:14",
          "message": "메타데이터 태그 저장: 모모구사 양은 게으름뱅이!!, 안미 츠키"
        },
        {
          "time": "11:36:15",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "11:36:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=모모구사 양은 게으름뱅이!! 14.1화 모모구사 양은 게으…이!! 14.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:58:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #992"
        },
        {
          "time": "04:58:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:58:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=모모구사 양은 게으름뱅이!! - 안미 츠키 | 뉴토끼, links=36"
        },
        {
          "time": "04:58:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #993"
        },
        {
          "time": "04:59:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:59:17",
          "message": "작품 제목: 모모구사 양은 게으름뱅이!! - 안미 츠키"
        },
        {
          "time": "04:59:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=모모구사 양은 게으름뱅이!! 14.1화 모모구사 양은 게으…이!! 14.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "04:59:18",
          "message": "메타데이터 태그 저장: 모모구사 양은 게으름뱅이!!, 안미 츠키"
        },
        {
          "time": "04:59:53",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35605",
        "target_id": "manhwa_35605",
        "title": "모모구사 양은 게으름뱅이!! - 안미 츠키",
        "episodes_found": 34,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 33,
        "images_found": 2,
        "images_downloaded": 0,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35605",
          "title": "모모구사 양은 게으름뱅이!! - 안미 츠키",
          "list_url": "https://newtoki1.org/manhwa/35605",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35605"
          },
          "tags": [
            "모모구사 양은 게으름뱅이!!",
            "안미 츠키"
          ],
          "description": "모모구사 양은 게으름뱅이!! (안미 츠키)",
          "metadata_path": "/downloads/manhwa_35605/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 15,
          "url": "https://newtoki1.org/manhwa/35605/1793083",
          "title": "모모구사 양은 게으름뱅이!! 14.1화 모모구사 양은 게으…이!! 14.1화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "8684b793a4",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:15:30",
      "started_at": "2026-06-04T04:55:14",
      "finished_at": "2026-06-04T04:57:19",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "유루캠△ - AFRO",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3822",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3822",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:46:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:46:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:47:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:48:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:58:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:58:43"
        },
        {
          "time": "09:58:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:58:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:59:56",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:00:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:10:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:10:45"
        },
        {
          "time": "10:10:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:10:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:13:22",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:13:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:23:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:23:48"
        },
        {
          "time": "10:23:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:23:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:24:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:24:33",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:34:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:34:33"
        },
        {
          "time": "10:34:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:34:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:36:28",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:36:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:47:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:47:07"
        },
        {
          "time": "10:47:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:47:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:47:09",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:47:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:57:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:57:31"
        },
        {
          "time": "10:57:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:57:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:57:38",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:57:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:07:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:07:41"
        },
        {
          "time": "11:07:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:07:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:07:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:08:16",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:19:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:19:02"
        },
        {
          "time": "11:19:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:19:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:19:42",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:19:45",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:30:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:30:12"
        },
        {
          "time": "11:30:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:30:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:31:03",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:31:39",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:42:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:42:04"
        },
        {
          "time": "11:42:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:42:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:42:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:42:13",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:52:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:52:54"
        },
        {
          "time": "11:52:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:52:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:53:00",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:53:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:03:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:03:35"
        },
        {
          "time": "12:03:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:03:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:03:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:04:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:14:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:14:13"
        },
        {
          "time": "12:14:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:14:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:15:42",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:15:45",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:27:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:27:43"
        },
        {
          "time": "12:27:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:27:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:05",
          "message": "[!] 전체 중지 요청을 받았습니다."
        },
        {
          "time": "12:47:05",
          "message": "작품 제목: 3822"
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:48:11",
          "message": "작품 제목: 3822"
        },
        {
          "time": "12:49:11",
          "message": "[!] 작업 이벤트 저장 큐 flush 실패: 작업 이벤트 저장 큐 flush가 시간 내 완료되지 않았습니다."
        },
        {
          "time": "12:59:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:59:43"
        },
        {
          "time": "12:59:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:59:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:37:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #141"
        },
        {
          "time": "19:37:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:38:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유루캠△ - AFRO | 뉴토끼, links=118"
        },
        {
          "time": "19:38:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #142"
        },
        {
          "time": "19:38:04",
          "message": "작품 제목: 유루캠△ - AFRO"
        },
        {
          "time": "19:38:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:38:04",
          "message": "메타데이터 태그 저장: AFRO, 유루캠△"
        },
        {
          "time": "19:38:04",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "19:38:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=유루캠△ 번외편 5화 유루캠Δ 번외편 5화 | 뉴토끼, images=27"
        },
        {
          "time": "19:38:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #143"
        },
        {
          "time": "19:38:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:38:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=유루캠△ 번외편 11화 유루캠Δ 번외편 11화 | 뉴토끼, images=27"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:26:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #912"
        },
        {
          "time": "05:26:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:26:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유루캠△ - AFRO | 뉴토끼, links=118"
        },
        {
          "time": "05:26:32",
          "message": "작품 제목: 유루캠△ - AFRO"
        },
        {
          "time": "05:26:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #913"
        },
        {
          "time": "05:26:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:26:33",
          "message": "메타데이터 태그 저장: AFRO, 유루캠△"
        },
        {
          "time": "05:26:33",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "05:26:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=유루캠△ 번외편 5화 유루캠Δ 번외편 5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:27:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #914"
        },
        {
          "time": "05:27:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:27:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #915"
        },
        {
          "time": "05:27:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:28:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #916"
        },
        {
          "time": "05:28:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:28:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=유루캠△ 번외편 11화 유루캠Δ 번외편 11화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:32:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #199"
        },
        {
          "time": "19:32:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:32:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유루캠△ - AFRO | 뉴토끼, links=118"
        },
        {
          "time": "19:32:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #200"
        },
        {
          "time": "19:32:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:32:53",
          "message": "작품 제목: 유루캠△ - AFRO"
        },
        {
          "time": "19:32:53",
          "message": "메타데이터 태그 저장: AFRO, 유루캠△"
        },
        {
          "time": "19:32:53",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "19:33:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=유루캠△ 번외편 5화 유루캠Δ 번외편 5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:33:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #201"
        },
        {
          "time": "19:33:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:33:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=유루캠△ 번외편 11화 유루캠Δ 번외편 11화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:36:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #469"
        },
        {
          "time": "11:36:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:37:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유루캠△ - AFRO | 뉴토끼, links=118"
        },
        {
          "time": "11:37:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #470"
        },
        {
          "time": "11:37:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:37:21",
          "message": "작품 제목: 유루캠△ - AFRO"
        },
        {
          "time": "11:37:22",
          "message": "메타데이터 태그 저장: AFRO, 유루캠△"
        },
        {
          "time": "11:37:22",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "11:37:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=유루캠△ 번외편 5화 유루캠Δ 번외편 5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "11:38:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #471"
        },
        {
          "time": "11:38:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:38:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=유루캠△ 번외편 11화 유루캠Δ 번외편 11화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:55:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #988"
        },
        {
          "time": "04:55:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:55:37",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:55:38",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:55:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #989"
        },
        {
          "time": "04:55:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:55:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=유루캠△ - AFRO | 뉴토끼, links=118"
        },
        {
          "time": "04:56:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #990"
        },
        {
          "time": "04:56:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:56:28",
          "message": "작품 제목: 유루캠△ - AFRO"
        },
        {
          "time": "04:56:29",
          "message": "메타데이터 태그 저장: AFRO, 유루캠△"
        },
        {
          "time": "04:56:30",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "04:56:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=유루캠△ 번외편 5화 유루캠Δ 번외편 5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "04:56:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #991"
        },
        {
          "time": "04:56:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:56:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=유루캠△ 번외편 11화 유루캠Δ 번외편 11화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 2)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3822",
        "target_id": "manhwa_3822",
        "title": "유루캠△ - AFRO",
        "episodes_found": 116,
        "episodes_processed": 2,
        "episodes_failed": 0,
        "episodes_skipped": 114,
        "images_found": 4,
        "images_downloaded": 0,
        "images_skipped": 4,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3822",
          "title": "유루캠△ - AFRO",
          "list_url": "https://newtoki1.org/manhwa/3822",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3822"
          },
          "tags": [
            "AFRO",
            "유루캠△"
          ],
          "description": "읽으면 읽을수록 캠핑을 떠나고픈! 가지 않아도 다녀온 것만 같은! 즐겁고, 맛있고, 따뜻한 캠핑만화 등장! 혼자서 캠핑하길 좋아하는 여자아이, 린. 린과 만나 캠핑을 하게 된 여자아이, 나데시코. 야외 활동 서클, 줄여서 `야클`의 동료 치아키와 아오이 여자아이들이 밖에서 지내는 시간,",
          "metadata_path": "/downloads/manhwa_3822/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 2,
        "total": 2,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 6,
          "url": "https://newtoki1.org/manhwa/3822/26991",
          "title": "유루캠△ 번외편 5화 유루캠Δ 번외편 5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 14,
          "url": "https://newtoki1.org/manhwa/3822/26992",
          "title": "유루캠△ 번외편 11화 유루캠Δ 번외편 11화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "be65c787dd",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:14:59",
      "started_at": "2026-06-04T04:53:35",
      "finished_at": "2026-06-04T04:55:14",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "비실비실선생 - 후쿠치 카미오",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/34135",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_34135",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "05:31:25",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "05:31:25",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "05:31:25",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "05:31:25",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "05:31:25",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/34135"
        },
        {
          "time": "05:31:25",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34135"
        },
        {
          "time": "05:31:45",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/34135\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/34135"
        },
        {
          "time": "06:48:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T06:48:51"
        },
        {
          "time": "06:48:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:48:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "21:39:11",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "21:40:41",
          "message": "기존 완료 기록을 적용합니다: 175개 회차"
        },
        {
          "time": "21:40:41",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "21:40:41",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "21:40:41",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "21:40:41",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "21:40:41",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/34135"
        },
        {
          "time": "21:40:41",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34135"
        },
        {
          "time": "21:40:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "21:40:58",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "21:40:58",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "21:40:58",
          "message": "메타데이터 저장: /downloads/manhwa_34135/metadata.yaml"
        },
        {
          "time": "21:40:58",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "21:40:58",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "21:51:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T21:51:49"
        },
        {
          "time": "21:51:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:51:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:07:54",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "23:09:35",
          "message": "기존 완료 기록을 적용합니다: 175개 회차"
        },
        {
          "time": "23:09:35",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "23:09:35",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "23:09:35",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "23:09:35",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "23:09:35",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/34135"
        },
        {
          "time": "23:09:35",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34135"
        },
        {
          "time": "23:09:48",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "23:09:51",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "23:09:52",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "23:09:52",
          "message": "메타데이터 저장: /downloads/manhwa_34135/metadata.yaml"
        },
        {
          "time": "23:09:52",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "23:09:52",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "23:20:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T23:20:53"
        },
        {
          "time": "23:20:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:20:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:33:06",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "01:34:34",
          "message": "기존 완료 기록을 적용합니다: 175개 회차"
        },
        {
          "time": "01:34:34",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "01:34:34",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "01:34:34",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "01:34:34",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "01:34:34",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/34135"
        },
        {
          "time": "01:34:34",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34135"
        },
        {
          "time": "01:34:51",
          "message": "작품 제목: 비실비실선생 - 후쿠치 카미오"
        },
        {
          "time": "01:34:51",
          "message": "메타데이터 저장: /downloads/manhwa_34135/metadata.yaml"
        },
        {
          "time": "01:34:51",
          "message": "메타데이터 태그 저장: 비실비실선생, 후쿠치 카미오"
        },
        {
          "time": "01:34:51",
          "message": "기존 완료 회차 175개 제외"
        },
        {
          "time": "01:34:52",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "01:34:52",
          "message": "총 177개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "01:34:52",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/34135/u-mp5fn8cn-yn4r"
        },
        {
          "time": "01:34:52",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34135/u-mp5fn8cn-yn4r"
        },
        {
          "time": "01:35:01",
          "message": "  [i] 회차 제목: 비실비실선생 164화"
        },
        {
          "time": "01:35:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/001.jpg"
        },
        {
          "time": "01:35:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/002.jpg"
        },
        {
          "time": "01:35:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/003.jpg"
        },
        {
          "time": "01:35:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/004.jpg"
        },
        {
          "time": "01:35:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/005.jpg"
        },
        {
          "time": "01:35:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/006.jpg"
        },
        {
          "time": "01:35:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/007.jpg"
        },
        {
          "time": "01:35:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/008.jpg"
        },
        {
          "time": "01:35:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/009.jpg"
        },
        {
          "time": "01:35:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/010.jpg"
        },
        {
          "time": "01:35:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/011.jpg"
        },
        {
          "time": "01:35:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/012.jpg"
        },
        {
          "time": "01:35:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/013.jpg"
        },
        {
          "time": "01:35:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_174/014.jpg"
        },
        {
          "time": "01:35:25",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "01:35:26",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/34135/u-mpdrsfm4-egt7"
        },
        {
          "time": "01:35:26",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/34135/u-mpdrsfm4-egt7"
        },
        {
          "time": "01:35:35",
          "message": "  [i] 회차 제목: 비실비실선생 167화"
        },
        {
          "time": "01:35:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/001.png"
        },
        {
          "time": "01:35:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/002.png"
        },
        {
          "time": "01:35:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/003.png"
        },
        {
          "time": "01:35:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/004.png"
        },
        {
          "time": "01:35:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/005.png"
        },
        {
          "time": "01:35:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/006.png"
        },
        {
          "time": "01:35:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/007.png"
        },
        {
          "time": "01:35:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/008.png"
        },
        {
          "time": "01:35:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/009.png"
        },
        {
          "time": "01:35:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/010.png"
        },
        {
          "time": "01:35:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/011.png"
        },
        {
          "time": "01:35:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/012.png"
        },
        {
          "time": "01:35:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/013.png"
        },
        {
          "time": "01:35:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_34135/ep_177/014.png"
        },
        {
          "time": "01:35:50",
          "message": "  [>] 이미지 14/14개 처리 완료.\n"
        },
        {
          "time": "01:35:51",
          "message": "완료: 회차 2개 처리, 이미지 28개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:05:09",
          "message": "작품 제목: 34135"
        },
        {
          "time": "06:15:35",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:15:34"
        },
        {
          "time": "06:15:35",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:15:35",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:54",
          "message": "작품 제목: 34135"
        },
        {
          "time": "13:22:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:22:08"
        },
        {
          "time": "13:22:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:22:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:37:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #139"
        },
        {
          "time": "19:37:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:37:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=비실비실선생 - 후쿠치 카미오 | 뉴토끼, links=180"
        },
        {
          "time": "19:37:25",
          "message": "작품 제목: 비실비실선생 - 후쿠치 카미오"
        },
        {
          "time": "19:37:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #140"
        },
        {
          "time": "19:37:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:37:25",
          "message": "메타데이터 태그 저장: 비실비실선생, 후쿠치 카미오"
        },
        {
          "time": "19:37:25",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "19:37:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비실비실선생 168화 | 뉴토끼, images=27"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:28:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #917"
        },
        {
          "time": "05:28:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:29:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=비실비실선생 - 후쿠치 카미오 | 뉴토끼, links=180"
        },
        {
          "time": "05:29:12",
          "message": "작품 제목: 비실비실선생 - 후쿠치 카미오"
        },
        {
          "time": "05:29:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #918"
        },
        {
          "time": "05:29:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:29:12",
          "message": "메타데이터 태그 저장: 비실비실선생, 후쿠치 카미오"
        },
        {
          "time": "05:29:12",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:29:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=비실비실선생 168화 | 뉴토끼, img_tags=47, image_urls=47"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:31:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #198"
        },
        {
          "time": "19:31:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:32:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=비실비실선생 - 후쿠치 카미오 | 뉴토끼, links=180"
        },
        {
          "time": "19:32:01",
          "message": "작품 제목: 비실비실선생 - 후쿠치 카미오"
        },
        {
          "time": "19:32:01",
          "message": "메타데이터 태그 저장: 비실비실선생, 후쿠치 카미오"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:39:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #472"
        },
        {
          "time": "11:39:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:40:08",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:40:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #473"
        },
        {
          "time": "11:40:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:40:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=비실비실선생 - 후쿠치 카미오 | 뉴토끼, links=180"
        },
        {
          "time": "11:40:55",
          "message": "작품 제목: 비실비실선생 - 후쿠치 카미오"
        },
        {
          "time": "11:40:55",
          "message": "메타데이터 태그 저장: 비실비실선생, 후쿠치 카미오"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:53:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #986"
        },
        {
          "time": "04:53:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:54:30",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:54:40",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:54:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #987"
        },
        {
          "time": "04:55:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:55:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=비실비실선생 - 후쿠치 카미오 | 뉴토끼, links=180"
        },
        {
          "time": "04:55:12",
          "message": "작품 제목: 비실비실선생 - 후쿠치 카미오"
        },
        {
          "time": "04:55:13",
          "message": "메타데이터 태그 저장: 비실비실선생, 후쿠치 카미오"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34135",
        "target_id": "manhwa_34135",
        "title": "비실비실선생 - 후쿠치 카미오",
        "episodes_found": 178,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 178,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34135",
          "title": "비실비실선생 - 후쿠치 카미오",
          "list_url": "https://newtoki1.org/manhwa/34135",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34135"
          },
          "tags": [
            "비실비실선생",
            "후쿠치 카미오"
          ],
          "description": "신학기. 2학년으로 진급한 남자 고등학생·아비쿠라 군의 반 담임 선생님은, 기분을 나쁘게 하면 저주를 받는다는 소문이 난 통칭 「무시무시 선생」 히와무라 히요리 선생님이었다! 그런 「무시무시 선생」의 이면을, 어느 날 방과 후 목격해 버린 아비쿠라 군은….",
          "metadata_path": "/downloads/manhwa_34135/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 178,
        "total": 178,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "db38a22a53",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:14:53",
      "started_at": "2026-06-04T04:52:25",
      "finished_at": "2026-06-04T04:53:35",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "오타쿠에게 상냥한 갸루는 없다?! - 우오즈미 사카나",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/32626",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_32626",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:15:27",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:26:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:26:23"
        },
        {
          "time": "08:26:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:26:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:28:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:28:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:39:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:39:11"
        },
        {
          "time": "08:39:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:39:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:41:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:41:39",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "08:51:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T08:51:40"
        },
        {
          "time": "08:51:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:51:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:51:41",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "08:52:15",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:02:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:02:39"
        },
        {
          "time": "09:02:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:02:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:02:41",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:02:44",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:12:59",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:12:59"
        },
        {
          "time": "09:12:59",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:12:59",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:13:29",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:14:05",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:24:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:24:20"
        },
        {
          "time": "09:24:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:24:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:24:57",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:25:00",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:35:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:35:25"
        },
        {
          "time": "09:35:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:35:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:36:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:36:57",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:47:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:47:32"
        },
        {
          "time": "09:47:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:47:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "09:48:09",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "09:48:12",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "09:58:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T09:58:43"
        },
        {
          "time": "09:58:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "09:58:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:00:33",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:00:36",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:10:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:10:45"
        },
        {
          "time": "10:10:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:10:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:13:26",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:13:59",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:24:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:24:24"
        },
        {
          "time": "10:24:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:24:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:24:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:25:10",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:35:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:35:45"
        },
        {
          "time": "10:35:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:35:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:36:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:36:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:47:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:47:07"
        },
        {
          "time": "10:47:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:47:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:47:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:47:48",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "10:57:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T10:57:48"
        },
        {
          "time": "10:57:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:57:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:57:49",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "10:57:53",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:08:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:08:16"
        },
        {
          "time": "11:08:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:08:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:08:18",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:08:52",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:19:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:19:02"
        },
        {
          "time": "11:19:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:19:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:19:46",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:19:49",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:30:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:30:12"
        },
        {
          "time": "11:30:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:30:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:31:41",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:31:44",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:42:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:42:04"
        },
        {
          "time": "11:42:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:42:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:42:14",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:42:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "11:52:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T11:52:54"
        },
        {
          "time": "11:52:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:52:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "11:53:36",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "11:54:11",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:04:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:04:11"
        },
        {
          "time": "12:04:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:04:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:04:12",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:04:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:14:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:14:50"
        },
        {
          "time": "12:14:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:14:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:15:46",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "12:15:55",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "12:27:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T12:27:43"
        },
        {
          "time": "12:27:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:27:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:05",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:48",
          "message": "작품 제목: 32626"
        },
        {
          "time": "13:21:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:21:49"
        },
        {
          "time": "13:21:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:21:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:36:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #138"
        },
        {
          "time": "19:36:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:37:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠에게 상냥한 갸루는 없다 - 우오즈미 사카나 | 뉴토끼, links=100"
        },
        {
          "time": "19:37:09",
          "message": "작품 제목: 오타쿠에게 상냥한 갸루는 없다 - 우오즈미 사카나"
        },
        {
          "time": "19:37:09",
          "message": "메타데이터 태그 저장: 오타쿠에게 상냥한 갸루는 없다, 우오즈미 사카나"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:30:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #919"
        },
        {
          "time": "05:30:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:30:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠에게 상냥한 갸루는 없다 - 우오즈미 사카나 | 뉴토끼, links=100"
        },
        {
          "time": "05:30:19",
          "message": "작품 제목: 오타쿠에게 상냥한 갸루는 없다 - 우오즈미 사카나"
        },
        {
          "time": "05:30:19",
          "message": "메타데이터 태그 저장: 오타쿠에게 상냥한 갸루는 없다, 우오즈미 사카나"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:31:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #197"
        },
        {
          "time": "19:31:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:31:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠에게 상냥한 갸루는 없다 - 우오즈미 사카나 | 뉴토끼, links=100"
        },
        {
          "time": "19:31:45",
          "message": "작품 제목: 오타쿠에게 상냥한 갸루는 없다 - 우오즈미 사카나"
        },
        {
          "time": "19:31:45",
          "message": "메타데이터 태그 저장: 오타쿠에게 상냥한 갸루는 없다, 우오즈미 사카나"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:41:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #474"
        },
        {
          "time": "11:41:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:41:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠에게 상냥한 갸루는 없다?! - 우오즈미 사카나 | 뉴토끼, links=101"
        },
        {
          "time": "11:42:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #475"
        },
        {
          "time": "11:42:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:42:37",
          "message": "작품 제목: 오타쿠에게 상냥한 갸루는 없다?! - 우오즈미 사카나"
        },
        {
          "time": "11:42:38",
          "message": "메타데이터 태그 저장: 오타쿠에게 상냥한 갸루는 없다?!, 우오즈미 사카나"
        },
        {
          "time": "11:42:38",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "11:42:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=오타쿠에게 상냥한 갸루는 없다?! 100화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:52:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #984"
        },
        {
          "time": "04:52:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:52:48",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:52:48",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:52:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #985"
        },
        {
          "time": "04:52:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:53:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오타쿠에게 상냥한 갸루는 없다?! - 우오즈미 사카나 | 뉴토끼, links=101"
        },
        {
          "time": "04:53:34",
          "message": "작품 제목: 오타쿠에게 상냥한 갸루는 없다?! - 우오즈미 사카나"
        },
        {
          "time": "04:53:34",
          "message": "메타데이터 태그 저장: 오타쿠에게 상냥한 갸루는 없다?!, 우오즈미 사카나"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_32626",
        "target_id": "manhwa_32626",
        "title": "오타쿠에게 상냥한 갸루는 없다?! - 우오즈미 사카나",
        "episodes_found": 99,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 99,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_32626",
          "title": "오타쿠에게 상냥한 갸루는 없다?! - 우오즈미 사카나",
          "list_url": "https://newtoki1.org/manhwa/32626",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/32626"
          },
          "tags": [
            "오타쿠에게 상냥한 갸루는 없다?!",
            "우오즈미 사카나"
          ],
          "description": "반에서도 눈에 띄는 그룹의 여자아이 사오토메 마리아의 비밀...... 그것은 모에계 아이돌 `TEN`의 왕 팬이라는 사실. 그 비밀을 반에서도 전혀 존재감이 없는 수수한 아이 오토나시에게 들키고 마는데......? `비밀`을 품은 상성 최악 (!?) 두 사람의 학원 아이돌 코미디!",
          "metadata_path": "/downloads/manhwa_32626/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 99,
        "total": 99,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "cd71f01011",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-16T08:14:05",
      "started_at": "2026-06-04T03:21:50",
      "finished_at": "2026-06-04T03:22:52",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "도망을 잘 치는 도련님 - 마츠이 유세이",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/25541",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_25541",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "16:07:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_170/027.jpg"
        },
        {
          "time": "16:07:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_170/028.jpg"
        },
        {
          "time": "16:07:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_170/029.jpg"
        },
        {
          "time": "16:07:55",
          "message": "  [>] 이미지 29개 처리 완료.\n"
        },
        {
          "time": "16:07:56",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/25541/u-mp3ww5m1-jk62"
        },
        {
          "time": "16:07:56",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/25541/u-mp3ww5m1-jk62"
        },
        {
          "time": "16:08:07",
          "message": "  [i] 회차 제목: 도망을 잘 치는 도련님 171화"
        },
        {
          "time": "16:08:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/001.jpg"
        },
        {
          "time": "16:08:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/002.jpg"
        },
        {
          "time": "16:08:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/003.jpg"
        },
        {
          "time": "16:08:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/004.jpg"
        },
        {
          "time": "16:08:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/005.jpg"
        },
        {
          "time": "16:08:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/006.jpg"
        },
        {
          "time": "16:08:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/007.jpg"
        },
        {
          "time": "16:08:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/008.jpg"
        },
        {
          "time": "16:08:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/009.jpg"
        },
        {
          "time": "16:08:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/010.jpg"
        },
        {
          "time": "16:08:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/011.jpg"
        },
        {
          "time": "16:08:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/012.jpg"
        },
        {
          "time": "16:08:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/013.jpg"
        },
        {
          "time": "16:08:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/014.jpg"
        },
        {
          "time": "16:08:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/015.jpg"
        },
        {
          "time": "16:08:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/016.jpg"
        },
        {
          "time": "16:08:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/017.jpg"
        },
        {
          "time": "16:08:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/018.jpg"
        },
        {
          "time": "16:08:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/019.jpg"
        },
        {
          "time": "16:08:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_171/020.jpg"
        },
        {
          "time": "16:08:31",
          "message": "  [>] 이미지 20개 처리 완료.\n"
        },
        {
          "time": "16:08:32",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/25541/u-mp3wxarv-xy63"
        },
        {
          "time": "16:08:32",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/25541/u-mp3wxarv-xy63"
        },
        {
          "time": "16:08:42",
          "message": "  [i] 회차 제목: 도망을 잘 치는 도련님 172화"
        },
        {
          "time": "16:08:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/001.jpg"
        },
        {
          "time": "16:08:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/002.jpg"
        },
        {
          "time": "16:08:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/003.jpg"
        },
        {
          "time": "16:08:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/004.jpg"
        },
        {
          "time": "16:08:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/005.jpg"
        },
        {
          "time": "16:08:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/006.jpg"
        },
        {
          "time": "16:08:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/007.jpg"
        },
        {
          "time": "16:08:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/008.jpg"
        },
        {
          "time": "16:08:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/009.jpg"
        },
        {
          "time": "16:08:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/010.jpg"
        },
        {
          "time": "16:08:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/011.jpg"
        },
        {
          "time": "16:08:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/012.jpg"
        },
        {
          "time": "16:09:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/013.jpg"
        },
        {
          "time": "16:09:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/014.jpg"
        },
        {
          "time": "16:09:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/015.jpg"
        },
        {
          "time": "16:09:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/016.jpg"
        },
        {
          "time": "16:09:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/017.jpg"
        },
        {
          "time": "16:09:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/018.jpg"
        },
        {
          "time": "16:09:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/019.jpg"
        },
        {
          "time": "16:09:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/020.jpg"
        },
        {
          "time": "16:09:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/021.jpg"
        },
        {
          "time": "16:09:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_25541/ep_172/022.jpg"
        },
        {
          "time": "16:09:15",
          "message": "  [>] 이미지 22개 처리 완료.\n"
        },
        {
          "time": "16:09:16",
          "message": "완료: 회차 4개 처리, 이미지 96개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 4)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:19:25",
          "message": "작품 제목: 25541"
        },
        {
          "time": "06:29:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:29:44"
        },
        {
          "time": "06:29:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:29:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:41",
          "message": "작품 제목: 25541"
        },
        {
          "time": "13:21:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:21:49"
        },
        {
          "time": "13:21:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:21:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:20:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #126"
        },
        {
          "time": "19:20:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:20:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도망을 잘 치는 도련님 - 마츠이 유세이 | 뉴토끼, links=180"
        },
        {
          "time": "19:21:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #127"
        },
        {
          "time": "19:21:22",
          "message": "작품 제목: 도망을 잘 치는 도련님 - 마츠이 유세이"
        },
        {
          "time": "19:21:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:21:22",
          "message": "메타데이터 태그 저장: 도망을 잘 치는 도련님, 마츠이 유세이"
        },
        {
          "time": "19:21:23",
          "message": "순회 계획을 저장했습니다: 6개 회차"
        },
        {
          "time": "19:21:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=도망을 잘 치는 도련님 173화 | 뉴토끼, images=31"
        },
        {
          "time": "19:22:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #128"
        },
        {
          "time": "19:22:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:23:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #129"
        },
        {
          "time": "19:23:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:23:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=도망을 잘 치는 도련님 174화 | 뉴토끼, images=41"
        },
        {
          "time": "19:25:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #130"
        },
        {
          "time": "19:25:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:25:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #131"
        },
        {
          "time": "19:25:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:25:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=도망을 잘 치는 도련님 175화 | 뉴토끼, images=38"
        },
        {
          "time": "19:28:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #132"
        },
        {
          "time": "19:28:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:28:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #133"
        },
        {
          "time": "19:28:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:29:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=도망을 잘 치는 도련님 176화 | 뉴토끼, images=36"
        },
        {
          "time": "19:31:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #134"
        },
        {
          "time": "19:31:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:32:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #135"
        },
        {
          "time": "19:32:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:32:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=도망을 잘 치는 도련님 177화 | 뉴토끼, images=35"
        },
        {
          "time": "19:34:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #136"
        },
        {
          "time": "19:34:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:34:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #137"
        },
        {
          "time": "19:34:23",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:34:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=도망을 잘 치는 도련님 178화 | 뉴토끼, images=40"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:30:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #920"
        },
        {
          "time": "05:30:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:30:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도망을 잘 치는 도련님 - 마츠이 유세이 | 뉴토끼, links=180"
        },
        {
          "time": "05:30:34",
          "message": "작품 제목: 도망을 잘 치는 도련님 - 마츠이 유세이"
        },
        {
          "time": "05:30:34",
          "message": "메타데이터 태그 저장: 도망을 잘 치는 도련님, 마츠이 유세이"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:30:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #196"
        },
        {
          "time": "19:30:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:30:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도망을 잘 치는 도련님 - 마츠이 유세이 | 뉴토끼, links=180"
        },
        {
          "time": "19:31:14",
          "message": "작품 제목: 도망을 잘 치는 도련님 - 마츠이 유세이"
        },
        {
          "time": "19:31:14",
          "message": "메타데이터 태그 저장: 도망을 잘 치는 도련님, 마츠이 유세이"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:43:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #476"
        },
        {
          "time": "11:43:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:43:51",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:43:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #477"
        },
        {
          "time": "11:43:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:44:11",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "11:44:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #478"
        },
        {
          "time": "11:44:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:40:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-03T12:40:09"
        },
        {
          "time": "12:40:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:07:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #268"
        },
        {
          "time": "17:07:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:08:15",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/25541, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0604b8"
        },
        {
          "time": "17:08:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #269"
        },
        {
          "time": "17:08:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:08:36",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/25541, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0604c7"
        },
        {
          "time": "17:08:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #270"
        },
        {
          "time": "17:08:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:08:57",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/25541, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0604d0"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:37:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #798"
        },
        {
          "time": "01:37:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:38:48",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "01:38:48",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "01:38:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #799"
        },
        {
          "time": "01:38:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:39:08",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/25541, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a063386"
        },
        {
          "time": "01:39:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #800"
        },
        {
          "time": "01:39:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:39:54",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/25541, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a063397"
        },
        {
          "time": "01:39:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #801"
        },
        {
          "time": "01:39:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:40:16",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/manhwa/25541, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a0633a0"
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:22:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #860"
        },
        {
          "time": "03:22:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:22:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도망을 잘 치는 도련님 - 마츠이 유세이 | 뉴토끼, links=180"
        },
        {
          "time": "03:22:51",
          "message": "작품 제목: 도망을 잘 치는 도련님 - 마츠이 유세이"
        },
        {
          "time": "03:22:51",
          "message": "메타데이터 태그 저장: 도망을 잘 치는 도련님, 마츠이 유세이"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_25541",
        "target_id": "manhwa_25541",
        "title": "도망을 잘 치는 도련님 - 마츠이 유세이",
        "episodes_found": 178,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 178,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_25541",
          "title": "도망을 잘 치는 도련님 - 마츠이 유세이",
          "list_url": "https://newtoki1.org/manhwa/25541",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/25541"
          },
          "tags": [
            "도망을 잘 치는 도련님",
            "마츠이 유세이"
          ],
          "description": "막부의 후계자로서 살아갈 예정이었던 소년 호죠 토키유키는 갑작스러운 모반으로 고향도 가족도 전부 잃는다 .하지만 토키유키는 살아남는 것에 관해선 누구보다도 뛰어났다 .시나노쿠니의 신관 스와 요리시게에게 권유 받아 소년은 도망쳐 영웅이 되는 길을 걷기 시작 했다 !!!",
          "metadata_path": "/downloads/manhwa_25541/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 178,
        "total": 178,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "d3f5d14ef0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-14T12:07:46",
      "started_at": "2026-06-04T04:50:07",
      "finished_at": "2026-06-04T04:52:25",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "건물주 누나 - 콩비지",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/10557",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_10557",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "12:39:21",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/040.jpg"
        },
        {
          "time": "12:39:21",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/041.jpg"
        },
        {
          "time": "12:39:21",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/042.jpg"
        },
        {
          "time": "12:39:22",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/043.jpg"
        },
        {
          "time": "12:39:22",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/044.jpg"
        },
        {
          "time": "12:39:22",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/045.jpg"
        },
        {
          "time": "12:39:22",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/046.jpg"
        },
        {
          "time": "12:39:22",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/047.jpg"
        },
        {
          "time": "12:39:22",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/048.jpg"
        },
        {
          "time": "12:39:22",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/049.jpg"
        },
        {
          "time": "12:39:22",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/050.jpg"
        },
        {
          "time": "12:39:22",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/051.jpg"
        },
        {
          "time": "12:39:22",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/052.jpg"
        },
        {
          "time": "12:39:22",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/053.jpg"
        },
        {
          "time": "12:39:23",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/054.jpg"
        },
        {
          "time": "12:39:23",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/055.jpg"
        },
        {
          "time": "12:39:38",
          "message": "    [!] 이미지 다운로드 실패: https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg (페이지 fetch 실패 후 navigation fallback도 실패: Page.evaluate: TypeError: Failed to fetch\n    at eval (eval at evaluate (:302:30), <anonymous>:5:44)\n    at UtilityScript.evaluate (<anonymous>:309:18)\n    at UtilityScript.<anonymous> (<anonymous>:1:44); Page.goto: net::ERR_HTTP2_PROTOCOL_ERROR at https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg\nCall log:\n  - navigating to \"https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg\", waiting until \"load\"\n)"
        },
        {
          "time": "12:39:38",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/057.jpg"
        },
        {
          "time": "12:39:38",
          "message": "  [>] 이미지 56/57개 처리 완료.\n"
        },
        {
          "time": "12:39:39",
          "message": "완료: 회차 1개 처리, 이미지 0개 저장, 56개 건너뜀"
        },
        {
          "time": "14:47:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-24T14:47:57"
        },
        {
          "time": "14:47:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:47:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "16:01:14",
          "message": "대기열 순서를 변경했습니다: 22 -> 1"
        },
        {
          "time": "16:12:21",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:13:44",
          "message": "기존 완료 기록을 적용합니다: 156개 회차"
        },
        {
          "time": "16:13:44",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:14:04",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "16:14:04",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:14:04",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:14:04",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/10557"
        },
        {
          "time": "16:14:04",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/10557"
        },
        {
          "time": "16:14:25",
          "message": "작품 제목: 건물주 누나 - 콩비지"
        },
        {
          "time": "16:15:28",
          "message": "메타데이터 저장: /downloads/webtoon_10557/metadata.yaml"
        },
        {
          "time": "16:15:28",
          "message": "메타데이터 태그 저장: 건물주 누나, 드라마, 성인, 콩비지"
        },
        {
          "time": "16:15:28",
          "message": "기존 완료 회차 156개 제외"
        },
        {
          "time": "16:15:28",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "16:15:28",
          "message": "총 157개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:15:28",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/webtoon/10557/1482855"
        },
        {
          "time": "16:15:28",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/10557/1482855"
        },
        {
          "time": "16:15:54",
          "message": "  [i] 회차 제목: 건물주 누나 7화 150화 외전 13화"
        },
        {
          "time": "16:15:54",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/001.jpg"
        },
        {
          "time": "16:15:54",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/002.jpg"
        },
        {
          "time": "16:15:54",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/003.jpg"
        },
        {
          "time": "16:15:55",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/004.jpg"
        },
        {
          "time": "16:15:55",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/005.jpg"
        },
        {
          "time": "16:15:55",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/006.jpg"
        },
        {
          "time": "16:15:55",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/007.jpg"
        },
        {
          "time": "16:15:55",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/008.jpg"
        },
        {
          "time": "16:15:55",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/009.jpg"
        },
        {
          "time": "16:15:55",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/010.jpg"
        },
        {
          "time": "16:15:56",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/011.jpg"
        },
        {
          "time": "16:15:56",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/012.jpg"
        },
        {
          "time": "16:15:57",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/013.jpg"
        },
        {
          "time": "16:15:57",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/014.jpg"
        },
        {
          "time": "16:15:57",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/015.jpg"
        },
        {
          "time": "16:15:57",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/016.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/017.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/018.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/019.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/020.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/021.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/022.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/023.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/024.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/025.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/026.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/027.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/028.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/029.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/030.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/031.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/032.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/033.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/034.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/035.jpg"
        },
        {
          "time": "16:15:58",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/036.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/037.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/038.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/039.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/040.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/041.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/042.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/043.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/044.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/045.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/046.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/047.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/048.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/049.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/050.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/051.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/052.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/053.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/054.jpg"
        },
        {
          "time": "16:15:59",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/055.jpg"
        },
        {
          "time": "16:16:14",
          "message": "    [~] 이미지 네트워크/프로토콜 오류 재시도 1/2: https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg (페이지 fetch 실패 후 navigation fallback도 실패: Page.evaluate: TypeError: Failed to fetch\n    at eval (eval at evaluate (:302:30), <anonymous>:5:44)\n    at UtilityScript.evaluate (<anonymous>:309:18)\n    at UtilityScript.<anonymous> (<anonymous>:1:44); Page.goto: net::ERR_HTTP2_PROTOCOL_ERROR at https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg\nCall log:\n  - navigating to \"https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg\", waiting until \"load\"\n)"
        },
        {
          "time": "16:16:16",
          "message": "    [~] 이미지 네트워크/프로토콜 오류 재시도 2/2: https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg (페이지 fetch 실패 후 navigation fallback도 실패: Page.evaluate: TypeError: Failed to fetch\n    at eval (eval at evaluate (:302:30), <anonymous>:5:44)\n    at UtilityScript.evaluate (<anonymous>:309:18)\n    at UtilityScript.<anonymous> (<anonymous>:1:44); Page.goto: net::ERR_HTTP2_PROTOCOL_ERROR at https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg\nCall log:\n  - navigating to \"https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg\", waiting until \"load\"\n)"
        },
        {
          "time": "16:16:20",
          "message": "    [~] 네트워크/프로토콜 오류 이미지 후보 제외: https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg (페이지 fetch 실패 후 navigation fallback도 실패: Page.evaluate: TypeError: Failed to fetch\n    at eval (eval at evaluate (:302:30), <anonymous>:5:44)\n    at UtilityScript.evaluate (<anonymous>:309:18)\n    at UtilityScript.<anonymous> (<anonymous>:1:44); Page.goto: net::ERR_HTTP2_PROTOCOL_ERROR at https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg\nCall log:\n  - navigating to \"https://manatoki334.net/data/file/webtoon/17076057/45589530/JPbKG_6lioMH.jpg\", waiting until \"load\"\n)"
        },
        {
          "time": "16:16:20",
          "message": "    [=] 이미 존재함: /downloads/webtoon_10557/ep_157/057.jpg"
        },
        {
          "time": "16:16:20",
          "message": "  [i] 네트워크/프로토콜 오류 이미지 후보 1개를 회차 이미지 목록에서 제외했습니다."
        },
        {
          "time": "16:16:20",
          "message": "  [>] 이미지 56/57개 처리 완료.\n"
        },
        {
          "time": "16:16:21",
          "message": "완료: 회차 1개 처리, 이미지 0개 저장, 57개 건너뜀"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:47:20",
          "message": "작품 제목: 10557"
        },
        {
          "time": "05:57:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T05:57:26"
        },
        {
          "time": "05:57:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:57:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:33",
          "message": "작품 제목: 10557"
        },
        {
          "time": "13:21:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:21:49"
        },
        {
          "time": "13:21:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:21:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:20:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #125"
        },
        {
          "time": "19:20:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:20:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=건물주 누나 - 콩비지 | 뉴토끼, links=159"
        },
        {
          "time": "19:20:32",
          "message": "작품 제목: 건물주 누나 - 콩비지"
        },
        {
          "time": "19:20:32",
          "message": "메타데이터 태그 저장: 건물주 누나, 드라마, 성인, 콩비지"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:31:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #921"
        },
        {
          "time": "05:31:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:31:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=건물주 누나 - 콩비지 | 뉴토끼, links=159"
        },
        {
          "time": "05:31:51",
          "message": "작품 제목: 건물주 누나 - 콩비지"
        },
        {
          "time": "05:31:51",
          "message": "메타데이터 태그 저장: 건물주 누나, 드라마, 성인, 콩비지"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:30:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #195"
        },
        {
          "time": "19:30:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:30:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=건물주 누나 - 콩비지 | 뉴토끼, links=159"
        },
        {
          "time": "19:30:24",
          "message": "작품 제목: 건물주 누나 - 콩비지"
        },
        {
          "time": "19:30:24",
          "message": "메타데이터 태그 저장: 건물주 누나, 드라마, 성인, 콩비지"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:45:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #479"
        },
        {
          "time": "11:45:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:46:01",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:46:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #480"
        },
        {
          "time": "11:46:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:46:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=건물주 누나 - 콩비지 | 뉴토끼, links=159"
        },
        {
          "time": "11:46:49",
          "message": "작품 제목: 건물주 누나 - 콩비지"
        },
        {
          "time": "11:46:50",
          "message": "메타데이터 태그 저장: 건물주 누나, 드라마, 성인, 콩비지"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:50:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #982"
        },
        {
          "time": "04:50:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:51:40",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:51:40",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:51:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #983"
        },
        {
          "time": "04:51:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:51:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=건물주 누나 - 콩비지 | 뉴토끼, links=159"
        },
        {
          "time": "04:52:24",
          "message": "작품 제목: 건물주 누나 - 콩비지"
        },
        {
          "time": "04:52:24",
          "message": "메타데이터 태그 저장: 건물주 누나, 드라마, 성인, 콩비지"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_10557",
        "target_id": "webtoon_10557",
        "title": "건물주 누나 - 콩비지",
        "episodes_found": 157,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 157,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_10557",
          "title": "건물주 누나 - 콩비지",
          "list_url": "https://newtoki1.org/webtoon/10557",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/10557"
          },
          "tags": [
            "건물주 누나",
            "드라마",
            "성인",
            "콩비지"
          ],
          "description": "건물주 누나 (콩비지) [탑툰] #드라마 #성인",
          "metadata_path": "/downloads/webtoon_10557/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 157,
        "total": 157,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "7a525fe0cc",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-13T12:23:46",
      "started_at": "2026-06-04T04:48:47",
      "finished_at": "2026-06-04T04:50:07",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "세금으로 산 책 - 케이야마 케이",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/33723",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_33723",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "14:49:25",
          "message": "  [i] 회차 제목: 세금으로 산 책 79화"
        },
        {
          "time": "14:49:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/001.jpg"
        },
        {
          "time": "14:49:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/002.jpg"
        },
        {
          "time": "14:49:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/003.jpg"
        },
        {
          "time": "14:49:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/004.jpg"
        },
        {
          "time": "14:49:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/005.jpg"
        },
        {
          "time": "14:49:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/006.jpg"
        },
        {
          "time": "14:49:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/007.jpg"
        },
        {
          "time": "14:49:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/008.jpg"
        },
        {
          "time": "14:49:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/009.jpg"
        },
        {
          "time": "14:49:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/010.jpg"
        },
        {
          "time": "14:49:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/011.jpg"
        },
        {
          "time": "14:49:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/012.jpg"
        },
        {
          "time": "14:49:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/013.jpg"
        },
        {
          "time": "14:49:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/014.jpg"
        },
        {
          "time": "14:49:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/015.jpg"
        },
        {
          "time": "14:49:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/016.jpg"
        },
        {
          "time": "14:49:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/017.jpg"
        },
        {
          "time": "14:49:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/018.jpg"
        },
        {
          "time": "14:49:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/019.jpg"
        },
        {
          "time": "14:49:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/020.jpg"
        },
        {
          "time": "14:49:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/021.jpg"
        },
        {
          "time": "14:50:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/022.jpg"
        },
        {
          "time": "14:50:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/023.jpg"
        },
        {
          "time": "14:50:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/024.jpg"
        },
        {
          "time": "14:50:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/025.jpg"
        },
        {
          "time": "14:50:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/026.jpg"
        },
        {
          "time": "14:50:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_33723/ep_079/027.jpg"
        },
        {
          "time": "14:50:17",
          "message": "  [>] 이미지 27개 처리 완료.\n"
        },
        {
          "time": "14:50:18",
          "message": "완료: 회차 5개 처리, 이미지 119개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 5)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 5)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:30:44",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:31:21",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:41:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:41:56"
        },
        {
          "time": "06:41:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:41:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:24",
          "message": "작품 제목: 33723"
        },
        {
          "time": "13:21:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:21:28"
        },
        {
          "time": "13:21:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:21:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:58:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #109"
        },
        {
          "time": "18:58:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:59:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 - 케이야마 케이 | 뉴토끼, links=89"
        },
        {
          "time": "18:59:08",
          "message": "작품 제목: 세금으로 산 책 - 케이야마 케이"
        },
        {
          "time": "18:59:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #110"
        },
        {
          "time": "18:59:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:59:08",
          "message": "메타데이터 태그 저장: 세금으로 산 책, 케이야마 케이"
        },
        {
          "time": "18:59:09",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "18:59:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 80화 | 뉴토끼, images=38"
        },
        {
          "time": "19:01:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #111"
        },
        {
          "time": "19:01:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:01:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #112"
        },
        {
          "time": "19:01:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:02:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 81화 | 뉴토끼, images=44"
        },
        {
          "time": "19:04:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #113"
        },
        {
          "time": "19:04:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:04:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #114"
        },
        {
          "time": "19:04:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:04:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 82화 | 뉴토끼, images=44"
        },
        {
          "time": "19:07:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #115"
        },
        {
          "time": "19:07:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:08:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #116"
        },
        {
          "time": "19:08:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:08:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 83화 | 뉴토끼, images=35"
        },
        {
          "time": "19:10:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #117"
        },
        {
          "time": "19:10:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:10:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #118"
        },
        {
          "time": "19:10:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:10:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 84화 | 뉴토끼, images=44"
        },
        {
          "time": "19:13:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #119"
        },
        {
          "time": "19:13:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:13:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #120"
        },
        {
          "time": "19:13:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:14:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 85화 | 뉴토끼, images=37"
        },
        {
          "time": "19:16:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #121"
        },
        {
          "time": "19:16:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:17:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #122"
        },
        {
          "time": "19:17:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:17:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 86화 | 뉴토끼, images=38"
        },
        {
          "time": "19:19:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #123"
        },
        {
          "time": "19:19:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:19:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #124"
        },
        {
          "time": "19:19:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:36:54",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T19:36:54"
        },
        {
          "time": "19:36:54",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:36:54",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:48:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #35"
        },
        {
          "time": "12:48:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:49:14",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:49:14",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "12:59:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T12:59:35"
        },
        {
          "time": "12:59:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:59:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:16:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1053"
        },
        {
          "time": "07:16:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:16:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 - 케이야마 케이 | 뉴토끼, links=90"
        },
        {
          "time": "07:16:28",
          "message": "작품 제목: 세금으로 산 책 - 케이야마 케이"
        },
        {
          "time": "07:16:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1054"
        },
        {
          "time": "07:16:39",
          "message": "메타데이터 태그 저장: 세금으로 산 책, 케이야마 케이"
        },
        {
          "time": "07:16:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:16:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 87화 | 뉴토끼, img_tags=39, image_urls=39"
        },
        {
          "time": "07:16:39",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "07:18:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1055"
        },
        {
          "time": "07:18:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:18:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1056"
        },
        {
          "time": "07:18:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:19:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 88화 | 뉴토끼, img_tags=48, image_urls=48"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:28:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #95"
        },
        {
          "time": "18:28:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:28:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 - 케이야마 케이 | 뉴토끼, links=92"
        },
        {
          "time": "18:29:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #96"
        },
        {
          "time": "18:29:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:29:09",
          "message": "작품 제목: 세금으로 산 책 - 케이야마 케이"
        },
        {
          "time": "18:29:09",
          "message": "메타데이터 태그 저장: 세금으로 산 책, 케이야마 케이"
        },
        {
          "time": "18:29:09",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "18:29:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 89화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "18:31:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #97"
        },
        {
          "time": "18:31:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:31:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #98"
        },
        {
          "time": "18:31:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:31:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 90화 | 뉴토끼, img_tags=49, image_urls=49"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:13:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #597"
        },
        {
          "time": "13:13:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:13:54",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:13:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #598"
        },
        {
          "time": "13:13:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:14:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 - 케이야마 케이 | 뉴토끼, links=95"
        },
        {
          "time": "13:14:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #599"
        },
        {
          "time": "13:14:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:14:09",
          "message": "작품 제목: 세금으로 산 책 - 케이야마 케이"
        },
        {
          "time": "13:14:10",
          "message": "메타데이터 태그 저장: 세금으로 산 책, 케이야마 케이"
        },
        {
          "time": "13:14:11",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "13:14:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 91화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "13:14:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #600"
        },
        {
          "time": "13:14:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:14:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 92화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "13:15:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #601"
        },
        {
          "time": "13:15:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:15:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 93화 | 뉴토끼, img_tags=41, image_urls=40"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:49:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #981"
        },
        {
          "time": "04:49:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:50:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=세금으로 산 책 - 케이야마 케이 | 뉴토끼, links=95"
        },
        {
          "time": "04:50:04",
          "message": "작품 제목: 세금으로 산 책 - 케이야마 케이"
        },
        {
          "time": "04:50:06",
          "message": "메타데이터 태그 저장: 세금으로 산 책, 케이야마 케이"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_33723",
        "target_id": "manhwa_33723",
        "title": "세금으로 산 책 - 케이야마 케이",
        "episodes_found": 93,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 93,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_33723",
          "title": "세금으로 산 책 - 케이야마 케이",
          "list_url": "https://newtoki1.org/manhwa/33723",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/33723"
          },
          "tags": [
            "세금으로 산 책",
            "케이야마 케이"
          ],
          "description": "초등학생 이래 처음 도서관을 방문한 이시다이라 군,10년 전에 빌린 책을 잃어버린 것을 계기로 이래저래 아르바이트를 하게 된다!빌린 책을 손상시켰을 때는 ?어려운 한자의 읽는 법을 조사하고 싶을 때는?룰에 엄격하면서도 책을 사랑해 마지 않는 동료와 보내는 읽으면 도서관에 가고 싶어지는",
          "metadata_path": "/downloads/manhwa_33723/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 93,
        "total": 93,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "a847132d4b",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T15:33:53",
      "started_at": "2026-06-04T04:47:16",
      "finished_at": "2026-06-04T04:48:47",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "도산코 갸루는 참말로 귀여워 - 이카다 카이",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/7939",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_7939",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "15:03:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_135/012.jpg"
        },
        {
          "time": "15:03:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_135/013.jpg"
        },
        {
          "time": "15:03:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_135/014.jpg"
        },
        {
          "time": "15:03:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_135/015.jpg"
        },
        {
          "time": "15:03:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_135/016.jpg"
        },
        {
          "time": "15:04:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_135/017.jpg"
        },
        {
          "time": "15:04:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_135/018.jpg"
        },
        {
          "time": "15:04:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_135/019.jpg"
        },
        {
          "time": "15:04:12",
          "message": "  [>] 이미지 19개 처리 완료.\n"
        },
        {
          "time": "15:04:13",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7939/60876"
        },
        {
          "time": "15:04:13",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7939/60876"
        },
        {
          "time": "15:04:22",
          "message": "  [i] 회차 제목: 도산코 갸루는 참말로 귀여워 단편 [단편] 도산코 갸…는 참말로 귀여워"
        },
        {
          "time": "15:04:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/001.jpg"
        },
        {
          "time": "15:04:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/002.jpg"
        },
        {
          "time": "15:04:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/003.jpg"
        },
        {
          "time": "15:04:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/004.jpg"
        },
        {
          "time": "15:04:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/005.jpg"
        },
        {
          "time": "15:04:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/006.jpg"
        },
        {
          "time": "15:04:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/007.jpg"
        },
        {
          "time": "15:04:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/008.jpg"
        },
        {
          "time": "15:04:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/009.jpg"
        },
        {
          "time": "15:05:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/010.jpg"
        },
        {
          "time": "15:05:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/011.jpg"
        },
        {
          "time": "15:05:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/012.jpg"
        },
        {
          "time": "15:05:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/013.jpg"
        },
        {
          "time": "15:05:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/014.jpg"
        },
        {
          "time": "15:05:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/015.jpg"
        },
        {
          "time": "15:05:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/016.jpg"
        },
        {
          "time": "15:05:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/017.jpg"
        },
        {
          "time": "15:05:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/018.jpg"
        },
        {
          "time": "15:05:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/019.jpg"
        },
        {
          "time": "15:05:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/020.jpg"
        },
        {
          "time": "15:05:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/021.jpg"
        },
        {
          "time": "15:05:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_136/022.jpg"
        },
        {
          "time": "15:05:46",
          "message": "  [>] 이미지 22개 처리 완료.\n"
        },
        {
          "time": "15:05:47",
          "message": "완료: 회차 134개 처리, 이미지 2497개 저장, 0개 건너뜀"
        },
        {
          "time": "15:26:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-14T15:26:18"
        },
        {
          "time": "15:26:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:34:07",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "13:34:39",
          "message": "기존 완료 기록을 적용합니다: 134개 회차"
        },
        {
          "time": "13:34:43",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "13:35:04",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "13:35:04",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "13:35:04",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "13:35:04",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/7939"
        },
        {
          "time": "13:35:04",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7939"
        },
        {
          "time": "13:35:14",
          "message": "작품 제목: 도산코 갸루는 참말로 귀여워 - 이카다 카이"
        },
        {
          "time": "13:35:14",
          "message": "기존 완료 회차 134개 제외"
        },
        {
          "time": "13:35:15",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "13:35:15",
          "message": "총 136개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "13:35:16",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7939/224212"
        },
        {
          "time": "13:35:16",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7939/224212"
        },
        {
          "time": "13:35:34",
          "message": "  [i] 회차 제목: 도산코 갸루는 참말로 귀여워 23화 도산코 갸루는 참말…로 귀여워 23화"
        },
        {
          "time": "13:35:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/001.jpg"
        },
        {
          "time": "13:35:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/002.jpg"
        },
        {
          "time": "13:35:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/003.jpg"
        },
        {
          "time": "13:35:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/004.jpg"
        },
        {
          "time": "13:36:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/005.jpg"
        },
        {
          "time": "13:36:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/006.jpg"
        },
        {
          "time": "13:36:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/007.jpg"
        },
        {
          "time": "13:36:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/008.jpg"
        },
        {
          "time": "13:36:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/009.jpg"
        },
        {
          "time": "13:36:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/010.jpg"
        },
        {
          "time": "13:36:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/011.jpg"
        },
        {
          "time": "13:36:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/012.jpg"
        },
        {
          "time": "13:36:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/013.jpg"
        },
        {
          "time": "13:36:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/014.jpg"
        },
        {
          "time": "13:36:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_028/015.jpg"
        },
        {
          "time": "13:36:53",
          "message": "  [>] 이미지 15개 처리 완료.\n"
        },
        {
          "time": "13:36:54",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7939/1666489"
        },
        {
          "time": "13:36:55",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7939/1666489"
        },
        {
          "time": "13:37:02",
          "message": "  [i] 회차 제목: 도산코 갸루는 참말로 귀여워 68.5화 도산코 갸루는 참말…귀여워 68.5화"
        },
        {
          "time": "13:37:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/001.jpg"
        },
        {
          "time": "13:37:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/002.jpg"
        },
        {
          "time": "13:37:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/003.jpg"
        },
        {
          "time": "13:37:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/004.jpg"
        },
        {
          "time": "13:37:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/005.jpg"
        },
        {
          "time": "13:37:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/006.jpg"
        },
        {
          "time": "13:37:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/007.jpg"
        },
        {
          "time": "13:37:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/008.jpg"
        },
        {
          "time": "13:38:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/009.jpg"
        },
        {
          "time": "13:38:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/010.jpg"
        },
        {
          "time": "13:38:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/011.jpg"
        },
        {
          "time": "13:38:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/012.jpg"
        },
        {
          "time": "13:38:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/013.jpg"
        },
        {
          "time": "13:38:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_7939/ep_079/014.jpg"
        },
        {
          "time": "13:38:32",
          "message": "  [>] 이미지 14개 처리 완료.\n"
        },
        {
          "time": "13:38:34",
          "message": "완료: 회차 2개 처리, 이미지 29개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:29:23",
          "message": "대기열 순서를 변경했습니다: 81 -> 1"
        },
        {
          "time": "16:14:19",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:15:32",
          "message": "기존 완료 기록을 적용합니다: 136개 회차"
        },
        {
          "time": "16:15:32",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:15:32",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:15:32",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:15:32",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:15:32",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/7939"
        },
        {
          "time": "16:15:32",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7939"
        },
        {
          "time": "16:15:51",
          "message": "작품 제목: 도산코 갸루는 참말로 귀여워 - 이카다 카이"
        },
        {
          "time": "16:15:51",
          "message": "메타데이터 저장: /downloads/manhwa_7939/metadata.yaml"
        },
        {
          "time": "16:15:51",
          "message": "메타데이터 태그 저장: 도산코 갸루는 참말로 귀여워, 이카다 카이"
        },
        {
          "time": "16:15:51",
          "message": "기존 완료 회차 136개 제외"
        },
        {
          "time": "16:15:51",
          "message": "총 136개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:15:52",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:30:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:30:34",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:41:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:41:10"
        },
        {
          "time": "06:41:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:41:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:16",
          "message": "작품 제목: 7939"
        },
        {
          "time": "13:21:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:21:28"
        },
        {
          "time": "13:21:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:21:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:58:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #108"
        },
        {
          "time": "18:58:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:58:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도산코 갸루는 참말로 귀여워 - 이카다 카이 | 뉴토끼, links=138"
        },
        {
          "time": "18:58:52",
          "message": "작품 제목: 도산코 갸루는 참말로 귀여워 - 이카다 카이"
        },
        {
          "time": "18:58:52",
          "message": "메타데이터 태그 저장: 도산코 갸루는 참말로 귀여워, 이카다 카이"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:31:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #922"
        },
        {
          "time": "05:31:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:32:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도산코 갸루는 참말로 귀여워 - 이카다 카이 | 뉴토끼, links=138"
        },
        {
          "time": "05:32:06",
          "message": "작품 제목: 도산코 갸루는 참말로 귀여워 - 이카다 카이"
        },
        {
          "time": "05:32:06",
          "message": "메타데이터 태그 저장: 도산코 갸루는 참말로 귀여워, 이카다 카이"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:29:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #194"
        },
        {
          "time": "19:29:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:30:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도산코 갸루는 참말로 귀여워 - 이카다 카이 | 뉴토끼, links=138"
        },
        {
          "time": "19:30:07",
          "message": "작품 제목: 도산코 갸루는 참말로 귀여워 - 이카다 카이"
        },
        {
          "time": "19:30:07",
          "message": "메타데이터 태그 저장: 도산코 갸루는 참말로 귀여워, 이카다 카이"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:47:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #481"
        },
        {
          "time": "11:47:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:47:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도산코 갸루는 참말로 귀여워 - 이카다 카이 | 뉴토끼, links=138"
        },
        {
          "time": "11:47:55",
          "message": "작품 제목: 도산코 갸루는 참말로 귀여워 - 이카다 카이"
        },
        {
          "time": "11:47:56",
          "message": "메타데이터 태그 저장: 도산코 갸루는 참말로 귀여워, 이카다 카이"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:47:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #979"
        },
        {
          "time": "04:47:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:48:09",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:48:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:48:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #980"
        },
        {
          "time": "04:48:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:48:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도산코 갸루는 참말로 귀여워 - 이카다 카이 | 뉴토끼, links=138"
        },
        {
          "time": "04:48:46",
          "message": "작품 제목: 도산코 갸루는 참말로 귀여워 - 이카다 카이"
        },
        {
          "time": "04:48:46",
          "message": "메타데이터 태그 저장: 도산코 갸루는 참말로 귀여워, 이카다 카이"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_7939",
        "target_id": "manhwa_7939",
        "title": "도산코 갸루는 참말로 귀여워 - 이카다 카이",
        "episodes_found": 136,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 136,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_7939",
          "title": "도산코 갸루는 참말로 귀여워 - 이카다 카이",
          "list_url": "https://newtoki1.org/manhwa/7939",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/7939"
          },
          "tags": [
            "도산코 갸루는 참말로 귀여워",
            "이카다 카이"
          ],
          "description": "홋카이도 키타미 시에 전학오게 된 시키 츠바사는 새하얀 은세계에서 한 사람의 `갸루`와 만난다. 영하의 날씨 속에서도 맨다리로, 착 달라붙어서, 사투리를 마구마구! 그런 `참말로 귀여운 갸루`와 선사하는 로맨틱 도산코 러브 코미디.",
          "metadata_path": "/downloads/manhwa_7939/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 136,
        "total": 136,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "948d7e9a86",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T15:31:37",
      "started_at": "2026-06-04T04:44:27",
      "finished_at": "2026-06-04T04:47:16",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "최애의 아이 - 요코야리 멩고",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/23731",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_23731",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:26:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/001.jpg"
        },
        {
          "time": "09:26:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/002.jpg"
        },
        {
          "time": "09:26:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/003.jpg"
        },
        {
          "time": "09:26:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/004.jpg"
        },
        {
          "time": "09:26:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/005.jpg"
        },
        {
          "time": "09:26:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/006.jpg"
        },
        {
          "time": "09:26:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/007.jpg"
        },
        {
          "time": "09:26:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/008.jpg"
        },
        {
          "time": "09:26:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/009.jpg"
        },
        {
          "time": "09:26:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/010.jpg"
        },
        {
          "time": "09:26:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/011.jpg"
        },
        {
          "time": "09:26:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/012.jpg"
        },
        {
          "time": "09:26:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/013.jpg"
        },
        {
          "time": "09:26:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/014.jpg"
        },
        {
          "time": "09:26:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/015.jpg"
        },
        {
          "time": "09:26:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/016.jpg"
        },
        {
          "time": "09:26:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/017.jpg"
        },
        {
          "time": "09:26:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/018.jpg"
        },
        {
          "time": "09:26:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_172/019.jpg"
        },
        {
          "time": "09:26:47",
          "message": "  [>] 이미지 19개 처리 완료.\n"
        },
        {
          "time": "09:26:48",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/23731/1775643"
        },
        {
          "time": "09:26:48",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/23731/1775643"
        },
        {
          "time": "09:26:56",
          "message": "  [i] 회차 제목: 최애의 아이 166화"
        },
        {
          "time": "09:26:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/001.jpg"
        },
        {
          "time": "09:26:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/002.jpg"
        },
        {
          "time": "09:27:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/003.jpg"
        },
        {
          "time": "09:27:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/004.jpg"
        },
        {
          "time": "09:27:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/005.jpg"
        },
        {
          "time": "09:27:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/006.jpg"
        },
        {
          "time": "09:27:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/007.jpg"
        },
        {
          "time": "09:27:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/008.jpg"
        },
        {
          "time": "09:27:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/009.jpg"
        },
        {
          "time": "09:27:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/010.jpg"
        },
        {
          "time": "09:27:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/011.jpg"
        },
        {
          "time": "09:27:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/012.jpg"
        },
        {
          "time": "09:27:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/013.jpg"
        },
        {
          "time": "09:27:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/014.jpg"
        },
        {
          "time": "09:27:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/015.jpg"
        },
        {
          "time": "09:27:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/016.jpg"
        },
        {
          "time": "09:27:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/017.jpg"
        },
        {
          "time": "09:27:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/018.jpg"
        },
        {
          "time": "09:27:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/019.jpg"
        },
        {
          "time": "09:27:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/020.jpg"
        },
        {
          "time": "09:27:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/021.jpg"
        },
        {
          "time": "09:27:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/022.jpg"
        },
        {
          "time": "09:27:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/023.jpg"
        },
        {
          "time": "09:27:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/024.jpg"
        },
        {
          "time": "09:27:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_173/025.jpg"
        },
        {
          "time": "09:27:44",
          "message": "  [>] 이미지 25개 처리 완료.\n"
        },
        {
          "time": "09:27:45",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/23731/1778457"
        },
        {
          "time": "09:27:45",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/23731/1778457"
        },
        {
          "time": "09:27:53",
          "message": "  [i] 회차 제목: 최애의 아이 166.1화"
        },
        {
          "time": "09:27:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/001.jpg"
        },
        {
          "time": "09:27:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/002.jpg"
        },
        {
          "time": "09:27:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/003.jpg"
        },
        {
          "time": "09:27:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/004.jpg"
        },
        {
          "time": "09:28:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/005.jpg"
        },
        {
          "time": "09:28:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/006.jpg"
        },
        {
          "time": "09:28:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/007.jpg"
        },
        {
          "time": "09:28:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/008.jpg"
        },
        {
          "time": "09:28:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/009.jpg"
        },
        {
          "time": "09:28:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/010.jpg"
        },
        {
          "time": "09:28:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/011.jpg"
        },
        {
          "time": "09:28:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/012.jpg"
        },
        {
          "time": "09:28:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/013.jpg"
        },
        {
          "time": "09:28:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/014.jpg"
        },
        {
          "time": "09:28:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/015.jpg"
        },
        {
          "time": "09:28:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/016.jpg"
        },
        {
          "time": "09:28:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/017.jpg"
        },
        {
          "time": "09:28:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/018.jpg"
        },
        {
          "time": "09:28:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/019.jpg"
        },
        {
          "time": "09:28:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/020.jpg"
        },
        {
          "time": "09:28:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/021.jpg"
        },
        {
          "time": "09:28:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/022.jpg"
        },
        {
          "time": "09:28:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/023.jpg"
        },
        {
          "time": "09:28:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/024.jpg"
        },
        {
          "time": "09:28:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/025.jpg"
        },
        {
          "time": "09:28:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_23731/ep_174/026.jpg"
        },
        {
          "time": "09:28:37",
          "message": "  [>] 이미지 26개 처리 완료.\n"
        },
        {
          "time": "09:28:38",
          "message": "완료: 회차 174개 처리, 이미지 3247개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:29:21",
          "message": "대기열 순서를 변경했습니다: 80 -> 1"
        },
        {
          "time": "16:15:52",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:17:04",
          "message": "기존 완료 기록을 적용합니다: 174개 회차"
        },
        {
          "time": "16:17:04",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:17:04",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:17:04",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:17:04",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:17:04",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/23731"
        },
        {
          "time": "16:17:04",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/23731"
        },
        {
          "time": "16:17:12",
          "message": "작품 제목: 최애의 아이 - 요코야리 멩고"
        },
        {
          "time": "16:17:12",
          "message": "메타데이터 저장: /downloads/manhwa_23731/metadata.yaml"
        },
        {
          "time": "16:17:12",
          "message": "메타데이터 태그 저장: 요코야리 멩고, 최애의 아이"
        },
        {
          "time": "16:17:12",
          "message": "기존 완료 회차 174개 제외"
        },
        {
          "time": "16:17:12",
          "message": "총 174개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:17:12",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:29:54",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:30:30",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:40:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:40:33"
        },
        {
          "time": "06:40:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:40:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:10:35",
          "message": "작품 제목: 23731"
        },
        {
          "time": "13:20:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:20:43"
        },
        {
          "time": "13:20:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:20:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:58:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #107"
        },
        {
          "time": "18:58:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:58:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=최애의 아이 - 요코야리 멩고 | 뉴토끼, links=176"
        },
        {
          "time": "18:58:36",
          "message": "작품 제목: 최애의 아이 - 요코야리 멩고"
        },
        {
          "time": "18:58:36",
          "message": "메타데이터 태그 저장: 요코야리 멩고, 최애의 아이"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:32:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #923"
        },
        {
          "time": "05:32:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:32:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=최애의 아이 - 요코야리 멩고 | 뉴토끼, links=176"
        },
        {
          "time": "05:32:24",
          "message": "작품 제목: 최애의 아이 - 요코야리 멩고"
        },
        {
          "time": "05:32:24",
          "message": "메타데이터 태그 저장: 요코야리 멩고, 최애의 아이"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:29:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #193"
        },
        {
          "time": "19:29:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:29:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=최애의 아이 - 요코야리 멩고 | 뉴토끼, links=176"
        },
        {
          "time": "19:29:51",
          "message": "작품 제목: 최애의 아이 - 요코야리 멩고"
        },
        {
          "time": "19:29:51",
          "message": "메타데이터 태그 저장: 요코야리 멩고, 최애의 아이"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:48:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #482"
        },
        {
          "time": "11:48:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:48:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=최애의 아이 - 요코야리 멩고 | 뉴토끼, links=176"
        },
        {
          "time": "11:49:12",
          "message": "작품 제목: 최애의 아이 - 요코야리 멩고"
        },
        {
          "time": "11:49:12",
          "message": "메타데이터 태그 저장: 요코야리 멩고, 최애의 아이"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:45:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #975"
        },
        {
          "time": "04:45:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:45:24",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:45:25",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:45:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #976"
        },
        {
          "time": "04:45:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:45:47",
          "message": "목록 페이지 스냅샷 검증 실패 (2/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:45:49",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:45:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #977"
        },
        {
          "time": "04:45:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:46:17",
          "message": "목록 페이지 스냅샷 검증 실패 (3/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:46:18",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "04:46:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #978"
        },
        {
          "time": "04:46:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:46:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=최애의 아이 - 요코야리 멩고 | 뉴토끼, links=176"
        },
        {
          "time": "04:47:14",
          "message": "작품 제목: 최애의 아이 - 요코야리 멩고"
        },
        {
          "time": "04:47:14",
          "message": "메타데이터 태그 저장: 요코야리 멩고, 최애의 아이"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_23731",
        "target_id": "manhwa_23731",
        "title": "최애의 아이 - 요코야리 멩고",
        "episodes_found": 174,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 174,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_23731",
          "title": "최애의 아이 - 요코야리 멩고",
          "list_url": "https://newtoki1.org/manhwa/23731",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/23731"
          },
          "tags": [
            "요코야리 멩고",
            "최애의 아이"
          ],
          "description": "산부인과 의사 고로의 최애, 아이돌 그룹의 절대적인 에이스 호시노 아이에게는 누구에게도 말 못할 비밀이 있는데—?!",
          "metadata_path": "/downloads/manhwa_23731/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 174,
        "total": 174,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "85a063f2cc",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T15:29:36",
      "started_at": "2026-06-04T04:43:12",
      "finished_at": "2026-06-04T04:44:27",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "푸른 강철의 아르페지오 - Ark Performance",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/4193",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_4193",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:30:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/137.jpg"
        },
        {
          "time": "09:30:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/138.jpg"
        },
        {
          "time": "09:30:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/139.jpg"
        },
        {
          "time": "09:30:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/140.jpg"
        },
        {
          "time": "09:31:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/141.jpg"
        },
        {
          "time": "09:31:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/142.jpg"
        },
        {
          "time": "09:31:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/143.jpg"
        },
        {
          "time": "09:31:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/144.jpg"
        },
        {
          "time": "09:31:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/145.jpg"
        },
        {
          "time": "09:31:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/146.jpg"
        },
        {
          "time": "09:31:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/147.jpg"
        },
        {
          "time": "09:31:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/148.jpg"
        },
        {
          "time": "09:31:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/149.jpg"
        },
        {
          "time": "09:31:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/150.jpg"
        },
        {
          "time": "09:31:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/151.jpg"
        },
        {
          "time": "09:31:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/152.jpg"
        },
        {
          "time": "09:31:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/153.jpg"
        },
        {
          "time": "09:31:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/154.jpg"
        },
        {
          "time": "09:31:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/155.jpg"
        },
        {
          "time": "09:31:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/156.jpg"
        },
        {
          "time": "09:31:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/157.jpg"
        },
        {
          "time": "09:31:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/158.jpg"
        },
        {
          "time": "09:31:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/159.jpg"
        },
        {
          "time": "09:32:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/160.jpg"
        },
        {
          "time": "09:32:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/161.jpg"
        },
        {
          "time": "09:32:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/162.jpg"
        },
        {
          "time": "09:32:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/163.jpg"
        },
        {
          "time": "09:32:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/164.jpg"
        },
        {
          "time": "09:32:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/165.jpg"
        },
        {
          "time": "09:32:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/166.jpg"
        },
        {
          "time": "09:32:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/167.jpg"
        },
        {
          "time": "09:32:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/168.jpg"
        },
        {
          "time": "09:32:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/169.jpg"
        },
        {
          "time": "09:32:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/170.jpg"
        },
        {
          "time": "09:32:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/171.jpg"
        },
        {
          "time": "09:32:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/172.jpg"
        },
        {
          "time": "09:32:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/173.jpg"
        },
        {
          "time": "09:32:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/174.jpg"
        },
        {
          "time": "09:32:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/175.jpg"
        },
        {
          "time": "09:32:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/176.jpg"
        },
        {
          "time": "09:32:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/177.jpg"
        },
        {
          "time": "09:33:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/178.jpg"
        },
        {
          "time": "09:33:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/179.jpg"
        },
        {
          "time": "09:33:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/180.jpg"
        },
        {
          "time": "09:33:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/181.jpg"
        },
        {
          "time": "09:33:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/182.jpg"
        },
        {
          "time": "09:33:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/183.jpg"
        },
        {
          "time": "09:33:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/184.jpg"
        },
        {
          "time": "09:33:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/185.jpg"
        },
        {
          "time": "09:33:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/186.jpg"
        },
        {
          "time": "09:33:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/187.jpg"
        },
        {
          "time": "09:33:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/188.jpg"
        },
        {
          "time": "09:33:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/189.jpg"
        },
        {
          "time": "09:33:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/190.jpg"
        },
        {
          "time": "09:33:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/191.jpg"
        },
        {
          "time": "09:33:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/192.jpg"
        },
        {
          "time": "09:34:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/193.jpg"
        },
        {
          "time": "09:34:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/194.jpg"
        },
        {
          "time": "09:34:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/195.jpg"
        },
        {
          "time": "09:34:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/196.jpg"
        },
        {
          "time": "09:34:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/197.jpg"
        },
        {
          "time": "09:34:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/198.jpg"
        },
        {
          "time": "09:34:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/199.jpg"
        },
        {
          "time": "09:34:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/200.jpg"
        },
        {
          "time": "09:34:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/201.jpg"
        },
        {
          "time": "09:34:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_145/202.jpg"
        },
        {
          "time": "09:34:29",
          "message": "  [>] 이미지 202개 처리 완료.\n"
        },
        {
          "time": "09:34:30",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/4193/31763"
        },
        {
          "time": "09:34:30",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/4193/31763"
        },
        {
          "time": "09:34:38",
          "message": "  [i] 회차 제목: 푸른 강철의 아르페지오 특별편"
        },
        {
          "time": "09:34:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/001.jpg"
        },
        {
          "time": "09:34:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/002.jpg"
        },
        {
          "time": "09:34:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/003.jpg"
        },
        {
          "time": "09:34:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/004.jpg"
        },
        {
          "time": "09:34:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/005.jpg"
        },
        {
          "time": "09:34:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/006.jpg"
        },
        {
          "time": "09:34:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/007.jpg"
        },
        {
          "time": "09:34:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/008.jpg"
        },
        {
          "time": "09:35:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/009.jpg"
        },
        {
          "time": "09:35:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/010.jpg"
        },
        {
          "time": "09:35:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/011.jpg"
        },
        {
          "time": "09:35:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/012.jpg"
        },
        {
          "time": "09:35:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/013.jpg"
        },
        {
          "time": "09:35:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/014.jpg"
        },
        {
          "time": "09:35:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/015.jpg"
        },
        {
          "time": "09:35:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_4193/ep_146/016.jpg"
        },
        {
          "time": "09:35:35",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "09:35:36",
          "message": "완료: 회차 5개 처리, 이미지 646개 저장, 186개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:29:19",
          "message": "대기열 순서를 변경했습니다: 79 -> 1"
        },
        {
          "time": "16:17:12",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:18:23",
          "message": "기존 완료 기록을 적용합니다: 146개 회차"
        },
        {
          "time": "16:18:23",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:18:23",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:18:23",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:18:23",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:18:23",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/4193"
        },
        {
          "time": "16:18:23",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/4193"
        },
        {
          "time": "16:18:29",
          "message": "작품 제목: 푸른 강철의 아르페지오 - Ark Performance"
        },
        {
          "time": "16:18:29",
          "message": "메타데이터 저장: /downloads/manhwa_4193/metadata.yaml"
        },
        {
          "time": "16:18:29",
          "message": "메타데이터 태그 저장: Ark Performance, 푸른 강철의 아르페지오"
        },
        {
          "time": "16:18:29",
          "message": "기존 완료 회차 146개 제외"
        },
        {
          "time": "16:18:29",
          "message": "총 146개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:18:29",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:29:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:29:53",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:40:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:40:24"
        },
        {
          "time": "06:40:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:40:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:09:54",
          "message": "작품 제목: 4193"
        },
        {
          "time": "13:20:20",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:20:19"
        },
        {
          "time": "13:20:20",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:20:20",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:58:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #106"
        },
        {
          "time": "18:58:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:58:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 강철의 아르페지오 - Ark Performance | 뉴토끼, links=148"
        },
        {
          "time": "18:58:21",
          "message": "작품 제목: 푸른 강철의 아르페지오 - Ark Performance"
        },
        {
          "time": "18:58:21",
          "message": "메타데이터 태그 저장: Ark Performance, 푸른 강철의 아르페지오"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:33:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #924"
        },
        {
          "time": "05:33:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:33:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 강철의 아르페지오 - Ark Performance | 뉴토끼, links=148"
        },
        {
          "time": "05:33:15",
          "message": "작품 제목: 푸른 강철의 아르페지오 - Ark Performance"
        },
        {
          "time": "05:33:15",
          "message": "메타데이터 태그 저장: Ark Performance, 푸른 강철의 아르페지오"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:29:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #192"
        },
        {
          "time": "19:29:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:29:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 강철의 아르페지오 - Ark Performance | 뉴토끼, links=148"
        },
        {
          "time": "19:29:32",
          "message": "작품 제목: 푸른 강철의 아르페지오 - Ark Performance"
        },
        {
          "time": "19:29:33",
          "message": "메타데이터 태그 저장: Ark Performance, 푸른 강철의 아르페지오"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:49:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #483"
        },
        {
          "time": "11:49:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:49:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 강철의 아르페지오 - Ark Performance | 뉴토끼, links=148"
        },
        {
          "time": "11:50:31",
          "message": "작품 제목: 푸른 강철의 아르페지오 - Ark Performance"
        },
        {
          "time": "11:50:32",
          "message": "메타데이터 태그 저장: Ark Performance, 푸른 강철의 아르페지오"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:43:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #973"
        },
        {
          "time": "04:43:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:43:37",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:43:38",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:43:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #974"
        },
        {
          "time": "04:43:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:43:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=푸른 강철의 아르페지오 - Ark Performance | 뉴토끼, links=148"
        },
        {
          "time": "04:44:26",
          "message": "작품 제목: 푸른 강철의 아르페지오 - Ark Performance"
        },
        {
          "time": "04:44:26",
          "message": "메타데이터 태그 저장: Ark Performance, 푸른 강철의 아르페지오"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_4193",
        "target_id": "manhwa_4193",
        "title": "푸른 강철의 아르페지오 - Ark Performance",
        "episodes_found": 146,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 146,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_4193",
          "title": "푸른 강철의 아르페지오 - Ark Performance",
          "list_url": "https://newtoki1.org/manhwa/4193",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/4193"
          },
          "tags": [
            "Ark Performance",
            "푸른 강철의 아르페지오"
          ],
          "description": "돌연, 세계 각지에 ‘안개의 함대’라 불리는 의문의 초병기를 탑재한 전함들이 출현. 인류는 그 함대에 속절없이 패전하며 해상에 나갈 수 없게 된다…. 그 해전 이후 17년. 어떻게 된 영문인지 ‘안개’의 잠수함 `이401`에 올라탄 치하야 군조와 그 동료들은 `이401`의 인체화(멘탈",
          "metadata_path": "/downloads/manhwa_4193/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 146,
        "total": 146,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "4b29706ae7",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T15:29:14",
      "started_at": "2026-06-04T04:42:08",
      "finished_at": "2026-06-04T04:43:12",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "귀멸의 칼날 - 고토게 코요하루",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3737",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3737",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "07:02:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_190/010.jpg"
        },
        {
          "time": "07:02:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_190/011.jpg"
        },
        {
          "time": "07:02:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_190/012.jpg"
        },
        {
          "time": "07:02:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_190/013.jpg"
        },
        {
          "time": "07:02:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_190/014.jpg"
        },
        {
          "time": "07:02:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_190/015.jpg"
        },
        {
          "time": "07:02:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_190/016.jpg"
        },
        {
          "time": "07:03:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_190/017.jpg"
        },
        {
          "time": "07:03:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_190/018.jpg"
        },
        {
          "time": "07:03:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_190/019.jpg"
        },
        {
          "time": "07:03:06",
          "message": "  [>] 이미지 19개 처리 완료.\n"
        },
        {
          "time": "07:03:07",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/3737/133265"
        },
        {
          "time": "07:03:08",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/3737/133265"
        },
        {
          "time": "07:03:18",
          "message": "  [i] 회차 제목: 귀멸의 칼날 외전 토미오… 기유 외전 전편"
        },
        {
          "time": "07:03:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/001.jpg"
        },
        {
          "time": "07:03:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/002.jpg"
        },
        {
          "time": "07:03:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/003.jpg"
        },
        {
          "time": "07:03:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/004.jpg"
        },
        {
          "time": "07:03:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/005.jpg"
        },
        {
          "time": "07:03:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/006.jpg"
        },
        {
          "time": "07:03:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/007.jpg"
        },
        {
          "time": "07:03:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/008.jpg"
        },
        {
          "time": "07:03:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/009.jpg"
        },
        {
          "time": "07:03:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/010.jpg"
        },
        {
          "time": "07:03:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/011.jpg"
        },
        {
          "time": "07:03:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/012.jpg"
        },
        {
          "time": "07:03:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/013.jpg"
        },
        {
          "time": "07:03:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/014.jpg"
        },
        {
          "time": "07:03:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/015.jpg"
        },
        {
          "time": "07:03:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/016.jpg"
        },
        {
          "time": "07:03:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/017.jpg"
        },
        {
          "time": "07:03:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/018.jpg"
        },
        {
          "time": "07:03:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/019.jpg"
        },
        {
          "time": "07:03:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/020.jpg"
        },
        {
          "time": "07:04:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/021.jpg"
        },
        {
          "time": "07:04:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/022.jpg"
        },
        {
          "time": "07:04:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/023.jpg"
        },
        {
          "time": "07:04:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/024.jpg"
        },
        {
          "time": "07:04:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/025.jpg"
        },
        {
          "time": "07:04:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/026.jpg"
        },
        {
          "time": "07:04:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/027.jpg"
        },
        {
          "time": "07:04:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/028.jpg"
        },
        {
          "time": "07:04:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/029.jpg"
        },
        {
          "time": "07:04:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/030.jpg"
        },
        {
          "time": "07:04:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/031.jpg"
        },
        {
          "time": "07:04:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/032.jpg"
        },
        {
          "time": "07:04:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/033.jpg"
        },
        {
          "time": "07:04:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/034.jpg"
        },
        {
          "time": "07:04:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/035.jpg"
        },
        {
          "time": "07:04:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/036.jpg"
        },
        {
          "time": "07:04:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/037.jpg"
        },
        {
          "time": "07:04:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/038.jpg"
        },
        {
          "time": "07:04:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/039.jpg"
        },
        {
          "time": "07:04:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/040.jpg"
        },
        {
          "time": "07:04:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/041.jpg"
        },
        {
          "time": "07:04:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/042.jpg"
        },
        {
          "time": "07:04:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/043.jpg"
        },
        {
          "time": "07:04:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/044.jpg"
        },
        {
          "time": "07:04:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_3737/ep_218/045.jpg"
        },
        {
          "time": "07:04:46",
          "message": "  [>] 이미지 45개 처리 완료.\n"
        },
        {
          "time": "07:04:47",
          "message": "완료: 회차 4개 처리, 이미지 101개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "03:21:26",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "03:22:53",
          "message": "기존 완료 기록을 적용합니다: 220개 회차"
        },
        {
          "time": "03:22:53",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "03:22:53",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "03:22:53",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "03:22:53",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "03:22:53",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/3737"
        },
        {
          "time": "03:22:53",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/3737"
        },
        {
          "time": "03:22:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "03:22:56",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "03:22:56",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "03:22:56",
          "message": "메타데이터 저장: /downloads/manhwa_3737/metadata.yaml"
        },
        {
          "time": "03:22:56",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "03:22:56",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "03:33:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T03:33:52"
        },
        {
          "time": "03:33:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:33:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:48:58",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:48:07",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T14:48:06"
        },
        {
          "time": "14:48:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:47",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:18:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:19:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:19:52"
        },
        {
          "time": "15:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:57:17",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "15:58:34",
          "message": "기존 완료 기록을 적용합니다: 220개 회차"
        },
        {
          "time": "15:58:34",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:58:34",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:58:34",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:58:34",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:58:34",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3737"
        },
        {
          "time": "15:58:34",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3737"
        },
        {
          "time": "15:59:09",
          "message": "작품 제목: 귀멸의 칼날 - 고토게 코요하루"
        },
        {
          "time": "15:59:09",
          "message": "메타데이터 저장: /downloads/manhwa_3737/metadata.yaml"
        },
        {
          "time": "15:59:09",
          "message": "메타데이터 태그 저장: 고토게 코요하루, 귀멸의 칼날"
        },
        {
          "time": "15:59:09",
          "message": "기존 완료 회차 220개 제외"
        },
        {
          "time": "15:59:10",
          "message": "총 220개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "15:59:10",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:20:01",
          "message": "작품 제목: 3737"
        },
        {
          "time": "06:30:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:30:30"
        },
        {
          "time": "06:30:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:30:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:09:47",
          "message": "작품 제목: 3737"
        },
        {
          "time": "13:20:19",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:20:19"
        },
        {
          "time": "13:20:19",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:20:19",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:57:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #105"
        },
        {
          "time": "18:57:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:57:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=귀멸의 칼날 - 고토게 코요하루 | 뉴토끼, links=222"
        },
        {
          "time": "18:58:04",
          "message": "작품 제목: 귀멸의 칼날 - 고토게 코요하루"
        },
        {
          "time": "18:58:05",
          "message": "메타데이터 태그 저장: 고토게 코요하루, 귀멸의 칼날"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:34:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #925"
        },
        {
          "time": "05:34:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:34:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=귀멸의 칼날 - 고토게 코요하루 | 뉴토끼, links=222"
        },
        {
          "time": "05:34:40",
          "message": "작품 제목: 귀멸의 칼날 - 고토게 코요하루"
        },
        {
          "time": "05:34:40",
          "message": "메타데이터 태그 저장: 고토게 코요하루, 귀멸의 칼날"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:28:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #191"
        },
        {
          "time": "19:28:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:28:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=귀멸의 칼날 - 고토게 코요하루 | 뉴토끼, links=222"
        },
        {
          "time": "19:28:44",
          "message": "작품 제목: 귀멸의 칼날 - 고토게 코요하루"
        },
        {
          "time": "19:28:44",
          "message": "메타데이터 태그 저장: 고토게 코요하루, 귀멸의 칼날"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:51:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #484"
        },
        {
          "time": "11:51:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:51:31",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:51:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #485"
        },
        {
          "time": "11:51:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:51:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=귀멸의 칼날 - 고토게 코요하루 | 뉴토끼, links=222"
        },
        {
          "time": "11:52:22",
          "message": "작품 제목: 귀멸의 칼날 - 고토게 코요하루"
        },
        {
          "time": "11:52:22",
          "message": "메타데이터 태그 저장: 고토게 코요하루, 귀멸의 칼날"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:42:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #971"
        },
        {
          "time": "04:42:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:42:31",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:42:31",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:42:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #972"
        },
        {
          "time": "04:42:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:42:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=귀멸의 칼날 - 고토게 코요하루 | 뉴토끼, links=222"
        },
        {
          "time": "04:43:08",
          "message": "작품 제목: 귀멸의 칼날 - 고토게 코요하루"
        },
        {
          "time": "04:43:11",
          "message": "메타데이터 태그 저장: 고토게 코요하루, 귀멸의 칼날"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3737",
        "target_id": "manhwa_3737",
        "title": "귀멸의 칼날 - 고토게 코요하루",
        "episodes_found": 220,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 220,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3737",
          "title": "귀멸의 칼날 - 고토게 코요하루",
          "list_url": "https://newtoki1.org/manhwa/3737",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3737"
          },
          "tags": [
            "고토게 코요하루",
            "귀멸의 칼날"
          ],
          "description": "혈귀로 변해버린 여동생 ‘네즈코’를 인간으로 되돌리기 위해 탄지로는 귀살대의 길을 가기로 결의한다,인간과 도깨비가 엮어낸 애절한 오누이의 이야기가 지금 시작된다 !",
          "metadata_path": "/downloads/manhwa_3737/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 220,
        "total": 220,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "f2e6392d42",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T15:29:02",
      "started_at": "2026-06-04T04:40:25",
      "finished_at": "2026-06-04T04:42:08",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "주술 - LHIM,림",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/3809",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_3809",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "17:57:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #69"
        },
        {
          "time": "17:57:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:58:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 21화 5화 | 뉴토끼, images=29"
        },
        {
          "time": "17:59:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #70"
        },
        {
          "time": "17:59:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:59:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 20화 6화 | 뉴토끼, images=42"
        },
        {
          "time": "18:01:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #71"
        },
        {
          "time": "18:01:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:02:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #72"
        },
        {
          "time": "18:02:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:02:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 19화 7화 | 뉴토끼, images=47"
        },
        {
          "time": "18:06:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #73"
        },
        {
          "time": "18:06:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:06:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #74"
        },
        {
          "time": "18:06:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:07:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #75"
        },
        {
          "time": "18:07:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:07:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 17화 9화 | 뉴토끼, images=42"
        },
        {
          "time": "18:10:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #76"
        },
        {
          "time": "18:10:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:10:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #77"
        },
        {
          "time": "18:10:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:11:18",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 16화 10화 | 뉴토끼, images=36"
        },
        {
          "time": "18:12:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #78"
        },
        {
          "time": "18:12:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:13:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #79"
        },
        {
          "time": "18:13:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:13:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 15화 11화 | 뉴토끼, images=46"
        },
        {
          "time": "18:16:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #80"
        },
        {
          "time": "18:16:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:16:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #81"
        },
        {
          "time": "18:16:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:16:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 14화 12화 | 뉴토끼, images=47"
        },
        {
          "time": "18:20:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #82"
        },
        {
          "time": "18:20:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:20:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #83"
        },
        {
          "time": "18:20:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:20:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 13화 | 뉴토끼, images=47"
        },
        {
          "time": "18:23:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #84"
        },
        {
          "time": "18:23:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:23:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #85"
        },
        {
          "time": "18:23:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:23:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 12화 14화 | 뉴토끼, images=51"
        },
        {
          "time": "18:26:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #86"
        },
        {
          "time": "18:26:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:27:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #87"
        },
        {
          "time": "18:27:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:27:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 11화 15화 | 뉴토끼, images=48"
        },
        {
          "time": "18:30:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #88"
        },
        {
          "time": "18:30:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:30:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #89"
        },
        {
          "time": "18:30:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:31:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 10화 16화 | 뉴토끼, images=29"
        },
        {
          "time": "18:32:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #90"
        },
        {
          "time": "18:32:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:32:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 9화 17화 | 뉴토끼, images=50"
        },
        {
          "time": "18:34:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #91"
        },
        {
          "time": "18:34:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:35:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #92"
        },
        {
          "time": "18:35:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:35:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 8화 18화 | 뉴토끼, images=46"
        },
        {
          "time": "18:37:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #93"
        },
        {
          "time": "18:37:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:38:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #94"
        },
        {
          "time": "18:38:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:38:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 7화 19화 | 뉴토끼, images=36"
        },
        {
          "time": "18:39:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #95"
        },
        {
          "time": "18:39:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:40:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #96"
        },
        {
          "time": "18:40:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:40:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 6화 20화 | 뉴토끼, images=55"
        },
        {
          "time": "18:44:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #97"
        },
        {
          "time": "18:44:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:44:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #98"
        },
        {
          "time": "18:44:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:44:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 5화 21화 | 뉴토끼, images=52"
        },
        {
          "time": "18:48:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #99"
        },
        {
          "time": "18:48:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:48:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #100"
        },
        {
          "time": "18:48:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:49:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 4화 22화 | 뉴토끼, images=44"
        },
        {
          "time": "18:51:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #101"
        },
        {
          "time": "18:51:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:51:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #102"
        },
        {
          "time": "18:51:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:51:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 3화 23화 | 뉴토끼, images=44"
        },
        {
          "time": "18:54:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #103"
        },
        {
          "time": "18:54:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:54:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #104"
        },
        {
          "time": "18:54:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:54:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 2화 24화 | 뉴토끼, images=50"
        },
        {
          "time": "19:20:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T19:20:16"
        },
        {
          "time": "19:20:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:20:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #34"
        },
        {
          "time": "12:47:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:47:43",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:48:18",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "12:58:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T12:58:22"
        },
        {
          "time": "12:58:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:58:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:11:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1047"
        },
        {
          "time": "07:11:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:11:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=주술 - LHIM,림 | 뉴토끼, links=27"
        },
        {
          "time": "07:11:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1048"
        },
        {
          "time": "07:11:22",
          "message": "작품 제목: 주술 - LHIM,림"
        },
        {
          "time": "07:11:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:12:23",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 24화 2화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "07:12:23",
          "message": "메타데이터 태그 저장: LHIM, 공포, 림, 미스터리, 스릴러, 주술, 추리"
        },
        {
          "time": "07:12:23",
          "message": "순회 계획을 저장했습니다: 4개 회차"
        },
        {
          "time": "07:12:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1049"
        },
        {
          "time": "07:12:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:12:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1050"
        },
        {
          "time": "07:12:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:13:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 21화 5화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "07:13:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1051"
        },
        {
          "time": "07:13:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:13:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 18화 8화 | 뉴토끼, img_tags=44, image_urls=44"
        },
        {
          "time": "07:14:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1052"
        },
        {
          "time": "07:14:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:14:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 10화 16화 | 뉴토끼, img_tags=35, image_urls=35"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:31:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #99"
        },
        {
          "time": "18:31:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:32:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=주술 - LHIM,림 | 뉴토끼, links=27"
        },
        {
          "time": "18:32:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #100"
        },
        {
          "time": "18:32:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:32:07",
          "message": "작품 제목: 주술 - LHIM,림"
        },
        {
          "time": "18:32:07",
          "message": "메타데이터 태그 저장: LHIM, 공포, 림, 미스터리, 스릴러, 주술, 추리"
        },
        {
          "time": "18:32:07",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "18:32:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 24화 2화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:10:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #594"
        },
        {
          "time": "13:10:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:11:29",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:11:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #595"
        },
        {
          "time": "13:11:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:11:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=주술 - LHIM,림 | 뉴토끼, links=27"
        },
        {
          "time": "13:12:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #596"
        },
        {
          "time": "13:12:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:12:36",
          "message": "작품 제목: 주술 - LHIM,림"
        },
        {
          "time": "13:12:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 2화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "13:13:07",
          "message": "메타데이터 태그 저장: LHIM, 공포, 림, 미스터리, 스릴러, 주술, 추리"
        },
        {
          "time": "13:13:08",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:40:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #969"
        },
        {
          "time": "04:40:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:41:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=주술 - LHIM,림 | 뉴토끼, links=27"
        },
        {
          "time": "04:41:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #970"
        },
        {
          "time": "04:41:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:42:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=주술 2화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "04:42:06",
          "message": "작품 제목: 주술 - LHIM,림"
        },
        {
          "time": "04:42:06",
          "message": "메타데이터 태그 저장: LHIM, 공포, 림, 미스터리, 스릴러, 주술, 추리"
        },
        {
          "time": "04:42:07",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_3809",
        "target_id": "webtoon_3809",
        "title": "주술 - LHIM,림",
        "episodes_found": 25,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 24,
        "images_found": 2,
        "images_downloaded": 0,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_3809",
          "title": "주술 - LHIM,림",
          "list_url": "https://newtoki1.org/webtoon/3809",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/3809"
          },
          "tags": [
            "LHIM",
            "공포",
            "림",
            "미스터리",
            "스릴러",
            "주술",
            "추리"
          ],
          "description": "주술 (LHIM,림) [봄툰] #추리/미스터리 #공포/스릴러",
          "metadata_path": "/downloads/webtoon_3809/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 3,
          "url": "https://newtoki1.org/webtoon/3809/179102",
          "title": "주술 2화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "1e3df050c4",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T15:24:39",
      "started_at": "2026-06-04T04:39:34",
      "finished_at": "2026-06-04T04:40:24",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "미인여상사 타키자와 씨 - 양BARU",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/11023",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_11023",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "11:34:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_181/003.jpg"
        },
        {
          "time": "11:34:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_181/004.jpg"
        },
        {
          "time": "11:34:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_181/005.jpg"
        },
        {
          "time": "11:34:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_181/006.jpg"
        },
        {
          "time": "11:34:33",
          "message": "  [>] 이미지 6개 처리 완료.\n"
        },
        {
          "time": "11:34:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11023/1783873"
        },
        {
          "time": "11:34:35",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11023/1783873"
        },
        {
          "time": "11:34:51",
          "message": "  [i] 회차 제목: 미인여상사 타키자와 씨 192화"
        },
        {
          "time": "11:34:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_182/001.jpg"
        },
        {
          "time": "11:35:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_182/002.jpg"
        },
        {
          "time": "11:35:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_182/003.jpg"
        },
        {
          "time": "11:35:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_182/004.jpg"
        },
        {
          "time": "11:35:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_182/005.jpg"
        },
        {
          "time": "11:35:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_182/006.jpg"
        },
        {
          "time": "11:35:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_182/007.jpg"
        },
        {
          "time": "11:35:18",
          "message": "  [>] 이미지 7개 처리 완료.\n"
        },
        {
          "time": "11:35:20",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11023/1783882"
        },
        {
          "time": "11:35:20",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11023/1783882"
        },
        {
          "time": "11:35:35",
          "message": "  [i] 회차 제목: 미인여상사 타키자와 씨 193화"
        },
        {
          "time": "11:35:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_183/001.jpg"
        },
        {
          "time": "11:35:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_183/002.jpg"
        },
        {
          "time": "11:35:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_183/003.jpg"
        },
        {
          "time": "11:35:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_183/004.jpg"
        },
        {
          "time": "11:35:50",
          "message": "  [>] 이미지 4개 처리 완료.\n"
        },
        {
          "time": "11:35:52",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11023/1783974"
        },
        {
          "time": "11:35:52",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11023/1783974"
        },
        {
          "time": "11:36:06",
          "message": "  [i] 회차 제목: 미인여상사 타키자와 씨 194화"
        },
        {
          "time": "11:36:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_184/001.png"
        },
        {
          "time": "11:36:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_184/002.png"
        },
        {
          "time": "11:36:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_184/003.png"
        },
        {
          "time": "11:36:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_184/004.png"
        },
        {
          "time": "11:36:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_184/005.png"
        },
        {
          "time": "11:36:28",
          "message": "  [>] 이미지 5개 처리 완료.\n"
        },
        {
          "time": "11:36:29",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11023/1783991"
        },
        {
          "time": "11:36:30",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11023/1783991"
        },
        {
          "time": "11:36:44",
          "message": "  [i] 회차 제목: 미인여상사 타키자와 씨 195화"
        },
        {
          "time": "11:36:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_185/001.png"
        },
        {
          "time": "11:36:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_185/002.png"
        },
        {
          "time": "11:37:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_185/003.png"
        },
        {
          "time": "11:37:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_185/004.png"
        },
        {
          "time": "11:37:08",
          "message": "  [>] 이미지 4개 처리 완료.\n"
        },
        {
          "time": "11:37:10",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11023/1786536"
        },
        {
          "time": "11:37:10",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11023/1786536"
        },
        {
          "time": "11:37:25",
          "message": "  [i] 회차 제목: 미인여상사 타키자와 씨 196화"
        },
        {
          "time": "11:37:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_186/001.jpg"
        },
        {
          "time": "11:37:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_186/002.jpg"
        },
        {
          "time": "11:37:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_186/003.jpg"
        },
        {
          "time": "11:37:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_186/004.jpg"
        },
        {
          "time": "11:37:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_186/005.jpg"
        },
        {
          "time": "11:37:39",
          "message": "  [>] 이미지 5개 처리 완료.\n"
        },
        {
          "time": "11:37:40",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11023/1787149"
        },
        {
          "time": "11:37:40",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11023/1787149"
        },
        {
          "time": "11:37:53",
          "message": "  [i] 회차 제목: 미인여상사 타키자와 씨 197화"
        },
        {
          "time": "11:37:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_187/001.jpg"
        },
        {
          "time": "11:37:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_187/002.jpg"
        },
        {
          "time": "11:38:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_187/003.jpg"
        },
        {
          "time": "11:38:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_187/004.jpg"
        },
        {
          "time": "11:38:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_187/005.jpg"
        },
        {
          "time": "11:38:05",
          "message": "  [>] 이미지 5개 처리 완료.\n"
        },
        {
          "time": "11:38:06",
          "message": "완료: 회차 72개 처리, 이미지 386개 저장, 0개 건너뜀"
        },
        {
          "time": "13:05:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-15T13:05:42"
        },
        {
          "time": "13:05:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:21:02",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "13:22:00",
          "message": "기존 완료 기록을 적용합니다: 186개 회차"
        },
        {
          "time": "13:22:00",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "13:22:01",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "13:22:01",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "13:22:01",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "13:22:01",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/11023"
        },
        {
          "time": "13:22:01",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11023"
        },
        {
          "time": "13:22:20",
          "message": "작품 제목: 미인여상사 타키자와 씨 - 양BARU"
        },
        {
          "time": "13:22:23",
          "message": "기존 완료 회차 186개 제외"
        },
        {
          "time": "13:22:24",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "13:22:24",
          "message": "총 187개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "13:22:24",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11023/1770461"
        },
        {
          "time": "13:22:24",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11023/1770461"
        },
        {
          "time": "13:22:31",
          "message": "  [i] 회차 제목: 미인여상사 타키자와 씨 183화"
        },
        {
          "time": "13:22:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_173/001.png"
        },
        {
          "time": "13:22:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_173/002.png"
        },
        {
          "time": "13:22:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_173/003.png"
        },
        {
          "time": "13:22:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_11023/ep_173/004.png"
        },
        {
          "time": "13:22:59",
          "message": "  [>] 이미지 4개 처리 완료.\n"
        },
        {
          "time": "13:23:00",
          "message": "완료: 회차 1개 처리, 이미지 4개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "16:33:02",
          "message": "대기열 순서를 변경했습니다: 105 -> 104"
        },
        {
          "time": "16:33:02",
          "message": "대기열 순서를 변경했습니다: 104 -> 103"
        },
        {
          "time": "16:33:03",
          "message": "대기열 순서를 변경했습니다: 103 -> 102"
        },
        {
          "time": "16:33:03",
          "message": "대기열 순서를 변경했습니다: 102 -> 101"
        },
        {
          "time": "16:33:03",
          "message": "대기열 순서를 변경했습니다: 101 -> 100"
        },
        {
          "time": "16:33:03",
          "message": "대기열 순서를 변경했습니다: 100 -> 99"
        },
        {
          "time": "13:29:00",
          "message": "대기열 순서를 변경했습니다: 69 -> 1"
        },
        {
          "time": "16:33:20",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:34:38",
          "message": "기존 완료 기록을 적용합니다: 187개 회차"
        },
        {
          "time": "16:34:38",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:34:38",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:34:38",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:34:38",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:34:38",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/11023"
        },
        {
          "time": "16:34:39",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11023"
        },
        {
          "time": "16:34:44",
          "message": "작품 제목: 미인여상사 타키자와 씨 - 양BARU"
        },
        {
          "time": "16:34:45",
          "message": "메타데이터 저장: /downloads/manhwa_11023/metadata.yaml"
        },
        {
          "time": "16:34:45",
          "message": "메타데이터 태그 저장: 미인여상사 타키자와 씨, 양BARU"
        },
        {
          "time": "16:34:45",
          "message": "기존 완료 회차 187개 제외"
        },
        {
          "time": "16:34:45",
          "message": "총 187개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:34:45",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:27:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:27:51",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:38:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:38:06"
        },
        {
          "time": "06:38:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:38:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:09:35",
          "message": "작품 제목: 11023"
        },
        {
          "time": "13:20:14",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:20:14"
        },
        {
          "time": "13:20:14",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:20:14",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:51:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #62"
        },
        {
          "time": "17:51:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:51:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미인여상사 타키자와 씨 - 양BARU | 뉴토끼, links=189"
        },
        {
          "time": "17:51:23",
          "message": "작품 제목: 미인여상사 타키자와 씨 - 양BARU"
        },
        {
          "time": "17:51:23",
          "message": "메타데이터 태그 저장: 미인여상사 타키자와 씨, 양BARU"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:35:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #926"
        },
        {
          "time": "05:35:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:35:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미인여상사 타키자와 씨 - 양BARU | 뉴토끼, links=189"
        },
        {
          "time": "05:35:26",
          "message": "작품 제목: 미인여상사 타키자와 씨 - 양BARU"
        },
        {
          "time": "05:35:26",
          "message": "메타데이터 태그 저장: 미인여상사 타키자와 씨, 양BARU"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:28:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #190"
        },
        {
          "time": "19:28:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:28:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미인여상사 타키자와 씨 - 양BARU | 뉴토끼, links=189"
        },
        {
          "time": "19:28:26",
          "message": "작품 제목: 미인여상사 타키자와 씨 - 양BARU"
        },
        {
          "time": "19:28:26",
          "message": "메타데이터 태그 저장: 미인여상사 타키자와 씨, 양BARU"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:52:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #486"
        },
        {
          "time": "11:52:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:53:16",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:53:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #487"
        },
        {
          "time": "11:53:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:53:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미인여상사 타키자와 씨 - 양BARU | 뉴토끼, links=189"
        },
        {
          "time": "11:54:03",
          "message": "작품 제목: 미인여상사 타키자와 씨 - 양BARU"
        },
        {
          "time": "11:54:03",
          "message": "메타데이터 태그 저장: 미인여상사 타키자와 씨, 양BARU"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:40:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #968"
        },
        {
          "time": "04:40:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:40:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=미인여상사 타키자와 씨 - 양BARU | 뉴토끼, links=189"
        },
        {
          "time": "04:40:23",
          "message": "작품 제목: 미인여상사 타키자와 씨 - 양BARU"
        },
        {
          "time": "04:40:24",
          "message": "메타데이터 태그 저장: 미인여상사 타키자와 씨, 양BARU"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_11023",
        "target_id": "manhwa_11023",
        "title": "미인여상사 타키자와 씨 - 양BARU",
        "episodes_found": 187,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 187,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_11023",
          "title": "미인여상사 타키자와 씨 - 양BARU",
          "list_url": "https://newtoki1.org/manhwa/11023",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/11023"
          },
          "tags": [
            "미인여상사 타키자와 씨",
            "양BARU"
          ],
          "description": "직상상사인 타키자와 쿄코와 직상후배이며 주인공인 타케다 코우타의 회사생화라에서 일어나는 일상코미디물입니다.일을 시작하게된 타케다 코우타와 타케다의 직상상사이며 일을 가르치게 되는 사수인 타키자와 일상을 그려내며 소소하게 발생하는 사건들로 이야기가 전개됩니다",
          "metadata_path": "/downloads/manhwa_11023/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 187,
        "total": 187,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "bafeaa1529",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T13:12:46",
      "started_at": "2026-06-04T04:38:04",
      "finished_at": "2026-06-04T04:39:34",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "누이 되는 자 - 이이다 포치",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3144",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3144",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "23:02:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_046/007.jpg"
        },
        {
          "time": "23:02:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_046/008.jpg"
        },
        {
          "time": "23:02:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_046/009.jpg"
        },
        {
          "time": "23:02:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_046/010.jpg"
        },
        {
          "time": "23:02:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_046/011.jpg"
        },
        {
          "time": "23:03:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_046/012.jpg"
        },
        {
          "time": "23:03:01",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "23:03:02",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/3144/1664539"
        },
        {
          "time": "23:03:02",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/3144/1664539"
        },
        {
          "time": "23:03:09",
          "message": "  [i] 회차 제목: 누이 되는 자 44화 누이 되는자 44화"
        },
        {
          "time": "23:03:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/001.jpg"
        },
        {
          "time": "23:03:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/002.jpg"
        },
        {
          "time": "23:03:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/003.jpg"
        },
        {
          "time": "23:03:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/004.jpg"
        },
        {
          "time": "23:03:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/005.jpg"
        },
        {
          "time": "23:03:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/006.jpg"
        },
        {
          "time": "23:03:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/007.jpg"
        },
        {
          "time": "23:03:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/008.jpg"
        },
        {
          "time": "23:03:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/009.jpg"
        },
        {
          "time": "23:03:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/010.jpg"
        },
        {
          "time": "23:03:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/011.jpg"
        },
        {
          "time": "23:03:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/012.jpg"
        },
        {
          "time": "23:03:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/013.jpg"
        },
        {
          "time": "23:03:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/014.jpg"
        },
        {
          "time": "23:03:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/015.jpg"
        },
        {
          "time": "23:03:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_047/016.jpg"
        },
        {
          "time": "23:03:35",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "23:03:36",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/3144/1676809"
        },
        {
          "time": "23:03:36",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/3144/1676809"
        },
        {
          "time": "23:03:43",
          "message": "  [i] 회차 제목: 누이 되는 자 45화 누이 되는자 45화"
        },
        {
          "time": "23:03:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/001.jpg"
        },
        {
          "time": "23:03:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/002.jpg"
        },
        {
          "time": "23:03:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/003.jpg"
        },
        {
          "time": "23:03:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/004.jpg"
        },
        {
          "time": "23:03:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/005.jpg"
        },
        {
          "time": "23:03:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/006.jpg"
        },
        {
          "time": "23:03:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/007.jpg"
        },
        {
          "time": "23:03:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/008.jpg"
        },
        {
          "time": "23:03:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/009.jpg"
        },
        {
          "time": "23:04:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/010.jpg"
        },
        {
          "time": "23:04:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/011.jpg"
        },
        {
          "time": "23:04:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_048/012.jpg"
        },
        {
          "time": "23:04:05",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "23:04:06",
          "message": "완료: 회차 47개 처리, 이미지 778개 저장, 0개 건너뜀"
        },
        {
          "time": "05:36:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-15T05:36:30"
        },
        {
          "time": "05:36:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:47:06",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "06:48:15",
          "message": "기존 완료 기록을 적용합니다: 47개 회차"
        },
        {
          "time": "06:48:31",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "06:48:50",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "06:49:11",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "06:49:35",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "06:49:55",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "06:51:31",
          "message": "[!] 작업 실패: database is locked"
        },
        {
          "time": "07:14:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-15T07:14:18"
        },
        {
          "time": "07:14:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:06:16",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "11:06:22",
          "message": "기존 완료 기록을 적용합니다: 47개 회차"
        },
        {
          "time": "11:06:22",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "11:06:22",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "11:06:22",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "11:06:23",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "11:06:23",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/3144"
        },
        {
          "time": "11:06:23",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/3144"
        },
        {
          "time": "11:06:31",
          "message": "작품 제목: 누이 되는 자 - 이이다 포치"
        },
        {
          "time": "11:06:31",
          "message": "기존 완료 회차 47개 제외"
        },
        {
          "time": "11:06:31",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "11:06:31",
          "message": "총 48개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "11:06:31",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/3144/338935"
        },
        {
          "time": "11:06:31",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/3144/338935"
        },
        {
          "time": "11:06:40",
          "message": "  [i] 회차 제목: 누이 되는 자 15화 누이 되는자 15화"
        },
        {
          "time": "11:06:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_016/001.jpg"
        },
        {
          "time": "11:06:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_016/002.jpg"
        },
        {
          "time": "11:06:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_016/003.jpg"
        },
        {
          "time": "11:06:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_016/004.jpg"
        },
        {
          "time": "11:06:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_016/005.jpg"
        },
        {
          "time": "11:06:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_016/006.jpg"
        },
        {
          "time": "11:06:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_016/007.jpg"
        },
        {
          "time": "11:06:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_3144/ep_016/008.jpg"
        },
        {
          "time": "11:06:58",
          "message": "  [>] 이미지 8개 처리 완료.\n"
        },
        {
          "time": "11:07:00",
          "message": "완료: 회차 1개 처리, 이미지 8개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "16:33:07",
          "message": "대기열 순서를 변경했습니다: 105 -> 104"
        },
        {
          "time": "16:33:07",
          "message": "대기열 순서를 변경했습니다: 104 -> 103"
        },
        {
          "time": "16:33:07",
          "message": "대기열 순서를 변경했습니다: 103 -> 102"
        },
        {
          "time": "16:33:08",
          "message": "대기열 순서를 변경했습니다: 102 -> 101"
        },
        {
          "time": "13:29:06",
          "message": "대기열 순서를 변경했습니다: 71 -> 1"
        },
        {
          "time": "16:30:46",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:31:57",
          "message": "기존 완료 기록을 적용합니다: 48개 회차"
        },
        {
          "time": "16:31:57",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:31:57",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:31:57",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:31:57",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:31:57",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/3144"
        },
        {
          "time": "16:31:57",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/3144"
        },
        {
          "time": "16:32:03",
          "message": "작품 제목: 누이 되는 자 - 이이다 포치"
        },
        {
          "time": "16:32:03",
          "message": "메타데이터 저장: /downloads/manhwa_3144/metadata.yaml"
        },
        {
          "time": "16:32:03",
          "message": "메타데이터 태그 저장: 누이 되는 자, 이이다 포치"
        },
        {
          "time": "16:32:03",
          "message": "기존 완료 회차 48개 제외"
        },
        {
          "time": "16:32:03",
          "message": "총 48개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:32:03",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:27:56",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:28:32",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:38:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:38:52"
        },
        {
          "time": "06:38:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:38:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:09:28",
          "message": "작품 제목: 3144"
        },
        {
          "time": "13:19:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:19:30"
        },
        {
          "time": "13:19:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:19:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:50:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #61"
        },
        {
          "time": "17:50:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:51:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누이 되는 자 - 이이다 포치 | 뉴토끼, links=50"
        },
        {
          "time": "17:51:08",
          "message": "작품 제목: 누이 되는 자 - 이이다 포치"
        },
        {
          "time": "17:51:08",
          "message": "메타데이터 태그 저장: 누이 되는 자, 이이다 포치"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:35:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #927"
        },
        {
          "time": "05:35:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:35:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누이 되는 자 - 이이다 포치 | 뉴토끼, links=50"
        },
        {
          "time": "05:35:52",
          "message": "작품 제목: 누이 되는 자 - 이이다 포치"
        },
        {
          "time": "05:35:52",
          "message": "메타데이터 태그 저장: 누이 되는 자, 이이다 포치"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:27:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #189"
        },
        {
          "time": "19:27:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:27:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누이 되는 자 - 이이다 포치 | 뉴토끼, links=50"
        },
        {
          "time": "19:27:39",
          "message": "작품 제목: 누이 되는 자 - 이이다 포치"
        },
        {
          "time": "19:27:39",
          "message": "메타데이터 태그 저장: 누이 되는 자, 이이다 포치"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:54:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #488"
        },
        {
          "time": "11:54:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:55:29",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:55:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #489"
        },
        {
          "time": "11:55:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:55:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누이 되는 자 - 이이다 포치 | 뉴토끼, links=50"
        },
        {
          "time": "11:55:39",
          "message": "작품 제목: 누이 되는 자 - 이이다 포치"
        },
        {
          "time": "11:55:39",
          "message": "메타데이터 태그 저장: 누이 되는 자, 이이다 포치"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:38:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #966"
        },
        {
          "time": "04:38:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:38:56",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:38:56",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:38:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #967"
        },
        {
          "time": "04:38:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:39:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=누이 되는 자 - 이이다 포치 | 뉴토끼, links=50"
        },
        {
          "time": "04:39:32",
          "message": "작품 제목: 누이 되는 자 - 이이다 포치"
        },
        {
          "time": "04:39:33",
          "message": "메타데이터 태그 저장: 누이 되는 자, 이이다 포치"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3144",
        "target_id": "manhwa_3144",
        "title": "누이 되는 자 - 이이다 포치",
        "episodes_found": 48,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 48,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3144",
          "title": "누이 되는 자 - 이이다 포치",
          "list_url": "https://newtoki1.org/manhwa/3144",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3144"
          },
          "tags": [
            "누이 되는 자",
            "이이다 포치"
          ],
          "description": "5살 때 부모님을 여읜 `유우`는 친척 집을 전전하다 결국 삼촌 집에 맡겨지게 되었다. 자신을 크게 신경쓰지 않으며 필요한 관계만을 유지하는 삼촌과 살아가던 나날, 삼촌이 급작스러운 사고로 입원하게 되고, 그만이 홀로 집에 남게 되었다. 입원할 삼촌에게 필요할 물품들을 찾던 도중, 그",
          "metadata_path": "/downloads/manhwa_3144/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 48,
        "total": 48,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "42bb9c2060",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T13:12:34",
      "started_at": "2026-06-04T04:36:38",
      "finished_at": "2026-06-04T04:38:04",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "여친, 빌리겠습니다 - 야마토 히나",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/10499",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_10499",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "16:23:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/006.jpg"
        },
        {
          "time": "16:23:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/007.jpg"
        },
        {
          "time": "16:23:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/008.jpg"
        },
        {
          "time": "16:23:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/009.jpg"
        },
        {
          "time": "16:23:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/010.jpg"
        },
        {
          "time": "16:23:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/011.jpg"
        },
        {
          "time": "16:24:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/012.jpg"
        },
        {
          "time": "16:24:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/013.jpg"
        },
        {
          "time": "16:24:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/014.jpg"
        },
        {
          "time": "16:24:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/015.jpg"
        },
        {
          "time": "16:24:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/016.jpg"
        },
        {
          "time": "16:24:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/017.jpg"
        },
        {
          "time": "16:24:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/018.jpg"
        },
        {
          "time": "16:24:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/019.jpg"
        },
        {
          "time": "16:24:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/020.jpg"
        },
        {
          "time": "16:24:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_455/021.jpg"
        },
        {
          "time": "16:24:11",
          "message": "  [>] 이미지 21개 처리 완료.\n"
        },
        {
          "time": "16:24:13",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/10499/u-mp8467tw-qyyn"
        },
        {
          "time": "16:24:13",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/10499/u-mp8467tw-qyyn"
        },
        {
          "time": "16:24:19",
          "message": "  [i] 회차 제목: 여친, 빌리겠습니다 422.5화"
        },
        {
          "time": "16:24:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_456/001.jpg"
        },
        {
          "time": "16:24:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_456/002.jpg"
        },
        {
          "time": "16:24:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_456/003.jpg"
        },
        {
          "time": "16:24:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_456/004.jpg"
        },
        {
          "time": "16:24:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_456/005.jpg"
        },
        {
          "time": "16:24:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_456/006.jpg"
        },
        {
          "time": "16:24:26",
          "message": "  [>] 이미지 6개 처리 완료.\n"
        },
        {
          "time": "16:24:27",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/10499/u-mp8q9nix-awef"
        },
        {
          "time": "16:24:27",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/10499/u-mp8q9nix-awef"
        },
        {
          "time": "16:24:33",
          "message": "  [i] 회차 제목: 여친, 빌리겠습니다 423화"
        },
        {
          "time": "16:24:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/001.png"
        },
        {
          "time": "16:24:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/002.jpg"
        },
        {
          "time": "16:24:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/003.jpg"
        },
        {
          "time": "16:24:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/004.jpg"
        },
        {
          "time": "16:24:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/005.jpg"
        },
        {
          "time": "16:24:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/006.jpg"
        },
        {
          "time": "16:24:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/007.jpg"
        },
        {
          "time": "16:24:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/008.jpg"
        },
        {
          "time": "16:24:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/009.jpg"
        },
        {
          "time": "16:24:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/010.jpg"
        },
        {
          "time": "16:24:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/011.jpg"
        },
        {
          "time": "16:24:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/012.jpg"
        },
        {
          "time": "16:24:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/013.jpg"
        },
        {
          "time": "16:24:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/014.jpg"
        },
        {
          "time": "16:24:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/015.jpg"
        },
        {
          "time": "16:24:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/016.jpg"
        },
        {
          "time": "16:24:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/017.jpg"
        },
        {
          "time": "16:24:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/018.jpg"
        },
        {
          "time": "16:24:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/019.jpg"
        },
        {
          "time": "16:24:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/020.jpg"
        },
        {
          "time": "16:24:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_457/021.png"
        },
        {
          "time": "16:24:58",
          "message": "  [>] 이미지 21개 처리 완료.\n"
        },
        {
          "time": "16:24:59",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/10499/u-mp8qbduz-ipuj"
        },
        {
          "time": "16:24:59",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/10499/u-mp8qbduz-ipuj"
        },
        {
          "time": "16:25:07",
          "message": "  [i] 회차 제목: 여친, 빌리겠습니다 424화"
        },
        {
          "time": "16:25:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/001.jpg"
        },
        {
          "time": "16:25:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/002.jpg"
        },
        {
          "time": "16:25:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/003.jpg"
        },
        {
          "time": "16:25:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/004.jpg"
        },
        {
          "time": "16:25:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/005.jpg"
        },
        {
          "time": "16:25:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/006.jpg"
        },
        {
          "time": "16:25:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/007.jpg"
        },
        {
          "time": "16:25:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/008.jpg"
        },
        {
          "time": "16:25:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/009.jpg"
        },
        {
          "time": "16:25:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/010.jpg"
        },
        {
          "time": "16:25:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/011.jpg"
        },
        {
          "time": "16:25:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/012.jpg"
        },
        {
          "time": "16:25:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/013.jpg"
        },
        {
          "time": "16:25:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/014.jpg"
        },
        {
          "time": "16:25:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/015.jpg"
        },
        {
          "time": "16:25:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/016.jpg"
        },
        {
          "time": "16:25:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/017.jpg"
        },
        {
          "time": "16:25:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/018.jpg"
        },
        {
          "time": "16:25:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/019.jpg"
        },
        {
          "time": "16:25:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_458/020.jpg"
        },
        {
          "time": "16:25:31",
          "message": "  [>] 이미지 20개 처리 완료.\n"
        },
        {
          "time": "16:25:32",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/10499/u-mpdk3nbt-f69y"
        },
        {
          "time": "16:25:32",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/10499/u-mpdk3nbt-f69y"
        },
        {
          "time": "16:25:39",
          "message": "  [i] 회차 제목: 여친, 빌리겠습니다 425화"
        },
        {
          "time": "16:25:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/001.jpg"
        },
        {
          "time": "16:25:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/002.jpg"
        },
        {
          "time": "16:25:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/003.jpg"
        },
        {
          "time": "16:25:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/004.jpg"
        },
        {
          "time": "16:25:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/005.jpg"
        },
        {
          "time": "16:25:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/006.jpg"
        },
        {
          "time": "16:25:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/007.jpg"
        },
        {
          "time": "16:25:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/008.jpg"
        },
        {
          "time": "16:25:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/009.jpg"
        },
        {
          "time": "16:25:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/010.jpg"
        },
        {
          "time": "16:25:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/011.jpg"
        },
        {
          "time": "16:25:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/012.jpg"
        },
        {
          "time": "16:25:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/013.jpg"
        },
        {
          "time": "16:25:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/014.jpg"
        },
        {
          "time": "16:25:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/015.jpg"
        },
        {
          "time": "16:25:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/016.jpg"
        },
        {
          "time": "16:25:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/017.jpg"
        },
        {
          "time": "16:26:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/018.jpg"
        },
        {
          "time": "16:26:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_10499/ep_459/019.jpg"
        },
        {
          "time": "16:26:01",
          "message": "  [>] 이미지 19개 처리 완료.\n"
        },
        {
          "time": "16:26:03",
          "message": "완료: 회차 5개 처리, 이미지 87개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 5)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 5)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:29:10",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:29:44",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:39:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:39:48"
        },
        {
          "time": "06:39:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:39:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:09:23",
          "message": "작품 제목: 10499"
        },
        {
          "time": "13:19:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:19:30"
        },
        {
          "time": "13:19:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:19:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:47:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #59"
        },
        {
          "time": "17:47:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:47:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여친, 빌리겠습니다 - 야마토 히나 | 뉴토끼, links=462"
        },
        {
          "time": "17:47:39",
          "message": "작품 제목: 여친, 빌리겠습니다 - 야마토 히나"
        },
        {
          "time": "17:48:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #60"
        },
        {
          "time": "17:48:11",
          "message": "메타데이터 태그 저장: 빌리겠습니다, 야마토 히나, 여친"
        },
        {
          "time": "17:48:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:48:11",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "17:48:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=여친, 빌리겠습니다 426화 | 뉴토끼, images=42"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:36:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #928"
        },
        {
          "time": "05:36:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:36:39",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "05:36:39",
          "message": "작품 제목: 10499"
        },
        {
          "time": "05:36:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #929"
        },
        {
          "time": "05:36:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:36:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여친, 빌리겠습니다 - 야마토 히나 | 뉴토끼, links=462"
        },
        {
          "time": "05:36:40",
          "message": "작품 제목: 여친, 빌리겠습니다 - 야마토 히나"
        },
        {
          "time": "05:36:40",
          "message": "메타데이터 태그 저장: 빌리겠습니다, 야마토 히나, 여친"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:26:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #188"
        },
        {
          "time": "19:26:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:27:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여친, 빌리겠습니다 - 야마토 히나 | 뉴토끼, links=462"
        },
        {
          "time": "19:27:13",
          "message": "작품 제목: 여친, 빌리겠습니다 - 야마토 히나"
        },
        {
          "time": "19:27:14",
          "message": "메타데이터 태그 저장: 빌리겠습니다, 야마토 히나, 여친"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:56:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #490"
        },
        {
          "time": "11:56:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:56:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여친, 빌리겠습니다 - 야마토 히나 | 뉴토끼, links=462"
        },
        {
          "time": "11:56:51",
          "message": "작품 제목: 여친, 빌리겠습니다 - 야마토 히나"
        },
        {
          "time": "11:56:51",
          "message": "메타데이터 태그 저장: 빌리겠습니다, 야마토 히나, 여친"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:37:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #965"
        },
        {
          "time": "04:37:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:37:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=여친, 빌리겠습니다 - 야마토 히나 | 뉴토끼, links=462"
        },
        {
          "time": "04:38:02",
          "message": "작품 제목: 여친, 빌리겠습니다 - 야마토 히나"
        },
        {
          "time": "04:38:03",
          "message": "메타데이터 태그 저장: 빌리겠습니다, 야마토 히나, 여친"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_10499",
        "target_id": "manhwa_10499",
        "title": "여친, 빌리겠습니다 - 야마토 히나",
        "episodes_found": 460,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 460,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_10499",
          "title": "여친, 빌리겠습니다 - 야마토 히나",
          "list_url": "https://newtoki1.org/manhwa/10499",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/10499"
          },
          "tags": [
            "빌리겠습니다",
            "야마토 히나",
            "여친"
          ],
          "description": "단 한 번의 렌털 안에, 반짝이는 리얼이 존재한다. 도쿄에 사는 구제불능 대학생 키노시타 카즈야(20). 어느 날 모종의 `사연이 있는` 엄청난 미소녀 미즈하라 치즈루와 만나게 된 것을 계기로 그의 인생이 크게 달라지기 시작하는데─?!",
          "metadata_path": "/downloads/manhwa_10499/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 460,
        "total": 460,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "dde0e56285",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T13:12:29",
      "started_at": "2026-06-04T04:34:47",
      "finished_at": "2026-06-04T04:36:38",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/u-mp11io7i-ir5y",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_u-mp11io7i-ir5y",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "16:30:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/002.jpg"
        },
        {
          "time": "16:30:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/003.jpg"
        },
        {
          "time": "16:30:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/004.jpg"
        },
        {
          "time": "16:30:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/005.jpg"
        },
        {
          "time": "16:30:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/006.jpg"
        },
        {
          "time": "16:30:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/007.jpg"
        },
        {
          "time": "16:30:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/008.jpg"
        },
        {
          "time": "16:30:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/009.jpg"
        },
        {
          "time": "16:30:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/010.jpg"
        },
        {
          "time": "16:30:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/011.jpg"
        },
        {
          "time": "16:30:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/012.jpg"
        },
        {
          "time": "16:30:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/013.jpg"
        },
        {
          "time": "16:30:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/014.jpg"
        },
        {
          "time": "16:30:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/015.jpg"
        },
        {
          "time": "16:30:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/016.jpg"
        },
        {
          "time": "16:30:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/017.jpg"
        },
        {
          "time": "16:30:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/018.jpg"
        },
        {
          "time": "16:30:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/019.jpg"
        },
        {
          "time": "16:30:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/020.jpg"
        },
        {
          "time": "16:30:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/021.jpg"
        },
        {
          "time": "16:30:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/022.jpg"
        },
        {
          "time": "16:30:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/023.jpg"
        },
        {
          "time": "16:30:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/024.jpg"
        },
        {
          "time": "16:30:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/025.jpg"
        },
        {
          "time": "16:30:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_u-mp11io7i-ir5y/ep_017/026.jpg"
        },
        {
          "time": "16:30:45",
          "message": "  [>] 이미지 26개 처리 완료.\n"
        },
        {
          "time": "16:30:46",
          "message": "완료: 회차 5개 처리, 이미지 123개 저장, 0개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 5)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 5)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:28:35",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:29:08",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:39:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:39:28"
        },
        {
          "time": "06:39:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:39:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:09:03",
          "message": "작품 제목: u-mp11io7i-ir5y"
        },
        {
          "time": "13:19:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:19:12"
        },
        {
          "time": "13:19:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:19:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:30:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #46"
        },
        {
          "time": "17:30:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:31:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오 | 뉴토끼, links=27"
        },
        {
          "time": "17:31:08",
          "message": "작품 제목: 네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오"
        },
        {
          "time": "17:31:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #47"
        },
        {
          "time": "17:31:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:31:08",
          "message": "메타데이터 태그 저장: 네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요?, 이오"
        },
        {
          "time": "17:31:09",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "17:31:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 18화 | 뉴토끼, images=40"
        },
        {
          "time": "17:33:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #48"
        },
        {
          "time": "17:33:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:33:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #49"
        },
        {
          "time": "17:33:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:33:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #50"
        },
        {
          "time": "17:33:56",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:34:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 20화 | 뉴토끼, images=37"
        },
        {
          "time": "17:35:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #51"
        },
        {
          "time": "17:35:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:36:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #52"
        },
        {
          "time": "17:36:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:36:39",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 21화 | 뉴토끼, images=39"
        },
        {
          "time": "17:38:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #53"
        },
        {
          "time": "17:38:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:38:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #54"
        },
        {
          "time": "17:38:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:39:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #55"
        },
        {
          "time": "17:39:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:39:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 23화 | 뉴토끼, images=53"
        },
        {
          "time": "17:42:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #56"
        },
        {
          "time": "17:42:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:43:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #57"
        },
        {
          "time": "17:43:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:43:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 24화 | 뉴토끼, images=39"
        },
        {
          "time": "17:46:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #58"
        },
        {
          "time": "17:46:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:46:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 25화 | 뉴토끼, images=33"
        },
        {
          "time": "18:57:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T18:57:26"
        },
        {
          "time": "18:57:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:57:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:47:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #33"
        },
        {
          "time": "12:47:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:47:22",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:47:22",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "12:58:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T12:58:22"
        },
        {
          "time": "12:58:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:58:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "07:04:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1041"
        },
        {
          "time": "07:04:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:04:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오 | 뉴토끼, links=28"
        },
        {
          "time": "07:05:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1042"
        },
        {
          "time": "07:05:26",
          "message": "작품 제목: 네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오"
        },
        {
          "time": "07:05:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:05:26",
          "message": "메타데이터 태그 저장: 네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요?, 이오"
        },
        {
          "time": "07:05:26",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "07:05:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 19화 | 뉴토끼, img_tags=56, image_urls=53"
        },
        {
          "time": "07:07:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1043"
        },
        {
          "time": "07:07:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:07:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1044"
        },
        {
          "time": "07:07:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:08:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 22화 | 뉴토끼, img_tags=44, image_urls=44"
        },
        {
          "time": "07:09:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1045"
        },
        {
          "time": "07:09:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:10:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1046"
        },
        {
          "time": "07:10:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "07:10:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 26화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:32:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #101"
        },
        {
          "time": "18:32:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:33:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오 | 뉴토끼, links=30"
        },
        {
          "time": "18:33:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #102"
        },
        {
          "time": "18:33:07",
          "message": "작품 제목: 네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오"
        },
        {
          "time": "18:33:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:33:08",
          "message": "메타데이터 태그 저장: 네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요?, 이오"
        },
        {
          "time": "18:33:08",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "18:33:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 27화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "18:34:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #103"
        },
        {
          "time": "18:34:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:34:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #104"
        },
        {
          "time": "18:34:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:35:08",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 28화 | 뉴토끼, img_tags=43, image_urls=43"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:08:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #590"
        },
        {
          "time": "13:08:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:08:44",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "13:08:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #591"
        },
        {
          "time": "13:08:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:08:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오 | 뉴토끼, links=32"
        },
        {
          "time": "13:08:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #592"
        },
        {
          "time": "13:08:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:08:59",
          "message": "작품 제목: 네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오"
        },
        {
          "time": "13:09:00",
          "message": "메타데이터 태그 저장: 네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요?, 이오"
        },
        {
          "time": "13:09:02",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "13:09:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 29화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "13:09:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #593"
        },
        {
          "time": "13:09:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:09:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 30화 | 뉴토끼, img_tags=46, image_urls=46"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:34:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #962"
        },
        {
          "time": "04:34:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:35:09",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:35:09",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:35:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #963"
        },
        {
          "time": "04:35:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:35:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오 | 뉴토끼, links=33"
        },
        {
          "time": "04:35:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #964"
        },
        {
          "time": "04:35:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:35:57",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 31화 | 뉴토끼, img_tags=31, image_urls=31"
        },
        {
          "time": "04:35:57",
          "message": "작품 제목: 네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오"
        },
        {
          "time": "04:35:58",
          "message": "메타데이터 태그 저장: 네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요?, 이오"
        },
        {
          "time": "04:35:58",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_u-mp11io7i-ir5y",
        "target_id": "manhwa_u-mp11io7i-ir5y",
        "title": "네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오",
        "episodes_found": 31,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 30,
        "images_found": 2,
        "images_downloaded": 2,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_u-mp11io7i-ir5y",
          "title": "네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? - 이오",
          "list_url": "https://newtoki1.org/manhwa/u-mp11io7i-ir5y",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/u-mp11io7i-ir5y"
          },
          "tags": [
            "네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요?",
            "이오"
          ],
          "description": "회사 내 시스템을 전부 혼자 관리하던 시스템 엔지니어 사토 아이. 사장 교체와 함께 해고 통보를 받다. 워라밸 좋다고 입사한 회사는 엔지니어 한정 블랙기업이었고, 그 안에서 취미인 코스프레로 마음을 지키며 고생고생 다 해서 전 업무 자동화까지 다 해놨더니 어떻게 이제 와서 이럴 수가 있",
          "metadata_path": "/downloads/manhwa_u-mp11io7i-ir5y/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 31,
          "url": "https://newtoki1.org/manhwa/u-mp11io7i-ir5y/u-mpog1jmo-ossp",
          "title": "네? 사내 시스템을 전부 혼자 관리하는 저를 해고한다구요? 31화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "847d9973b6",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:27:15",
      "started_at": "2026-06-04T04:33:35",
      "finished_at": "2026-06-04T04:34:46",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "섬란 카구라 -홍련의 뱀- - 아오이 마나부",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8203",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8203",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "14:48:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:47",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:18:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:19:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:19:52"
        },
        {
          "time": "15:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:48:51",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "15:50:11",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "15:50:11",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:50:11",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:50:12",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:50:12",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:50:12",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "15:50:12",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "15:50:34",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/8203\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "16:01:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T16:01:31"
        },
        {
          "time": "16:01:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:01:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:11:23",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "00:12:47",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "00:12:47",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "00:12:47",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:12:47",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:12:47",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:12:47",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "00:12:47",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "00:13:07",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/8203\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "00:24:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T00:24:44"
        },
        {
          "time": "00:24:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:24:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:07:03",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "02:08:22",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "02:08:22",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "02:08:22",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "02:08:22",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "02:08:22",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "02:08:22",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "02:08:22",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "02:08:42",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/8203\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "02:18:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T02:18:47"
        },
        {
          "time": "02:18:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:18:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:24:42",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "05:26:07",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "05:26:08",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "05:26:08",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "05:26:08",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "05:26:08",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "05:26:08",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "05:26:08",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "05:26:28",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/8203\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "06:48:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T06:48:51"
        },
        {
          "time": "06:48:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:48:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "21:33:43",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "21:35:19",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "21:35:19",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "21:35:19",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "21:35:19",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "21:35:19",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "21:35:19",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "21:35:19",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "21:35:31",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "21:35:35",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "21:35:35",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "21:35:35",
          "message": "메타데이터 저장: /downloads/manhwa_8203/metadata.yaml"
        },
        {
          "time": "21:35:35",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "21:35:35",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "21:46:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T21:46:17"
        },
        {
          "time": "21:46:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:46:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:02:32",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "23:04:03",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "23:04:03",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "23:04:03",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "23:04:03",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "23:04:04",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "23:04:04",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "23:04:04",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "23:04:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "23:04:20",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "23:04:20",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "23:04:20",
          "message": "메타데이터 저장: /downloads/manhwa_8203/metadata.yaml"
        },
        {
          "time": "23:04:20",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "23:04:20",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "23:15:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T23:15:22"
        },
        {
          "time": "23:15:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:15:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:39:10",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "00:40:45",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "00:40:45",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "00:40:45",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:40:45",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:40:45",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:40:45",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "00:40:45",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/8203"
        },
        {
          "time": "00:41:05",
          "message": "작품 제목: 섬란 카구라 -홍련의 뱀- - 아오이 마나부"
        },
        {
          "time": "00:41:05",
          "message": "메타데이터 저장: /downloads/manhwa_8203/metadata.yaml"
        },
        {
          "time": "00:41:05",
          "message": "메타데이터 태그 저장: 섬란 카구라 -홍련의 뱀-, 아오이 마나부"
        },
        {
          "time": "00:41:05",
          "message": "기존 완료 회차 4개 제외"
        },
        {
          "time": "00:41:06",
          "message": "총 4개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "00:41:06",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:05:51",
          "message": "작품 제목: 8203"
        },
        {
          "time": "06:16:15",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:16:15"
        },
        {
          "time": "06:16:15",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:16:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:08:22",
          "message": "작품 제목: 8203"
        },
        {
          "time": "13:18:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:18:32"
        },
        {
          "time": "13:18:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:18:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:30:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #45"
        },
        {
          "time": "17:30:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:30:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=섬란 카구라 -홍련의 뱀- - 아오이 마나부 | 뉴토끼, links=6"
        },
        {
          "time": "17:30:52",
          "message": "작품 제목: 섬란 카구라 -홍련의 뱀- - 아오이 마나부"
        },
        {
          "time": "17:30:52",
          "message": "메타데이터 태그 저장: 섬란 카구라 -홍련의 뱀-, 아오이 마나부"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:36:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #930"
        },
        {
          "time": "05:36:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:36:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=섬란 카구라 -홍련의 뱀- - 아오이 마나부 | 뉴토끼, links=6"
        },
        {
          "time": "05:37:29",
          "message": "작품 제목: 섬란 카구라 -홍련의 뱀- - 아오이 마나부"
        },
        {
          "time": "05:37:29",
          "message": "메타데이터 태그 저장: 섬란 카구라 -홍련의 뱀-, 아오이 마나부"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:25:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #187"
        },
        {
          "time": "19:25:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:25:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=섬란 카구라 -홍련의 뱀- - 아오이 마나부 | 뉴토끼, links=6"
        },
        {
          "time": "19:26:12",
          "message": "작품 제목: 섬란 카구라 -홍련의 뱀- - 아오이 마나부"
        },
        {
          "time": "19:26:12",
          "message": "메타데이터 태그 저장: 섬란 카구라 -홍련의 뱀-, 아오이 마나부"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:57:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #491"
        },
        {
          "time": "11:57:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:57:49",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:57:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #492"
        },
        {
          "time": "11:57:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:58:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=섬란 카구라 -홍련의 뱀- - 아오이 마나부 | 뉴토끼, links=6"
        },
        {
          "time": "11:58:03",
          "message": "작품 제목: 섬란 카구라 -홍련의 뱀- - 아오이 마나부"
        },
        {
          "time": "11:58:03",
          "message": "메타데이터 태그 저장: 섬란 카구라 -홍련의 뱀-, 아오이 마나부"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:33:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #960"
        },
        {
          "time": "04:33:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:33:57",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:33:57",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:33:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #961"
        },
        {
          "time": "04:33:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:34:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=섬란 카구라 -홍련의 뱀- - 아오이 마나부 | 뉴토끼, links=6"
        },
        {
          "time": "04:34:45",
          "message": "작품 제목: 섬란 카구라 -홍련의 뱀- - 아오이 마나부"
        },
        {
          "time": "04:34:46",
          "message": "메타데이터 태그 저장: 섬란 카구라 -홍련의 뱀-, 아오이 마나부"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8203",
        "target_id": "manhwa_8203",
        "title": "섬란 카구라 -홍련의 뱀- - 아오이 마나부",
        "episodes_found": 4,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 4,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8203",
          "title": "섬란 카구라 -홍련의 뱀- - 아오이 마나부",
          "list_url": "https://newtoki1.org/manhwa/8203",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8203"
          },
          "tags": [
            "섬란 카구라 -홍련의 뱀-",
            "아오이 마나부"
          ],
          "description": "섬란 카구라 -홍련의 뱀- (아오이 마나부)",
          "metadata_path": "/downloads/manhwa_8203/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 4,
        "total": 4,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "b414caeec3",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:26:50",
      "started_at": "2026-06-04T04:32:16",
      "finished_at": "2026-06-04T04:33:35",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/24564",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_24564",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "10:55:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_036/021.jpg"
        },
        {
          "time": "10:55:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_036/022.jpg"
        },
        {
          "time": "10:55:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_036/023.jpg"
        },
        {
          "time": "10:55:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_036/024.jpg"
        },
        {
          "time": "10:55:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_036/025.jpg"
        },
        {
          "time": "10:55:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_036/026.jpg"
        },
        {
          "time": "10:55:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_036/027.jpg"
        },
        {
          "time": "10:55:16",
          "message": "  [>] 이미지 27개 처리 완료.\n"
        },
        {
          "time": "10:55:17",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/24564/1810271"
        },
        {
          "time": "10:55:17",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/24564/1810271"
        },
        {
          "time": "10:55:26",
          "message": "  [i] 회차 제목: 아스미 짱은 레즈풍속에 흥미가 있습니다! 32화 아스미 짱은 레즈풍…있습니다! 32화"
        },
        {
          "time": "10:55:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/001.jpg"
        },
        {
          "time": "10:55:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/002.jpg"
        },
        {
          "time": "10:55:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/003.jpg"
        },
        {
          "time": "10:55:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/004.jpg"
        },
        {
          "time": "10:55:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/005.jpg"
        },
        {
          "time": "10:55:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/006.jpg"
        },
        {
          "time": "10:55:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/007.jpg"
        },
        {
          "time": "10:55:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/008.jpg"
        },
        {
          "time": "10:55:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/009.jpg"
        },
        {
          "time": "10:55:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/010.jpg"
        },
        {
          "time": "10:55:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/011.jpg"
        },
        {
          "time": "10:55:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/012.jpg"
        },
        {
          "time": "10:55:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/013.jpg"
        },
        {
          "time": "10:55:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/014.jpg"
        },
        {
          "time": "10:55:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/015.jpg"
        },
        {
          "time": "10:55:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/016.jpg"
        },
        {
          "time": "10:56:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/017.jpg"
        },
        {
          "time": "10:56:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/018.jpg"
        },
        {
          "time": "10:56:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/019.jpg"
        },
        {
          "time": "10:56:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/020.jpg"
        },
        {
          "time": "10:56:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/021.jpg"
        },
        {
          "time": "10:56:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/022.jpg"
        },
        {
          "time": "10:56:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/023.jpg"
        },
        {
          "time": "10:56:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/024.jpg"
        },
        {
          "time": "10:56:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/025.jpg"
        },
        {
          "time": "10:56:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/026.jpg"
        },
        {
          "time": "10:56:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/027.jpg"
        },
        {
          "time": "10:56:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/028.jpg"
        },
        {
          "time": "10:56:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/029.jpg"
        },
        {
          "time": "10:56:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/030.jpg"
        },
        {
          "time": "10:56:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/031.jpg"
        },
        {
          "time": "10:56:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/032.jpg"
        },
        {
          "time": "10:56:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/033.jpg"
        },
        {
          "time": "10:56:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/034.jpg"
        },
        {
          "time": "10:56:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/035.jpg"
        },
        {
          "time": "10:56:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_037/036.jpg"
        },
        {
          "time": "10:56:43",
          "message": "  [>] 이미지 36개 처리 완료.\n"
        },
        {
          "time": "10:56:44",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/24564/1814910"
        },
        {
          "time": "10:56:44",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/24564/1814910"
        },
        {
          "time": "10:56:51",
          "message": "  [i] 회차 제목: 아스미 짱은 레즈풍속에 흥미가 있습니다! 33화 아스미 짱은 레즈풍…있습니다! 33화"
        },
        {
          "time": "10:56:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/001.jpg"
        },
        {
          "time": "10:56:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/002.jpg"
        },
        {
          "time": "10:56:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/003.jpg"
        },
        {
          "time": "10:57:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/004.jpg"
        },
        {
          "time": "10:57:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/005.jpg"
        },
        {
          "time": "10:57:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/006.jpg"
        },
        {
          "time": "10:57:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/007.jpg"
        },
        {
          "time": "10:57:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/008.jpg"
        },
        {
          "time": "10:57:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/009.jpg"
        },
        {
          "time": "10:57:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/010.jpg"
        },
        {
          "time": "10:57:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/011.jpg"
        },
        {
          "time": "10:57:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/012.jpg"
        },
        {
          "time": "10:57:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/013.jpg"
        },
        {
          "time": "10:57:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/014.jpg"
        },
        {
          "time": "10:57:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/015.jpg"
        },
        {
          "time": "10:57:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/016.jpg"
        },
        {
          "time": "10:57:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/017.jpg"
        },
        {
          "time": "10:57:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/018.jpg"
        },
        {
          "time": "10:57:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/019.jpg"
        },
        {
          "time": "10:57:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/020.jpg"
        },
        {
          "time": "10:57:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/021.jpg"
        },
        {
          "time": "10:57:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/022.jpg"
        },
        {
          "time": "10:57:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/023.jpg"
        },
        {
          "time": "10:57:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/024.jpg"
        },
        {
          "time": "10:58:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/025.jpg"
        },
        {
          "time": "10:58:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/026.jpg"
        },
        {
          "time": "10:58:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/027.jpg"
        },
        {
          "time": "10:58:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/028.jpg"
        },
        {
          "time": "10:58:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/029.jpg"
        },
        {
          "time": "10:58:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/030.jpg"
        },
        {
          "time": "10:58:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/031.jpg"
        },
        {
          "time": "10:58:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/032.jpg"
        },
        {
          "time": "10:58:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/033.jpg"
        },
        {
          "time": "10:58:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/034.jpg"
        },
        {
          "time": "10:58:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/035.jpg"
        },
        {
          "time": "10:58:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_24564/ep_038/036.jpg"
        },
        {
          "time": "10:58:32",
          "message": "  [>] 이미지 36개 처리 완료.\n"
        },
        {
          "time": "10:58:33",
          "message": "완료: 회차 38개 처리, 이미지 1204개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:29:04",
          "message": "대기열 순서를 변경했습니다: 70 -> 1"
        },
        {
          "time": "16:32:03",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:33:13",
          "message": "기존 완료 기록을 적용합니다: 38개 회차"
        },
        {
          "time": "16:33:13",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:33:13",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:33:13",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:33:13",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:33:13",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/24564"
        },
        {
          "time": "16:33:13",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/24564"
        },
        {
          "time": "16:33:19",
          "message": "작품 제목: 아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로"
        },
        {
          "time": "16:33:19",
          "message": "메타데이터 저장: /downloads/manhwa_24564/metadata.yaml"
        },
        {
          "time": "16:33:19",
          "message": "메타데이터 태그 저장: 아스미 짱은 레즈풍속에 흥미가 있습니다!, 이츠키 쿠로"
        },
        {
          "time": "16:33:19",
          "message": "기존 완료 회차 38개 제외"
        },
        {
          "time": "16:33:19",
          "message": "총 38개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:33:19",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:27:52",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:27:55",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:38:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:38:06"
        },
        {
          "time": "06:38:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:38:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:08:17",
          "message": "작품 제목: 24564"
        },
        {
          "time": "13:18:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:18:32"
        },
        {
          "time": "13:18:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:18:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:30:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #44"
        },
        {
          "time": "17:30:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:30:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로 | 뉴토끼, links=40"
        },
        {
          "time": "17:30:37",
          "message": "작품 제목: 아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로"
        },
        {
          "time": "17:30:37",
          "message": "메타데이터 태그 저장: 아스미 짱은 레즈풍속에 흥미가 있습니다!, 이츠키 쿠로"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:37:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #931"
        },
        {
          "time": "05:37:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:37:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로 | 뉴토끼, links=40"
        },
        {
          "time": "05:37:45",
          "message": "작품 제목: 아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로"
        },
        {
          "time": "05:37:45",
          "message": "메타데이터 태그 저장: 아스미 짱은 레즈풍속에 흥미가 있습니다!, 이츠키 쿠로"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:24:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #186"
        },
        {
          "time": "19:24:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:24:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로 | 뉴토끼, links=40"
        },
        {
          "time": "19:24:55",
          "message": "작품 제목: 아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로"
        },
        {
          "time": "19:24:55",
          "message": "메타데이터 태그 저장: 아스미 짱은 레즈풍속에 흥미가 있습니다!, 이츠키 쿠로"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:58:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #493"
        },
        {
          "time": "11:58:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:58:27",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "11:58:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #494"
        },
        {
          "time": "11:58:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:58:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로 | 뉴토끼, links=40"
        },
        {
          "time": "11:58:41",
          "message": "작품 제목: 아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로"
        },
        {
          "time": "11:58:42",
          "message": "메타데이터 태그 저장: 아스미 짱은 레즈풍속에 흥미가 있습니다!, 이츠키 쿠로"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:32:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #959"
        },
        {
          "time": "04:32:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:33:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로 | 뉴토끼, links=40"
        },
        {
          "time": "04:33:34",
          "message": "작품 제목: 아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로"
        },
        {
          "time": "04:33:34",
          "message": "메타데이터 태그 저장: 아스미 짱은 레즈풍속에 흥미가 있습니다!, 이츠키 쿠로"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_24564",
        "target_id": "manhwa_24564",
        "title": "아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로",
        "episodes_found": 38,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 38,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_24564",
          "title": "아스미 짱은 레즈풍속에 흥미가 있습니다! - 이츠키 쿠로",
          "list_url": "https://newtoki1.org/manhwa/24564",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/24564"
          },
          "tags": [
            "아스미 짱은 레즈풍속에 흥미가 있습니다!",
            "이츠키 쿠로"
          ],
          "description": "갓 20세 된 성인 초보자 아스미는 일찍이 키스를 한 이후 소원해지고만 소꿉친구한테 언젠가 만남면 사과하고 싶다고 생각하고 있었다.마이가 레즈 풍속의 캐스팅으로서 일하고 있을지도 모른다는 소식을 들은 아스미는 마이를 만날수 있을지도 모른다는 기대와 약간의 속셈을 가슴에 품고 레즈 풍속의",
          "metadata_path": "/downloads/manhwa_24564/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 38,
        "total": 38,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "67b71c6177",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:26:33",
      "started_at": "2026-06-04T04:29:58",
      "finished_at": "2026-06-04T04:32:16",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "어서와, 아빠♥ - 세미마루",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/33873",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_33873",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "13:13:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/001.jpg"
        },
        {
          "time": "13:13:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/002.jpg"
        },
        {
          "time": "13:13:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/003.jpg"
        },
        {
          "time": "13:14:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/004.jpg"
        },
        {
          "time": "13:14:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/005.jpg"
        },
        {
          "time": "13:14:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/006.jpg"
        },
        {
          "time": "13:14:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/007.jpg"
        },
        {
          "time": "13:14:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/008.jpg"
        },
        {
          "time": "13:14:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/009.jpg"
        },
        {
          "time": "13:14:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/010.jpg"
        },
        {
          "time": "13:14:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/011.jpg"
        },
        {
          "time": "13:14:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_009/012.jpg"
        },
        {
          "time": "13:14:44",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "13:14:45",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/33873/1793615"
        },
        {
          "time": "13:14:45",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/33873/1793615"
        },
        {
          "time": "13:14:54",
          "message": "  [i] 회차 제목: 어서와, 아빠♥ 29화"
        },
        {
          "time": "13:15:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/001.jpg"
        },
        {
          "time": "13:15:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/002.jpg"
        },
        {
          "time": "13:15:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/003.jpg"
        },
        {
          "time": "13:15:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/004.jpg"
        },
        {
          "time": "13:15:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/005.jpg"
        },
        {
          "time": "13:15:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/006.jpg"
        },
        {
          "time": "13:15:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/007.jpg"
        },
        {
          "time": "13:15:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/008.jpg"
        },
        {
          "time": "13:15:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/009.jpg"
        },
        {
          "time": "13:15:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/010.jpg"
        },
        {
          "time": "13:15:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/011.jpg"
        },
        {
          "time": "13:15:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/012.jpg"
        },
        {
          "time": "13:15:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/013.jpg"
        },
        {
          "time": "13:15:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/014.jpg"
        },
        {
          "time": "13:16:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/015.jpg"
        },
        {
          "time": "13:16:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/016.jpg"
        },
        {
          "time": "13:16:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/017.jpg"
        },
        {
          "time": "13:16:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/018.jpg"
        },
        {
          "time": "13:16:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/019.jpg"
        },
        {
          "time": "13:16:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/020.jpg"
        },
        {
          "time": "13:16:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/021.jpg"
        },
        {
          "time": "13:16:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/022.jpg"
        },
        {
          "time": "13:16:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/023.jpg"
        },
        {
          "time": "13:16:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_034/024.jpg"
        },
        {
          "time": "13:16:37",
          "message": "  [>] 이미지 24개 처리 완료.\n"
        },
        {
          "time": "13:16:39",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/33873/1796359"
        },
        {
          "time": "13:16:39",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/33873/1796359"
        },
        {
          "time": "13:16:48",
          "message": "  [i] 회차 제목: 어서와, 아빠♥ 30화"
        },
        {
          "time": "13:16:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/001.jpg"
        },
        {
          "time": "13:16:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/002.jpg"
        },
        {
          "time": "13:17:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/003.jpg"
        },
        {
          "time": "13:17:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/004.jpg"
        },
        {
          "time": "13:17:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/005.jpg"
        },
        {
          "time": "13:17:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/006.jpg"
        },
        {
          "time": "13:17:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/007.jpg"
        },
        {
          "time": "13:17:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/008.jpg"
        },
        {
          "time": "13:17:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/009.jpg"
        },
        {
          "time": "13:17:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/010.jpg"
        },
        {
          "time": "13:17:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/011.jpg"
        },
        {
          "time": "13:17:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/012.jpg"
        },
        {
          "time": "13:17:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/013.jpg"
        },
        {
          "time": "13:17:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/014.jpg"
        },
        {
          "time": "13:17:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/015.jpg"
        },
        {
          "time": "13:17:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/016.jpg"
        },
        {
          "time": "13:17:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/017.jpg"
        },
        {
          "time": "13:18:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/018.jpg"
        },
        {
          "time": "13:18:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/019.jpg"
        },
        {
          "time": "13:18:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/020.jpg"
        },
        {
          "time": "13:18:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/021.jpg"
        },
        {
          "time": "13:18:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_33873/ep_035/022.jpg"
        },
        {
          "time": "13:18:21",
          "message": "  [>] 이미지 22개 처리 완료.\n"
        },
        {
          "time": "13:18:22",
          "message": "완료: 회차 4개 처리, 이미지 82개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:28:57",
          "message": "대기열 순서를 변경했습니다: 68 -> 1"
        },
        {
          "time": "16:34:45",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:35:58",
          "message": "기존 완료 기록을 적용합니다: 43개 회차"
        },
        {
          "time": "16:35:58",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:35:58",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:35:58",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:35:58",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:35:58",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/33873"
        },
        {
          "time": "16:35:58",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/33873"
        },
        {
          "time": "16:36:04",
          "message": "작품 제목: 어서와, 아빠♥ - 세미마루"
        },
        {
          "time": "16:36:04",
          "message": "메타데이터 저장: /downloads/manhwa_33873/metadata.yaml"
        },
        {
          "time": "16:36:04",
          "message": "메타데이터 태그 저장: 세미마루, 아빠♥, 어서와"
        },
        {
          "time": "16:36:04",
          "message": "기존 완료 회차 43개 제외"
        },
        {
          "time": "16:36:04",
          "message": "총 43개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:36:04",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:26:55",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:27:31",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:38:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:38:06"
        },
        {
          "time": "06:38:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:38:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:07:37",
          "message": "작품 제목: 33873"
        },
        {
          "time": "13:17:56",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:17:56"
        },
        {
          "time": "13:17:56",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:17:56",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:29:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #42"
        },
        {
          "time": "17:29:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:29:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어서와, 아빠♥ - 세미마루 | 뉴토끼, links=45"
        },
        {
          "time": "17:29:36",
          "message": "작품 제목: 어서와, 아빠♥ - 세미마루"
        },
        {
          "time": "17:29:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #43"
        },
        {
          "time": "17:29:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:29:36",
          "message": "메타데이터 태그 저장: 세미마루, 아빠♥, 어서와"
        },
        {
          "time": "17:29:36",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "17:29:48",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어서와, 아빠♥ 12.1화 | 뉴토끼, images=27"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:38:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #932"
        },
        {
          "time": "05:38:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:38:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어서와, 아빠♥ - 세미마루 | 뉴토끼, links=45"
        },
        {
          "time": "05:39:06",
          "message": "작품 제목: 어서와, 아빠♥ - 세미마루"
        },
        {
          "time": "05:39:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #933"
        },
        {
          "time": "05:39:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:39:06",
          "message": "메타데이터 태그 저장: 세미마루, 아빠♥, 어서와"
        },
        {
          "time": "05:39:07",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:39:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어서와, 아빠♥ 12.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:23:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #184"
        },
        {
          "time": "19:23:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:23:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어서와, 아빠♥ - 세미마루 | 뉴토끼, links=45"
        },
        {
          "time": "19:23:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #185"
        },
        {
          "time": "19:23:28",
          "message": "작품 제목: 어서와, 아빠♥ - 세미마루"
        },
        {
          "time": "19:23:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:23:28",
          "message": "메타데이터 태그 저장: 세미마루, 아빠♥, 어서와"
        },
        {
          "time": "19:23:28",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "19:23:37",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어서와, 아빠♥ 12.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "11:59:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #495"
        },
        {
          "time": "11:59:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "11:59:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어서와, 아빠♥ - 세미마루 | 뉴토끼, links=45"
        },
        {
          "time": "11:59:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #496"
        },
        {
          "time": "11:59:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:00:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어서와, 아빠♥ 12.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:00:17",
          "message": "작품 제목: 어서와, 아빠♥ - 세미마루"
        },
        {
          "time": "12:00:17",
          "message": "메타데이터 태그 저장: 세미마루, 아빠♥, 어서와"
        },
        {
          "time": "12:00:18",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:30:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #956"
        },
        {
          "time": "04:30:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:30:51",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:30:52",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:30:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #957"
        },
        {
          "time": "04:30:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:31:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=어서와, 아빠♥ - 세미마루 | 뉴토끼, links=45"
        },
        {
          "time": "04:31:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #958"
        },
        {
          "time": "04:31:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:31:08",
          "message": "작품 제목: 어서와, 아빠♥ - 세미마루"
        },
        {
          "time": "04:31:09",
          "message": "메타데이터 태그 저장: 세미마루, 아빠♥, 어서와"
        },
        {
          "time": "04:31:10",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "04:31:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=어서와, 아빠♥ 12.1화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_33873",
        "target_id": "manhwa_33873",
        "title": "어서와, 아빠♥ - 세미마루",
        "episodes_found": 43,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 42,
        "images_found": 2,
        "images_downloaded": 0,
        "images_skipped": 2,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_33873",
          "title": "어서와, 아빠♥ - 세미마루",
          "list_url": "https://newtoki1.org/manhwa/33873",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/33873"
          },
          "tags": [
            "세미마루",
            "아빠♥",
            "어서와"
          ],
          "description": "내가 결혼한 여자에게는 딸이 있다. 고등학교 2학년 여자아이로 토우코 짱이라고 한다. 나이 많은 딸이 있다고 해서 걱정했는데 잘 따라주는 것 같아서 좋았다. 좋았는데 왠지 이상하게 거리가 너무 가까운 순간이 있어서...?",
          "metadata_path": "/downloads/manhwa_33873/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 14,
          "url": "https://newtoki1.org/manhwa/33873/1742092",
          "title": "어서와, 아빠♥ 12.1화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "15a83ce700",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:24:38",
      "started_at": "2026-06-04T04:29:18",
      "finished_at": "2026-06-04T04:29:58",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/27097",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_27097",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "09:59:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_034/030.jpg"
        },
        {
          "time": "09:59:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_034/031.jpg"
        },
        {
          "time": "09:59:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_034/032.jpg"
        },
        {
          "time": "09:59:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_034/033.jpg"
        },
        {
          "time": "10:00:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_034/034.jpg"
        },
        {
          "time": "10:00:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_034/035.jpg"
        },
        {
          "time": "10:00:02",
          "message": "  [>] 이미지 35개 처리 완료.\n"
        },
        {
          "time": "10:00:03",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/27097/1810924"
        },
        {
          "time": "10:00:03",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/27097/1810924"
        },
        {
          "time": "10:00:11",
          "message": "  [i] 회차 제목: 안드로이드는 경험인 수에 들어가나요?? 번외편 안드로이드는 경험인…가나요?? 번외편"
        },
        {
          "time": "10:00:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/001.jpg"
        },
        {
          "time": "10:00:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/002.jpg"
        },
        {
          "time": "10:00:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/003.jpg"
        },
        {
          "time": "10:00:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/004.jpg"
        },
        {
          "time": "10:00:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/005.jpg"
        },
        {
          "time": "10:00:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/006.jpg"
        },
        {
          "time": "10:00:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/007.jpg"
        },
        {
          "time": "10:00:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/008.jpg"
        },
        {
          "time": "10:00:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/009.jpg"
        },
        {
          "time": "10:00:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/010.jpg"
        },
        {
          "time": "10:00:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/011.jpg"
        },
        {
          "time": "10:00:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/012.jpg"
        },
        {
          "time": "10:00:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/013.jpg"
        },
        {
          "time": "10:00:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/014.jpg"
        },
        {
          "time": "10:00:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/015.jpg"
        },
        {
          "time": "10:00:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/016.jpg"
        },
        {
          "time": "10:00:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/017.jpg"
        },
        {
          "time": "10:00:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/018.jpg"
        },
        {
          "time": "10:00:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/019.jpg"
        },
        {
          "time": "10:00:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/020.jpg"
        },
        {
          "time": "10:00:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/021.jpg"
        },
        {
          "time": "10:00:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/022.jpg"
        },
        {
          "time": "10:00:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_27097/ep_035/023.jpg"
        },
        {
          "time": "10:00:51",
          "message": "  [>] 이미지 23개 처리 완료.\n"
        },
        {
          "time": "10:00:52",
          "message": "완료: 회차 25개 처리, 이미지 719개 저장, 2개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:28:48",
          "message": "대기열 순서를 변경했습니다: 67 -> 1"
        },
        {
          "time": "16:37:36",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:38:46",
          "message": "기존 완료 기록을 적용합니다: 35개 회차"
        },
        {
          "time": "16:38:46",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:38:46",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:38:46",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:38:46",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:38:46",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/27097"
        },
        {
          "time": "16:38:46",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/27097"
        },
        {
          "time": "16:38:52",
          "message": "작품 제목: 안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠"
        },
        {
          "time": "16:38:52",
          "message": "메타데이터 저장: /downloads/manhwa_27097/metadata.yaml"
        },
        {
          "time": "16:38:52",
          "message": "메타데이터 태그 저장: 안드로이드는 경험인 수에 들어가나요??, 야키니쿠 테이쇼쿠"
        },
        {
          "time": "16:38:52",
          "message": "기존 완료 회차 35개 제외"
        },
        {
          "time": "16:38:52",
          "message": "총 35개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:38:52",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:26:15",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:26:50",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:37:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:37:25"
        },
        {
          "time": "06:37:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:37:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:07:13",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "13:25:06",
          "message": "중단 작업 재개 요청으로 대기열 맨 앞에 추가되었습니다: 2026-05-28T13:24:35"
        },
        {
          "time": "13:25:34",
          "message": "작품 제목: 27097"
        },
        {
          "time": "13:25:40",
          "message": "작품 제목: 27097"
        },
        {
          "time": "13:25:56",
          "message": "작품 제목: 27097"
        },
        {
          "time": "13:36:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:36:11"
        },
        {
          "time": "13:36:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:36:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:36:36",
          "message": "작품 제목: 27097"
        },
        {
          "time": "13:36:41",
          "message": "작품 제목: 27097"
        },
        {
          "time": "13:36:47",
          "message": "작품 제목: 27097"
        },
        {
          "time": "13:46:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:46:51"
        },
        {
          "time": "13:46:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:46:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:47:50",
          "message": "작품 제목: 27097"
        },
        {
          "time": "13:47:56",
          "message": "작품 제목: 27097"
        },
        {
          "time": "13:48:04",
          "message": "작품 제목: 27097"
        },
        {
          "time": "13:58:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:58:26"
        },
        {
          "time": "13:58:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:58:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:06:27",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:06:47",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:06:47",
          "message": "작품 제목: 27097"
        },
        {
          "time": "14:06:53",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:07:13",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:07:13",
          "message": "작품 제목: 27097"
        },
        {
          "time": "14:07:20",
          "message": "목록 페이지 JS 렌더링 대기: 20초 제한"
        },
        {
          "time": "14:07:40",
          "message": "목록 페이지 회차 링크 대기 종료: Page.wait_for_function: Timeout 20000ms exceeded."
        },
        {
          "time": "14:07:40",
          "message": "작품 제목: 27097"
        },
        {
          "time": "14:17:51",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:17:51"
        },
        {
          "time": "14:17:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:17:51",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:21:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:31:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:31:52"
        },
        {
          "time": "14:31:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:31:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:32:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:43:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:43:16"
        },
        {
          "time": "14:43:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:43:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:43:17",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:53:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T14:53:31"
        },
        {
          "time": "14:53:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:53:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "14:55:59",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "14:56:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:06:21",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:06:21"
        },
        {
          "time": "15:06:21",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:06:21",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:06:22",
          "message": "Chrome 확장 탭 이동 요청"
        },
        {
          "time": "15:06:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:16:44",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:16:44"
        },
        {
          "time": "15:16:44",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:16:44",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:17:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "15:17:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:28:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T15:28:54"
        },
        {
          "time": "15:28:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:28:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "15:33:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "15:33:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "15:33:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠 | 뉴토끼, links=37"
        },
        {
          "time": "15:33:40",
          "message": "작품 제목: 안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠"
        },
        {
          "time": "15:33:40",
          "message": "메타데이터 태그 저장: 안드로이드는 경험인 수에 들어가나요??, 야키니쿠 테이쇼쿠"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:38:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "12:38:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:38:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠 | 뉴토끼, links=37"
        },
        {
          "time": "12:38:58",
          "message": "작품 제목: 안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠"
        },
        {
          "time": "12:38:58",
          "message": "메타데이터 태그 저장: 안드로이드는 경험인 수에 들어가나요??, 야키니쿠 테이쇼쿠"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:20:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #354"
        },
        {
          "time": "21:20:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:21:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠 | 뉴토끼, links=37"
        },
        {
          "time": "21:21:34",
          "message": "작품 제목: 안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠"
        },
        {
          "time": "21:21:34",
          "message": "메타데이터 태그 저장: 안드로이드는 경험인 수에 들어가나요??, 야키니쿠 테이쇼쿠"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:47:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #407"
        },
        {
          "time": "10:47:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:47:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠 | 뉴토끼, links=37"
        },
        {
          "time": "10:47:34",
          "message": "작품 제목: 안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠"
        },
        {
          "time": "10:47:35",
          "message": "메타데이터 태그 저장: 안드로이드는 경험인 수에 들어가나요??, 야키니쿠 테이쇼쿠"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:29:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #954"
        },
        {
          "time": "04:29:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:29:41",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:29:41",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:29:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #955"
        },
        {
          "time": "04:29:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:29:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠 | 뉴토끼, links=37"
        },
        {
          "time": "04:29:56",
          "message": "작품 제목: 안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠"
        },
        {
          "time": "04:29:57",
          "message": "메타데이터 태그 저장: 안드로이드는 경험인 수에 들어가나요??, 야키니쿠 테이쇼쿠"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_27097",
        "target_id": "manhwa_27097",
        "title": "안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠",
        "episodes_found": 35,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 35,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_27097",
          "title": "안드로이드는 경험인 수에 들어가나요?? - 야키니쿠 테이쇼쿠",
          "list_url": "https://newtoki1.org/manhwa/27097",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/27097"
          },
          "tags": [
            "안드로이드는 경험인 수에 들어가나요??",
            "야키니쿠 테이쇼쿠"
          ],
          "description": "시대의 최전선을 달리는 전자 대기업 기획부에서 일하는 올해 28세 회사원 츠다 아카네. 직장에서 기획부의 에이스로 활약하며 연모와 시샘을 사는 나날을 보내고 있지만, 실상은 집에서 자기 방도 제대로 치우지 않는데다 술버릇까지 고약한 모태솔로다. 어느날, 혼자서 외로움을 타던 아카네는 술",
          "metadata_path": "/downloads/manhwa_27097/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 35,
        "total": 35,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "559f965627",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:23:32",
      "started_at": "2026-06-04T04:27:42",
      "finished_at": "2026-06-04T04:29:18",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/25344",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_25344",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "06:06:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_017/021.jpg"
        },
        {
          "time": "06:06:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_017/022.jpg"
        },
        {
          "time": "06:06:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_017/023.jpg"
        },
        {
          "time": "06:06:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_017/024.jpg"
        },
        {
          "time": "06:06:18",
          "message": "  [>] 이미지 24개 처리 완료.\n"
        },
        {
          "time": "06:06:19",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/25344/1799398"
        },
        {
          "time": "06:06:19",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/25344/1799398"
        },
        {
          "time": "06:06:28",
          "message": "  [i] 회차 제목: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ 18화 땀 흘리는 섹서사이…복종!?~ 18화"
        },
        {
          "time": "06:06:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/001.jpg"
        },
        {
          "time": "06:06:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/002.jpg"
        },
        {
          "time": "06:06:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/003.jpg"
        },
        {
          "time": "06:06:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/004.jpg"
        },
        {
          "time": "06:06:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/005.jpg"
        },
        {
          "time": "06:06:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/006.jpg"
        },
        {
          "time": "06:06:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/007.jpg"
        },
        {
          "time": "06:06:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/008.jpg"
        },
        {
          "time": "06:06:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/009.jpg"
        },
        {
          "time": "06:06:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/010.jpg"
        },
        {
          "time": "06:06:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/011.jpg"
        },
        {
          "time": "06:06:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/012.jpg"
        },
        {
          "time": "06:06:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/013.jpg"
        },
        {
          "time": "06:06:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/014.jpg"
        },
        {
          "time": "06:06:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/015.jpg"
        },
        {
          "time": "06:06:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/016.jpg"
        },
        {
          "time": "06:07:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/017.jpg"
        },
        {
          "time": "06:07:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/018.jpg"
        },
        {
          "time": "06:07:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/019.jpg"
        },
        {
          "time": "06:07:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/020.jpg"
        },
        {
          "time": "06:07:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/021.jpg"
        },
        {
          "time": "06:07:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/022.jpg"
        },
        {
          "time": "06:07:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/023.jpg"
        },
        {
          "time": "06:07:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_018/024.jpg"
        },
        {
          "time": "06:07:17",
          "message": "  [>] 이미지 24개 처리 완료.\n"
        },
        {
          "time": "06:07:18",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/25344/1806555"
        },
        {
          "time": "06:07:18",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/25344/1806555"
        },
        {
          "time": "06:07:26",
          "message": "  [i] 회차 제목: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ 19화 땀 흘리는 섹서사이…복종!?~ 19화"
        },
        {
          "time": "06:07:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/001.jpg"
        },
        {
          "time": "06:07:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/002.jpg"
        },
        {
          "time": "06:07:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/003.jpg"
        },
        {
          "time": "06:07:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/004.jpg"
        },
        {
          "time": "06:07:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/005.jpg"
        },
        {
          "time": "06:07:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/006.jpg"
        },
        {
          "time": "06:07:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/007.jpg"
        },
        {
          "time": "06:07:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/008.jpg"
        },
        {
          "time": "06:07:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/009.jpg"
        },
        {
          "time": "06:07:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/010.jpg"
        },
        {
          "time": "06:07:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/011.jpg"
        },
        {
          "time": "06:07:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/012.jpg"
        },
        {
          "time": "06:07:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/013.jpg"
        },
        {
          "time": "06:07:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/014.jpg"
        },
        {
          "time": "06:07:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/015.jpg"
        },
        {
          "time": "06:07:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/016.jpg"
        },
        {
          "time": "06:07:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/017.jpg"
        },
        {
          "time": "06:08:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/018.jpg"
        },
        {
          "time": "06:08:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/019.jpg"
        },
        {
          "time": "06:08:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/020.jpg"
        },
        {
          "time": "06:08:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/021.jpg"
        },
        {
          "time": "06:08:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/022.jpg"
        },
        {
          "time": "06:08:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/023.jpg"
        },
        {
          "time": "06:08:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_019/024.jpg"
        },
        {
          "time": "06:08:15",
          "message": "  [>] 이미지 24개 처리 완료.\n"
        },
        {
          "time": "06:08:16",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/25344/1814961"
        },
        {
          "time": "06:08:16",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/25344/1814961"
        },
        {
          "time": "06:08:24",
          "message": "  [i] 회차 제목: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ 20화 땀 흘리는 섹서사이…복종!?~ 20화"
        },
        {
          "time": "06:08:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/001.jpg"
        },
        {
          "time": "06:08:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/002.jpg"
        },
        {
          "time": "06:08:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/003.jpg"
        },
        {
          "time": "06:08:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/004.jpg"
        },
        {
          "time": "06:08:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/005.jpg"
        },
        {
          "time": "06:08:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/006.jpg"
        },
        {
          "time": "06:08:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/007.jpg"
        },
        {
          "time": "06:08:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/008.jpg"
        },
        {
          "time": "06:08:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/009.jpg"
        },
        {
          "time": "06:08:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/010.jpg"
        },
        {
          "time": "06:08:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/011.jpg"
        },
        {
          "time": "06:08:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/012.jpg"
        },
        {
          "time": "06:08:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/013.jpg"
        },
        {
          "time": "06:08:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/014.jpg"
        },
        {
          "time": "06:08:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/015.jpg"
        },
        {
          "time": "06:08:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/016.jpg"
        },
        {
          "time": "06:08:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/017.jpg"
        },
        {
          "time": "06:09:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/018.jpg"
        },
        {
          "time": "06:09:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/019.jpg"
        },
        {
          "time": "06:09:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/020.jpg"
        },
        {
          "time": "06:09:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/021.jpg"
        },
        {
          "time": "06:09:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/022.jpg"
        },
        {
          "time": "06:09:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/023.jpg"
        },
        {
          "time": "06:09:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_25344/ep_020/024.jpg"
        },
        {
          "time": "06:09:12",
          "message": "  [>] 이미지 24개 처리 완료.\n"
        },
        {
          "time": "06:09:13",
          "message": "완료: 회차 17개 처리, 이미지 409개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:28:51",
          "message": "대기열 순서를 변경했습니다: 67 -> 1"
        },
        {
          "time": "16:36:05",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:37:16",
          "message": "기존 완료 기록을 적용합니다: 20개 회차"
        },
        {
          "time": "16:37:16",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:37:16",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:37:16",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:37:16",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:37:16",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/25344"
        },
        {
          "time": "16:37:16",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/25344"
        },
        {
          "time": "16:37:36",
          "message": "작품 제목: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야"
        },
        {
          "time": "16:37:36",
          "message": "메타데이터 저장: /downloads/manhwa_25344/metadata.yaml"
        },
        {
          "time": "16:37:36",
          "message": "메타데이터 태그 저장: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~, 토야"
        },
        {
          "time": "16:37:36",
          "message": "기존 완료 회차 20개 제외"
        },
        {
          "time": "16:37:36",
          "message": "총 20개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:37:36",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:26:51",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:26:54",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:37:25",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:37:25"
        },
        {
          "time": "06:37:25",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:37:25",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:06:47",
          "message": "작품 제목: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야"
        },
        {
          "time": "13:06:47",
          "message": "메타데이터 태그 저장: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~, 토야"
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:44:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #29"
        },
        {
          "time": "12:44:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:44:54",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "12:44:54",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "12:55:39",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-29T12:55:38"
        },
        {
          "time": "12:55:39",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:55:39",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:47:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1009"
        },
        {
          "time": "06:47:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:47:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야 | 뉴토끼, links=22"
        },
        {
          "time": "06:47:40",
          "message": "작품 제목: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야"
        },
        {
          "time": "06:47:40",
          "message": "메타데이터 태그 저장: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~, 토야"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:43:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #120"
        },
        {
          "time": "18:43:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:43:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야 | 뉴토끼, links=22"
        },
        {
          "time": "18:43:37",
          "message": "작품 제목: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야"
        },
        {
          "time": "18:43:37",
          "message": "메타데이터 태그 저장: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~, 토야"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:59:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #573"
        },
        {
          "time": "12:59:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:59:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야 | 뉴토끼, links=22"
        },
        {
          "time": "12:59:18",
          "message": "작품 제목: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야"
        },
        {
          "time": "12:59:19",
          "message": "메타데이터 태그 저장: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~, 토야"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:28:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #952"
        },
        {
          "time": "04:28:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:29:02",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:29:02",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:29:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #953"
        },
        {
          "time": "04:29:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:29:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야 | 뉴토끼, links=22"
        },
        {
          "time": "04:29:16",
          "message": "작품 제목: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야"
        },
        {
          "time": "04:29:17",
          "message": "메타데이터 태그 저장: 땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~, 토야"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_25344",
        "target_id": "manhwa_25344",
        "title": "땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야",
        "episodes_found": 20,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 20,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_25344",
          "title": "땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~ - 토야",
          "list_url": "https://newtoki1.org/manhwa/25344",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/25344"
          },
          "tags": [
            "땀 흘리는 섹서사이즈~그 여자애는 나한테 절대복종!?~",
            "토야"
          ],
          "description": "1대1 개인 피트니스 룸에서 터질 것 같은 미녀가 흥분하고 만다!? 스트레칭과 함께 몸의 이곳저곳을 풀어주며 부드럽게 문지르자 땀흘리는 그녀. 회원님, 이번에는 다리도 들어 주세요♡",
          "metadata_path": "/downloads/manhwa_25344/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 20,
        "total": 20,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "1d60cda939",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:23:04",
      "started_at": "2026-06-04T04:26:34",
      "finished_at": "2026-06-04T04:27:42",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "야근 선배 - 요츠야 케이타로",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/36491",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_36491",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "16:41:16",
          "message": "  [i] 회차 제목: 야근 선배 3화"
        },
        {
          "time": "16:41:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_003/001.jpg"
        },
        {
          "time": "16:41:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_003/002.jpg"
        },
        {
          "time": "16:41:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_003/003.jpg"
        },
        {
          "time": "16:41:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_003/004.jpg"
        },
        {
          "time": "16:41:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_003/005.jpg"
        },
        {
          "time": "16:41:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_003/006.jpg"
        },
        {
          "time": "16:41:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_003/007.jpg"
        },
        {
          "time": "16:41:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_003/008.jpg"
        },
        {
          "time": "16:41:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_003/009.jpg"
        },
        {
          "time": "16:42:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_003/010.jpg"
        },
        {
          "time": "16:42:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_003/011.jpg"
        },
        {
          "time": "16:42:06",
          "message": "  [>] 이미지 11개 처리 완료.\n"
        },
        {
          "time": "16:42:07",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/36491/1806990"
        },
        {
          "time": "16:42:07",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/36491/1806990"
        },
        {
          "time": "16:42:14",
          "message": "  [i] 회차 제목: 야근 선배 3-2화"
        },
        {
          "time": "16:42:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_004/001.jpg"
        },
        {
          "time": "16:42:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_004/002.jpg"
        },
        {
          "time": "16:42:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_004/003.jpg"
        },
        {
          "time": "16:42:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_004/004.jpg"
        },
        {
          "time": "16:42:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_004/005.jpg"
        },
        {
          "time": "16:42:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_004/006.jpg"
        },
        {
          "time": "16:42:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_004/007.jpg"
        },
        {
          "time": "16:42:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_004/008.jpg"
        },
        {
          "time": "16:42:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_004/009.jpg"
        },
        {
          "time": "16:42:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_004/010.jpg"
        },
        {
          "time": "16:42:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_36491/ep_004/011.jpg"
        },
        {
          "time": "16:42:34",
          "message": "  [>] 이미지 11개 처리 완료.\n"
        },
        {
          "time": "16:42:35",
          "message": "완료: 회차 4개 처리, 이미지 65개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "03:17:27",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "03:18:42",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "03:18:42",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "03:18:43",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "03:18:43",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "03:18:43",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "03:18:43",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/36491"
        },
        {
          "time": "03:18:43",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/36491"
        },
        {
          "time": "03:18:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "03:18:46",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "03:18:46",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "03:18:46",
          "message": "메타데이터 저장: /downloads/manhwa_36491/metadata.yaml"
        },
        {
          "time": "03:18:46",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "03:18:46",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "03:33:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T03:33:52"
        },
        {
          "time": "03:33:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:33:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:48:58",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:48:07",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T14:48:06"
        },
        {
          "time": "14:48:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:47",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:18:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:19:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:19:52"
        },
        {
          "time": "15:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:47:10",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "15:48:27",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "15:48:27",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:48:27",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:48:27",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:48:28",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:48:28",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/36491"
        },
        {
          "time": "15:48:28",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/36491"
        },
        {
          "time": "15:48:49",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/36491\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/36491"
        },
        {
          "time": "15:59:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T15:59:10"
        },
        {
          "time": "15:59:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:59:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:09:42",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "00:11:03",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "00:11:03",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "00:11:03",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:11:03",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:11:03",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:11:03",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/36491"
        },
        {
          "time": "00:11:03",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/36491"
        },
        {
          "time": "00:11:23",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/36491\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/36491"
        },
        {
          "time": "00:21:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T00:21:27"
        },
        {
          "time": "00:21:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:21:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:05:24",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "02:06:42",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "02:06:42",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "02:06:42",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "02:06:42",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "02:06:42",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "02:06:42",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/36491"
        },
        {
          "time": "02:06:42",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/36491"
        },
        {
          "time": "02:07:02",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/36491\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/36491"
        },
        {
          "time": "02:17:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T02:17:05"
        },
        {
          "time": "02:17:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:17:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:23:22",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "05:24:08",
          "message": "기존 완료 기록을 적용합니다: 4개 회차"
        },
        {
          "time": "05:24:10",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "05:24:30",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "05:24:30",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "05:24:30",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "05:24:30",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/36491"
        },
        {
          "time": "05:24:30",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/36491"
        },
        {
          "time": "05:24:41",
          "message": "작품 제목: 야근 선배 - 요츠야 케이타로"
        },
        {
          "time": "05:24:41",
          "message": "메타데이터 저장: /downloads/manhwa_36491/metadata.yaml"
        },
        {
          "time": "05:24:41",
          "message": "메타데이터 태그 저장: 야근 선배, 요츠야 케이타로"
        },
        {
          "time": "05:24:41",
          "message": "기존 완료 회차 4개 제외"
        },
        {
          "time": "05:24:42",
          "message": "총 4개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "05:24:42",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:15:34",
          "message": "작품 제목: 36491"
        },
        {
          "time": "06:25:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:25:34"
        },
        {
          "time": "06:25:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:25:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:05:26",
          "message": "작품 제목: 36491"
        },
        {
          "time": "13:15:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:15:31"
        },
        {
          "time": "13:15:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:15:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:28:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #41"
        },
        {
          "time": "17:28:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:28:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=야근 선배 - 요츠야 케이타로 | 뉴토끼, links=6"
        },
        {
          "time": "17:29:20",
          "message": "작품 제목: 야근 선배 - 요츠야 케이타로"
        },
        {
          "time": "17:29:20",
          "message": "메타데이터 태그 저장: 야근 선배, 요츠야 케이타로"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:39:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #934"
        },
        {
          "time": "05:39:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:39:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=야근 선배 - 요츠야 케이타로 | 뉴토끼, links=6"
        },
        {
          "time": "05:39:37",
          "message": "작품 제목: 야근 선배 - 요츠야 케이타로"
        },
        {
          "time": "05:39:37",
          "message": "메타데이터 태그 저장: 야근 선배, 요츠야 케이타로"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:22:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #183"
        },
        {
          "time": "19:22:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:22:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=야근 선배 - 요츠야 케이타로 | 뉴토끼, links=6"
        },
        {
          "time": "19:23:13",
          "message": "작품 제목: 야근 선배 - 요츠야 케이타로"
        },
        {
          "time": "19:23:13",
          "message": "메타데이터 태그 저장: 야근 선배, 요츠야 케이타로"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:00:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #497"
        },
        {
          "time": "12:00:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:00:42",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:00:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #498"
        },
        {
          "time": "12:00:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:00:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=야근 선배 - 요츠야 케이타로 | 뉴토끼, links=6"
        },
        {
          "time": "12:01:28",
          "message": "작품 제목: 야근 선배 - 요츠야 케이타로"
        },
        {
          "time": "12:01:29",
          "message": "메타데이터 태그 저장: 야근 선배, 요츠야 케이타로"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:27:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #951"
        },
        {
          "time": "04:27:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:27:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=야근 선배 - 요츠야 케이타로 | 뉴토끼, links=6"
        },
        {
          "time": "04:27:41",
          "message": "작품 제목: 야근 선배 - 요츠야 케이타로"
        },
        {
          "time": "04:27:41",
          "message": "메타데이터 태그 저장: 야근 선배, 요츠야 케이타로"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_36491",
        "target_id": "manhwa_36491",
        "title": "야근 선배 - 요츠야 케이타로",
        "episodes_found": 4,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 4,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_36491",
          "title": "야근 선배 - 요츠야 케이타로",
          "list_url": "https://newtoki1.org/manhwa/36491",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/36491"
          },
          "tags": [
            "야근 선배",
            "요츠야 케이타로"
          ],
          "description": "야근 선배 (요츠야 케이타로)",
          "metadata_path": "/downloads/manhwa_36491/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 4,
        "total": 4,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "45449cf48a",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:22:34",
      "started_at": "2026-06-04T04:25:45",
      "finished_at": "2026-06-04T04:26:34",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/34510",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_34510",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "16:01:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_008/012.jpg"
        },
        {
          "time": "16:01:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_008/013.jpg"
        },
        {
          "time": "16:01:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_008/014.jpg"
        },
        {
          "time": "16:01:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_008/015.jpg"
        },
        {
          "time": "16:01:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_008/016.jpg"
        },
        {
          "time": "16:01:48",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "16:01:49",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/34510/1743480"
        },
        {
          "time": "16:01:49",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34510/1743480"
        },
        {
          "time": "16:01:55",
          "message": "  [i] 회차 제목: 릴리아 프레그넌트 더 월드 엔드 9화 릴리아 프레그넌트 … 월드 엔드 9화"
        },
        {
          "time": "16:01:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/001.jpg"
        },
        {
          "time": "16:01:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/002.jpg"
        },
        {
          "time": "16:02:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/003.jpg"
        },
        {
          "time": "16:02:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/004.jpg"
        },
        {
          "time": "16:02:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/005.jpg"
        },
        {
          "time": "16:02:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/006.jpg"
        },
        {
          "time": "16:02:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/007.jpg"
        },
        {
          "time": "16:02:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/008.jpg"
        },
        {
          "time": "16:02:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/009.jpg"
        },
        {
          "time": "16:02:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/010.jpg"
        },
        {
          "time": "16:02:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/011.jpg"
        },
        {
          "time": "16:02:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/012.jpg"
        },
        {
          "time": "16:02:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/013.jpg"
        },
        {
          "time": "16:02:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/014.jpg"
        },
        {
          "time": "16:02:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/015.jpg"
        },
        {
          "time": "16:02:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_009/016.jpg"
        },
        {
          "time": "16:02:33",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "16:02:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/34510/1743935"
        },
        {
          "time": "16:02:34",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34510/1743935"
        },
        {
          "time": "16:02:42",
          "message": "  [i] 회차 제목: 릴리아 프레그넌트 더 월드 엔드 10화 릴리아 프레그넌트 …월드 엔드 10화"
        },
        {
          "time": "16:02:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/001.jpg"
        },
        {
          "time": "16:02:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/002.jpg"
        },
        {
          "time": "16:02:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/003.jpg"
        },
        {
          "time": "16:02:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/004.jpg"
        },
        {
          "time": "16:02:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/005.jpg"
        },
        {
          "time": "16:02:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/006.jpg"
        },
        {
          "time": "16:02:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/007.jpg"
        },
        {
          "time": "16:02:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/008.jpg"
        },
        {
          "time": "16:02:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/009.jpg"
        },
        {
          "time": "16:03:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/010.jpg"
        },
        {
          "time": "16:03:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/011.jpg"
        },
        {
          "time": "16:03:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/012.jpg"
        },
        {
          "time": "16:03:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/013.jpg"
        },
        {
          "time": "16:03:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/014.jpg"
        },
        {
          "time": "16:03:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/015.jpg"
        },
        {
          "time": "16:03:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_010/016.jpg"
        },
        {
          "time": "16:03:12",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "16:03:14",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/34510/1744823"
        },
        {
          "time": "16:03:14",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34510/1744823"
        },
        {
          "time": "16:03:22",
          "message": "  [i] 회차 제목: 릴리아 프레그넌트 더 월드 엔드 11화 릴리아 프레그넌트 …월드 엔드 11화"
        },
        {
          "time": "16:03:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/001.jpg"
        },
        {
          "time": "16:03:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/002.jpg"
        },
        {
          "time": "16:03:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/003.jpg"
        },
        {
          "time": "16:03:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/004.jpg"
        },
        {
          "time": "16:03:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/005.jpg"
        },
        {
          "time": "16:03:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/006.jpg"
        },
        {
          "time": "16:03:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/007.jpg"
        },
        {
          "time": "16:03:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/008.jpg"
        },
        {
          "time": "16:03:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/009.jpg"
        },
        {
          "time": "16:03:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/010.jpg"
        },
        {
          "time": "16:03:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/011.jpg"
        },
        {
          "time": "16:03:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/012.jpg"
        },
        {
          "time": "16:03:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/013.jpg"
        },
        {
          "time": "16:03:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/014.jpg"
        },
        {
          "time": "16:03:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/015.jpg"
        },
        {
          "time": "16:04:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/016.jpg"
        },
        {
          "time": "16:04:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_011/017.jpg"
        },
        {
          "time": "16:04:07",
          "message": "  [>] 이미지 17개 처리 완료.\n"
        },
        {
          "time": "16:04:08",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/34510/1765138"
        },
        {
          "time": "16:04:08",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34510/1765138"
        },
        {
          "time": "16:04:22",
          "message": "  [i] 회차 제목: 릴리아 프레그넌트 더 월드 엔드 12화 릴리아 프레그넌트 …월드 엔드 12화"
        },
        {
          "time": "16:04:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/001.jpg"
        },
        {
          "time": "16:04:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/002.jpg"
        },
        {
          "time": "16:04:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/003.jpg"
        },
        {
          "time": "16:04:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/004.jpg"
        },
        {
          "time": "16:04:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/005.jpg"
        },
        {
          "time": "16:04:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/006.jpg"
        },
        {
          "time": "16:04:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/007.jpg"
        },
        {
          "time": "16:04:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/008.jpg"
        },
        {
          "time": "16:04:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/009.jpg"
        },
        {
          "time": "16:04:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/010.jpg"
        },
        {
          "time": "16:05:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/011.jpg"
        },
        {
          "time": "16:05:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/012.jpg"
        },
        {
          "time": "16:05:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/013.jpg"
        },
        {
          "time": "16:05:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/014.jpg"
        },
        {
          "time": "16:05:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/015.jpg"
        },
        {
          "time": "16:05:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/016.jpg"
        },
        {
          "time": "16:05:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_34510/ep_012/017.jpg"
        },
        {
          "time": "16:05:27",
          "message": "  [>] 이미지 17개 처리 완료.\n"
        },
        {
          "time": "16:05:28",
          "message": "완료: 회차 12개 처리, 이미지 249개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:28:46",
          "message": "대기열 순서를 변경했습니다: 64 -> 1"
        },
        {
          "time": "16:38:52",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:40:08",
          "message": "기존 완료 기록을 적용합니다: 12개 회차"
        },
        {
          "time": "16:40:08",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:40:08",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:40:08",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:40:08",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:40:08",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/34510"
        },
        {
          "time": "16:40:08",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34510"
        },
        {
          "time": "16:40:15",
          "message": "작품 제목: 릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타"
        },
        {
          "time": "16:40:15",
          "message": "메타데이터 저장: /downloads/manhwa_34510/metadata.yaml"
        },
        {
          "time": "16:40:15",
          "message": "메타데이터 태그 저장: 릴리아 프레그넌트 더 월드 엔드, 사카야마 신타"
        },
        {
          "time": "16:40:15",
          "message": "기존 완료 회차 12개 제외"
        },
        {
          "time": "16:40:15",
          "message": "총 12개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:40:15",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:25:38",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:26:14",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:36:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:36:49"
        },
        {
          "time": "06:36:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:36:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:04:14",
          "message": "작품 제목: 34510"
        },
        {
          "time": "13:14:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:14:21"
        },
        {
          "time": "13:14:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:14:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:28:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #40"
        },
        {
          "time": "17:28:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:28:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타 | 뉴토끼, links=14"
        },
        {
          "time": "17:28:32",
          "message": "작품 제목: 릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타"
        },
        {
          "time": "17:28:32",
          "message": "메타데이터 태그 저장: 릴리아 프레그넌트 더 월드 엔드, 사카야마 신타"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:40:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #935"
        },
        {
          "time": "05:40:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:40:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타 | 뉴토끼, links=14"
        },
        {
          "time": "05:40:47",
          "message": "작품 제목: 릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타"
        },
        {
          "time": "05:40:47",
          "message": "메타데이터 태그 저장: 릴리아 프레그넌트 더 월드 엔드, 사카야마 신타"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:22:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #182"
        },
        {
          "time": "19:22:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:22:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타 | 뉴토끼, links=14"
        },
        {
          "time": "19:22:16",
          "message": "작품 제목: 릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타"
        },
        {
          "time": "19:22:16",
          "message": "메타데이터 태그 저장: 릴리아 프레그넌트 더 월드 엔드, 사카야마 신타"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:02:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #499"
        },
        {
          "time": "12:02:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:02:26",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:02:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #500"
        },
        {
          "time": "12:02:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:02:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타 | 뉴토끼, links=14"
        },
        {
          "time": "12:02:40",
          "message": "작품 제목: 릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타"
        },
        {
          "time": "12:02:40",
          "message": "메타데이터 태그 저장: 릴리아 프레그넌트 더 월드 엔드, 사카야마 신타"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:26:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #950"
        },
        {
          "time": "04:26:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:26:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타 | 뉴토끼, links=14"
        },
        {
          "time": "04:26:33",
          "message": "작품 제목: 릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타"
        },
        {
          "time": "04:26:33",
          "message": "메타데이터 태그 저장: 릴리아 프레그넌트 더 월드 엔드, 사카야마 신타"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34510",
        "target_id": "manhwa_34510",
        "title": "릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타",
        "episodes_found": 12,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 12,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34510",
          "title": "릴리아 프레그넌트 더 월드 엔드 - 사카야마 신타",
          "list_url": "https://newtoki1.org/manhwa/34510",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34510"
          },
          "tags": [
            "릴리아 프레그넌트 더 월드 엔드",
            "사카야마 신타"
          ],
          "description": "마왕을 쓰러뜨린듸 이세계를 구하고 현실세계로 돌아온 용사 타카히로. 평온한 삶을 사는 타카히로에게 어느 날 갑자기 마왕의 딸 릴리아가 찾아왔다. 복수인가 하고 자세를 취하는 타카히로이지만, 그녀의 목적은 강자인 타카히로의 아이를 낳는 것으로…!?",
          "metadata_path": "/downloads/manhwa_34510/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 12,
        "total": 12,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "8bab468e9c",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:22:10",
      "started_at": "2026-06-04T04:23:29",
      "finished_at": "2026-06-04T04:25:44",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "공짜로는 안기지 않겠어요 - 히노하라 후키",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/33744",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_33744",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "16:36:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_080/015.jpg"
        },
        {
          "time": "16:36:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_080/016.jpg"
        },
        {
          "time": "16:36:02",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "16:36:04",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/33744/1758331"
        },
        {
          "time": "16:36:04",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/33744/1758331"
        },
        {
          "time": "16:36:12",
          "message": "  [i] 회차 제목: 공짜로는 안기지 않겠어요 81화"
        },
        {
          "time": "16:36:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/001.jpg"
        },
        {
          "time": "16:36:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/002.jpg"
        },
        {
          "time": "16:36:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/003.jpg"
        },
        {
          "time": "16:36:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/004.jpg"
        },
        {
          "time": "16:36:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/005.jpg"
        },
        {
          "time": "16:36:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/006.jpg"
        },
        {
          "time": "16:36:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/007.jpg"
        },
        {
          "time": "16:36:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/008.jpg"
        },
        {
          "time": "16:36:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/009.jpg"
        },
        {
          "time": "16:36:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/010.jpg"
        },
        {
          "time": "16:36:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/011.jpg"
        },
        {
          "time": "16:36:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/012.jpg"
        },
        {
          "time": "16:36:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/013.jpg"
        },
        {
          "time": "16:36:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/014.jpg"
        },
        {
          "time": "16:36:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/015.jpg"
        },
        {
          "time": "16:36:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/016.jpg"
        },
        {
          "time": "16:36:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/017.jpg"
        },
        {
          "time": "16:36:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_081/018.jpg"
        },
        {
          "time": "16:36:44",
          "message": "  [>] 이미지 18개 처리 완료.\n"
        },
        {
          "time": "16:36:45",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/33744/1759251"
        },
        {
          "time": "16:36:45",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/33744/1759251"
        },
        {
          "time": "16:36:52",
          "message": "  [i] 회차 제목: 공짜로는 안기지 않겠어요 82화"
        },
        {
          "time": "16:36:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/001.jpg"
        },
        {
          "time": "16:36:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/002.jpg"
        },
        {
          "time": "16:36:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/003.jpg"
        },
        {
          "time": "16:37:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/004.jpg"
        },
        {
          "time": "16:37:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/005.jpg"
        },
        {
          "time": "16:37:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/006.jpg"
        },
        {
          "time": "16:37:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/007.jpg"
        },
        {
          "time": "16:37:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/008.jpg"
        },
        {
          "time": "16:37:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/009.jpg"
        },
        {
          "time": "16:37:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/010.jpg"
        },
        {
          "time": "16:37:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/011.jpg"
        },
        {
          "time": "16:37:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/012.jpg"
        },
        {
          "time": "16:37:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/013.jpg"
        },
        {
          "time": "16:37:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/014.jpg"
        },
        {
          "time": "16:37:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/015.jpg"
        },
        {
          "time": "16:37:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_082/016.jpg"
        },
        {
          "time": "16:37:21",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "16:37:23",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/33744/1760727"
        },
        {
          "time": "16:37:23",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/33744/1760727"
        },
        {
          "time": "16:37:29",
          "message": "  [i] 회차 제목: 공짜로는 안기지 않겠어요 83화"
        },
        {
          "time": "16:37:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/001.jpg"
        },
        {
          "time": "16:37:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/002.jpg"
        },
        {
          "time": "16:37:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/003.jpg"
        },
        {
          "time": "16:37:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/004.jpg"
        },
        {
          "time": "16:37:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/005.jpg"
        },
        {
          "time": "16:37:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/006.jpg"
        },
        {
          "time": "16:37:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/007.jpg"
        },
        {
          "time": "16:37:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/008.jpg"
        },
        {
          "time": "16:37:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/009.jpg"
        },
        {
          "time": "16:37:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/010.jpg"
        },
        {
          "time": "16:37:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/011.jpg"
        },
        {
          "time": "16:37:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/012.jpg"
        },
        {
          "time": "16:37:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/013.jpg"
        },
        {
          "time": "16:37:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/014.jpg"
        },
        {
          "time": "16:38:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/015.jpg"
        },
        {
          "time": "16:38:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/016.jpg"
        },
        {
          "time": "16:38:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/017.jpg"
        },
        {
          "time": "16:38:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/018.jpg"
        },
        {
          "time": "16:38:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/019.jpg"
        },
        {
          "time": "16:38:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_083/020.jpg"
        },
        {
          "time": "16:38:13",
          "message": "  [>] 이미지 20개 처리 완료.\n"
        },
        {
          "time": "16:38:14",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/33744/1762537"
        },
        {
          "time": "16:38:14",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/33744/1762537"
        },
        {
          "time": "16:38:20",
          "message": "  [i] 회차 제목: 공짜로는 안기지 않겠어요 84화"
        },
        {
          "time": "16:38:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/001.jpg"
        },
        {
          "time": "16:38:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/002.jpg"
        },
        {
          "time": "16:38:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/003.jpg"
        },
        {
          "time": "16:38:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/004.jpg"
        },
        {
          "time": "16:38:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/005.jpg"
        },
        {
          "time": "16:38:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/006.jpg"
        },
        {
          "time": "16:38:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/007.jpg"
        },
        {
          "time": "16:38:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/008.jpg"
        },
        {
          "time": "16:38:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/009.jpg"
        },
        {
          "time": "16:38:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/010.jpg"
        },
        {
          "time": "16:38:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/011.jpg"
        },
        {
          "time": "16:38:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/012.jpg"
        },
        {
          "time": "16:38:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/013.jpg"
        },
        {
          "time": "16:38:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/014.jpg"
        },
        {
          "time": "16:38:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/015.jpg"
        },
        {
          "time": "16:38:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/016.jpg"
        },
        {
          "time": "16:38:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/017.jpg"
        },
        {
          "time": "16:38:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_33744/ep_084/018.jpg"
        },
        {
          "time": "16:38:55",
          "message": "  [>] 이미지 18개 처리 완료.\n"
        },
        {
          "time": "16:38:56",
          "message": "완료: 회차 35개 처리, 이미지 626개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:28:41",
          "message": "대기열 순서를 변경했습니다: 63 -> 1"
        },
        {
          "time": "16:41:49",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:43:06",
          "message": "기존 완료 기록을 적용합니다: 84개 회차"
        },
        {
          "time": "16:43:06",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:43:06",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:43:06",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:43:06",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:43:06",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/33744"
        },
        {
          "time": "16:43:06",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/33744"
        },
        {
          "time": "16:43:12",
          "message": "작품 제목: 공짜로는 안기지 않겠어요 - 히노하라 후키"
        },
        {
          "time": "16:43:12",
          "message": "메타데이터 저장: /downloads/manhwa_33744/metadata.yaml"
        },
        {
          "time": "16:43:12",
          "message": "메타데이터 태그 저장: 공짜로는 안기지 않겠어요, 히노하라 후키"
        },
        {
          "time": "16:43:12",
          "message": "기존 완료 회차 84개 제외"
        },
        {
          "time": "16:43:12",
          "message": "총 84개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:43:12",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:25:30",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:25:34",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:35:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:35:37"
        },
        {
          "time": "06:35:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:35:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:03:54",
          "message": "작품 제목: 33744"
        },
        {
          "time": "13:14:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:14:05"
        },
        {
          "time": "13:14:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:14:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:28:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #39"
        },
        {
          "time": "17:28:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:28:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=공짜로는 안기지 않겠어요 - 히노하라 후키 | 뉴토끼, links=86"
        },
        {
          "time": "17:28:17",
          "message": "작품 제목: 공짜로는 안기지 않겠어요 - 히노하라 후키"
        },
        {
          "time": "17:28:17",
          "message": "메타데이터 태그 저장: 공짜로는 안기지 않겠어요, 히노하라 후키"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:40:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #936"
        },
        {
          "time": "05:40:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:41:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=공짜로는 안기지 않겠어요 - 히노하라 후키 | 뉴토끼, links=86"
        },
        {
          "time": "05:41:03",
          "message": "작품 제목: 공짜로는 안기지 않겠어요 - 히노하라 후키"
        },
        {
          "time": "05:41:03",
          "message": "메타데이터 태그 저장: 공짜로는 안기지 않겠어요, 히노하라 후키"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:21:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #181"
        },
        {
          "time": "19:21:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:22:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=공짜로는 안기지 않겠어요 - 히노하라 후키 | 뉴토끼, links=86"
        },
        {
          "time": "19:22:01",
          "message": "작품 제목: 공짜로는 안기지 않겠어요 - 히노하라 후키"
        },
        {
          "time": "19:22:01",
          "message": "메타데이터 태그 저장: 공짜로는 안기지 않겠어요, 히노하라 후키"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:03:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #501"
        },
        {
          "time": "12:03:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:03:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=공짜로는 안기지 않겠어요 - 히노하라 후키 | 뉴토끼, links=86"
        },
        {
          "time": "12:03:31",
          "message": "작품 제목: 공짜로는 안기지 않겠어요 - 히노하라 후키"
        },
        {
          "time": "12:03:31",
          "message": "메타데이터 태그 저장: 공짜로는 안기지 않겠어요, 히노하라 후키"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:24:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #949"
        },
        {
          "time": "04:24:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:24:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=공짜로는 안기지 않겠어요 - 히노하라 후키 | 뉴토끼, links=86"
        },
        {
          "time": "04:25:43",
          "message": "작품 제목: 공짜로는 안기지 않겠어요 - 히노하라 후키"
        },
        {
          "time": "04:25:44",
          "message": "메타데이터 태그 저장: 공짜로는 안기지 않겠어요, 히노하라 후키"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_33744",
        "target_id": "manhwa_33744",
        "title": "공짜로는 안기지 않겠어요 - 히노하라 후키",
        "episodes_found": 84,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 84,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_33744",
          "title": "공짜로는 안기지 않겠어요 - 히노하라 후키",
          "list_url": "https://newtoki1.org/manhwa/33744",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/33744"
          },
          "tags": [
            "공짜로는 안기지 않겠어요",
            "히노하라 후키"
          ],
          "description": "절약을 좋아하는 가난한 여대생·마야코. 어느 날 그녀는 친구 나카노 씨와 식사를 하러 갔다가 돌아오는 길에 러브호텔에 초대받고 만다. 친구와 야한 일은 할 수 없다고 거절하는 미야코였지만 나카노 씨에게 떠밀려 3만엔에 몸을 팔아버리고 만다! 그리고 미야코는 다른 친구들과도 `돈과 육체의",
          "metadata_path": "/downloads/manhwa_33744/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 84,
        "total": 84,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "9dbb3973dc",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:21:56",
      "started_at": "2026-06-04T04:22:10",
      "finished_at": "2026-06-04T04:23:29",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "폭유 바니 아줌마 - 카무C",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/36630",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_36630",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "03:34:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_003/012.jpg"
        },
        {
          "time": "03:34:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_003/013.jpg"
        },
        {
          "time": "03:34:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_003/014.jpg"
        },
        {
          "time": "03:34:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_003/015.jpg"
        },
        {
          "time": "03:34:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_003/016.jpg"
        },
        {
          "time": "03:34:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_003/017.jpg"
        },
        {
          "time": "03:34:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_003/018.jpg"
        },
        {
          "time": "03:34:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_003/019.jpg"
        },
        {
          "time": "03:34:22",
          "message": "  [>] 이미지 19개 처리 완료.\n"
        },
        {
          "time": "03:34:23",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/36630/1807009"
        },
        {
          "time": "03:34:24",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/36630/1807009"
        },
        {
          "time": "03:34:31",
          "message": "  [i] 회차 제목: 폭유 바니 아줌마 4화"
        },
        {
          "time": "03:34:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/001.jpg"
        },
        {
          "time": "03:34:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/002.jpg"
        },
        {
          "time": "03:34:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/003.jpg"
        },
        {
          "time": "03:34:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/004.jpg"
        },
        {
          "time": "03:34:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/005.jpg"
        },
        {
          "time": "03:34:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/006.jpg"
        },
        {
          "time": "03:34:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/007.jpg"
        },
        {
          "time": "03:34:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/008.jpg"
        },
        {
          "time": "03:34:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/009.jpg"
        },
        {
          "time": "03:34:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/010.jpg"
        },
        {
          "time": "03:34:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/011.jpg"
        },
        {
          "time": "03:34:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/012.jpg"
        },
        {
          "time": "03:34:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/013.jpg"
        },
        {
          "time": "03:34:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/014.jpg"
        },
        {
          "time": "03:34:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/015.jpg"
        },
        {
          "time": "03:34:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/016.jpg"
        },
        {
          "time": "03:35:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/017.jpg"
        },
        {
          "time": "03:35:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/018.jpg"
        },
        {
          "time": "03:35:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/019.jpg"
        },
        {
          "time": "03:35:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_004/020.jpg"
        },
        {
          "time": "03:35:07",
          "message": "  [>] 이미지 20개 처리 완료.\n"
        },
        {
          "time": "03:35:08",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/36630/1807282"
        },
        {
          "time": "03:35:08",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/36630/1807282"
        },
        {
          "time": "03:35:15",
          "message": "  [i] 회차 제목: 폭유 바니 아줌마 5화"
        },
        {
          "time": "03:35:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/001.jpg"
        },
        {
          "time": "03:35:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/002.jpg"
        },
        {
          "time": "03:35:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/003.jpg"
        },
        {
          "time": "03:35:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/004.jpg"
        },
        {
          "time": "03:35:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/005.jpg"
        },
        {
          "time": "03:35:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/006.jpg"
        },
        {
          "time": "03:35:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/007.jpg"
        },
        {
          "time": "03:35:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/008.jpg"
        },
        {
          "time": "03:35:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/009.jpg"
        },
        {
          "time": "03:35:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/010.jpg"
        },
        {
          "time": "03:35:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/011.jpg"
        },
        {
          "time": "03:35:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/012.jpg"
        },
        {
          "time": "03:35:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/013.jpg"
        },
        {
          "time": "03:35:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/014.jpg"
        },
        {
          "time": "03:35:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/015.jpg"
        },
        {
          "time": "03:35:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/016.jpg"
        },
        {
          "time": "03:35:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/017.jpg"
        },
        {
          "time": "03:35:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/018.jpg"
        },
        {
          "time": "03:35:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/019.jpg"
        },
        {
          "time": "03:35:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_005/020.jpg"
        },
        {
          "time": "03:35:51",
          "message": "  [>] 이미지 20개 처리 완료.\n"
        },
        {
          "time": "03:35:52",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/36630/1807572"
        },
        {
          "time": "03:35:53",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/36630/1807572"
        },
        {
          "time": "03:36:00",
          "message": "  [i] 회차 제목: 폭유 바니 아줌마 6화"
        },
        {
          "time": "03:36:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/001.jpg"
        },
        {
          "time": "03:36:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/002.jpg"
        },
        {
          "time": "03:36:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/003.jpg"
        },
        {
          "time": "03:36:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/004.jpg"
        },
        {
          "time": "03:36:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/005.jpg"
        },
        {
          "time": "03:36:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/006.jpg"
        },
        {
          "time": "03:36:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/007.jpg"
        },
        {
          "time": "03:36:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/008.jpg"
        },
        {
          "time": "03:36:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/009.jpg"
        },
        {
          "time": "03:36:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/010.jpg"
        },
        {
          "time": "03:36:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/011.jpg"
        },
        {
          "time": "03:36:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/012.jpg"
        },
        {
          "time": "03:36:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/013.jpg"
        },
        {
          "time": "03:36:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/014.jpg"
        },
        {
          "time": "03:36:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/015.jpg"
        },
        {
          "time": "03:36:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/016.jpg"
        },
        {
          "time": "03:36:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/017.jpg"
        },
        {
          "time": "03:36:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/018.jpg"
        },
        {
          "time": "03:36:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/019.jpg"
        },
        {
          "time": "03:36:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/020.jpg"
        },
        {
          "time": "03:36:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/021.jpg"
        },
        {
          "time": "03:36:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/022.jpg"
        },
        {
          "time": "03:36:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/023.jpg"
        },
        {
          "time": "03:36:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/024.jpg"
        },
        {
          "time": "03:36:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/025.jpg"
        },
        {
          "time": "03:36:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/026.jpg"
        },
        {
          "time": "03:36:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_36630/ep_006/027.jpg"
        },
        {
          "time": "03:36:49",
          "message": "  [>] 이미지 27개 처리 완료.\n"
        },
        {
          "time": "03:36:50",
          "message": "완료: 회차 6개 처리, 이미지 131개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:28:44",
          "message": "대기열 순서를 변경했습니다: 63 -> 1"
        },
        {
          "time": "16:40:16",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:41:40",
          "message": "기존 완료 기록을 적용합니다: 6개 회차"
        },
        {
          "time": "16:41:40",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:41:40",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:41:40",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:41:40",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:41:40",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/36630"
        },
        {
          "time": "16:41:40",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/36630"
        },
        {
          "time": "16:41:48",
          "message": "작품 제목: 폭유 바니 아줌마 - 카무C"
        },
        {
          "time": "16:41:48",
          "message": "메타데이터 저장: /downloads/manhwa_36630/metadata.yaml"
        },
        {
          "time": "16:41:49",
          "message": "메타데이터 태그 저장: 카무C, 폭유 바니 아줌마"
        },
        {
          "time": "16:41:49",
          "message": "기존 완료 회차 6개 제외"
        },
        {
          "time": "16:41:49",
          "message": "총 6개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:41:49",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:25:35",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:25:38",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:35:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:35:41"
        },
        {
          "time": "06:35:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:35:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:03:48",
          "message": "작품 제목: 36630"
        },
        {
          "time": "13:14:05",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:14:05"
        },
        {
          "time": "13:14:05",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:14:05",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:27:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #38"
        },
        {
          "time": "17:27:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:28:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=폭유 바니 아줌마 - 카무C | 뉴토끼, links=8"
        },
        {
          "time": "17:28:02",
          "message": "작품 제목: 폭유 바니 아줌마 - 카무C"
        },
        {
          "time": "17:28:02",
          "message": "메타데이터 태그 저장: 카무C, 폭유 바니 아줌마"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:41:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #937"
        },
        {
          "time": "05:41:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:41:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=폭유 바니 아줌마 - 카무C | 뉴토끼, links=8"
        },
        {
          "time": "05:41:39",
          "message": "작품 제목: 폭유 바니 아줌마 - 카무C"
        },
        {
          "time": "05:41:39",
          "message": "메타데이터 태그 저장: 카무C, 폭유 바니 아줌마"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:20:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #180"
        },
        {
          "time": "19:20:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:21:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=폭유 바니 아줌마 - 카무C | 뉴토끼, links=8"
        },
        {
          "time": "19:21:20",
          "message": "작품 제목: 폭유 바니 아줌마 - 카무C"
        },
        {
          "time": "19:21:20",
          "message": "메타데이터 태그 저장: 카무C, 폭유 바니 아줌마"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:04:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #502"
        },
        {
          "time": "12:04:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:04:58",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:04:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #503"
        },
        {
          "time": "12:04:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:05:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=폭유 바니 아줌마 - 카무C | 뉴토끼, links=8"
        },
        {
          "time": "12:05:44",
          "message": "작품 제목: 폭유 바니 아줌마 - 카무C"
        },
        {
          "time": "12:05:45",
          "message": "메타데이터 태그 저장: 카무C, 폭유 바니 아줌마"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:23:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #948"
        },
        {
          "time": "04:23:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:23:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=폭유 바니 아줌마 - 카무C | 뉴토끼, links=8"
        },
        {
          "time": "04:23:28",
          "message": "작품 제목: 폭유 바니 아줌마 - 카무C"
        },
        {
          "time": "04:23:28",
          "message": "메타데이터 태그 저장: 카무C, 폭유 바니 아줌마"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_36630",
        "target_id": "manhwa_36630",
        "title": "폭유 바니 아줌마 - 카무C",
        "episodes_found": 6,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 6,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_36630",
          "title": "폭유 바니 아줌마 - 카무C",
          "list_url": "https://newtoki1.org/manhwa/36630",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/36630"
          },
          "tags": [
            "카무C",
            "폭유 바니 아줌마"
          ],
          "description": "요코예요. 지난번 답례를… 해드리겠어요. 아무것도 없는 일상에 절망하고 있는 남자 앞에 요염한 묘령의 미녀가 나타나 한 장의 명함을 건넨다. 무언가에 홀리듯이 명함에 적힌 가게 “파니 가든”으로 향하고, 거기서 그 미녀 “요코”와 재회하는데…. 그런데 세상에, 이 아줌마가 바니걸 복장",
          "metadata_path": "/downloads/manhwa_36630/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 6,
        "total": 6,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "28ced7be58",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:21:38",
      "started_at": "2026-06-04T04:21:06",
      "finished_at": "2026-06-04T04:22:10",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "이상적인 기둥서방 생활 - 와타나베 츠네히코",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/10478",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_10478",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "03:20:53",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/10478/1812473"
        },
        {
          "time": "03:20:58",
          "message": "  [i] 회차 제목: 이상적인 기둥서방 생활 105-2화 이상적인 기둥서방 …생활 105-2화"
        },
        {
          "time": "03:21:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/001.jpg"
        },
        {
          "time": "03:21:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/002.jpg"
        },
        {
          "time": "03:21:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/003.jpg"
        },
        {
          "time": "03:21:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/004.jpg"
        },
        {
          "time": "03:21:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/005.jpg"
        },
        {
          "time": "03:21:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/006.jpg"
        },
        {
          "time": "03:21:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/007.jpg"
        },
        {
          "time": "03:21:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/008.jpg"
        },
        {
          "time": "03:21:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/009.jpg"
        },
        {
          "time": "03:21:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/010.jpg"
        },
        {
          "time": "03:21:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/011.jpg"
        },
        {
          "time": "03:21:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/012.jpg"
        },
        {
          "time": "03:21:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/013.jpg"
        },
        {
          "time": "03:21:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/014.jpg"
        },
        {
          "time": "03:21:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/015.jpg"
        },
        {
          "time": "03:21:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/016.jpg"
        },
        {
          "time": "03:21:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/017.jpg"
        },
        {
          "time": "03:21:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/018.jpg"
        },
        {
          "time": "03:21:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_169/019.jpg"
        },
        {
          "time": "03:21:31",
          "message": "  [>] 이미지 19개 처리 완료.\n"
        },
        {
          "time": "03:21:32",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/10478/1812462"
        },
        {
          "time": "03:21:32",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/10478/1812462"
        },
        {
          "time": "03:21:38",
          "message": "  [i] 회차 제목: 이상적인 기둥서방 생활 105-1화 이상적인 기둥서방 …생활 105-1화"
        },
        {
          "time": "03:21:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/001.jpg"
        },
        {
          "time": "03:21:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/002.jpg"
        },
        {
          "time": "03:21:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/003.jpg"
        },
        {
          "time": "03:21:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/004.jpg"
        },
        {
          "time": "03:21:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/005.jpg"
        },
        {
          "time": "03:21:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/006.jpg"
        },
        {
          "time": "03:21:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/007.jpg"
        },
        {
          "time": "03:21:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/008.jpg"
        },
        {
          "time": "03:21:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/009.jpg"
        },
        {
          "time": "03:21:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/010.jpg"
        },
        {
          "time": "03:21:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/011.jpg"
        },
        {
          "time": "03:21:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/012.jpg"
        },
        {
          "time": "03:22:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/013.jpg"
        },
        {
          "time": "03:22:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/014.jpg"
        },
        {
          "time": "03:22:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/015.jpg"
        },
        {
          "time": "03:22:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/016.jpg"
        },
        {
          "time": "03:22:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/017.jpg"
        },
        {
          "time": "03:22:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_170/018.jpg"
        },
        {
          "time": "03:22:09",
          "message": "  [>] 이미지 18개 처리 완료.\n"
        },
        {
          "time": "03:22:10",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/10478/1814639"
        },
        {
          "time": "03:22:10",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/10478/1814639"
        },
        {
          "time": "03:22:15",
          "message": "  [i] 회차 제목: 이상적인 기둥서방 생활 106-2화 이상적인 기둥서방 …생활 106-2화"
        },
        {
          "time": "03:22:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/001.jpg"
        },
        {
          "time": "03:22:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/002.jpg"
        },
        {
          "time": "03:22:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/003.jpg"
        },
        {
          "time": "03:22:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/004.jpg"
        },
        {
          "time": "03:22:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/005.jpg"
        },
        {
          "time": "03:22:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/006.jpg"
        },
        {
          "time": "03:22:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/007.jpg"
        },
        {
          "time": "03:22:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/008.jpg"
        },
        {
          "time": "03:22:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/009.jpg"
        },
        {
          "time": "03:22:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/010.jpg"
        },
        {
          "time": "03:22:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/011.jpg"
        },
        {
          "time": "03:22:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/012.jpg"
        },
        {
          "time": "03:22:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/013.jpg"
        },
        {
          "time": "03:22:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/014.jpg"
        },
        {
          "time": "03:22:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_171/015.jpg"
        },
        {
          "time": "03:22:44",
          "message": "  [>] 이미지 15개 처리 완료.\n"
        },
        {
          "time": "03:22:45",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/10478/1814635"
        },
        {
          "time": "03:22:45",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/10478/1814635"
        },
        {
          "time": "03:22:51",
          "message": "  [i] 회차 제목: 이상적인 기둥서방 생활 106-1화 이상적인 기둥서방 …생활 106-1화"
        },
        {
          "time": "03:22:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/001.jpg"
        },
        {
          "time": "03:22:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/002.jpg"
        },
        {
          "time": "03:22:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/003.jpg"
        },
        {
          "time": "03:22:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/004.jpg"
        },
        {
          "time": "03:23:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/005.jpg"
        },
        {
          "time": "03:23:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/006.jpg"
        },
        {
          "time": "03:23:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/007.jpg"
        },
        {
          "time": "03:23:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/008.jpg"
        },
        {
          "time": "03:23:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/009.jpg"
        },
        {
          "time": "03:23:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/010.jpg"
        },
        {
          "time": "03:23:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/011.jpg"
        },
        {
          "time": "03:23:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/012.jpg"
        },
        {
          "time": "03:23:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/013.jpg"
        },
        {
          "time": "03:23:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/014.jpg"
        },
        {
          "time": "03:23:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/015.jpg"
        },
        {
          "time": "03:23:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/016.jpg"
        },
        {
          "time": "03:23:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_10478/ep_172/017.jpg"
        },
        {
          "time": "03:23:25",
          "message": "  [>] 이미지 17개 처리 완료.\n"
        },
        {
          "time": "03:23:26",
          "message": "완료: 회차 172개 처리, 이미지 3820개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:37:13",
          "message": "대기열 순서를 변경했습니다: 80 -> 1"
        },
        {
          "time": "14:50:18",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "14:51:29",
          "message": "기존 완료 기록을 적용합니다: 172개 회차"
        },
        {
          "time": "14:51:29",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "14:51:30",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "14:51:30",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "14:51:30",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "14:51:30",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/10478"
        },
        {
          "time": "14:51:30",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/10478"
        },
        {
          "time": "14:51:37",
          "message": "작품 제목: 이상적인 기둥서방 생활 - 와타나베 츠네히코"
        },
        {
          "time": "14:51:38",
          "message": "메타데이터 저장: /downloads/manhwa_10478/metadata.yaml"
        },
        {
          "time": "14:51:39",
          "message": "메타데이터 태그 저장: 와타나베 츠네히코, 이상적인 기둥서방 생활"
        },
        {
          "time": "14:51:40",
          "message": "기존 완료 회차 172개 제외"
        },
        {
          "time": "14:51:41",
          "message": "총 172개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "14:51:42",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:30:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:30:43",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:41:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:41:10"
        },
        {
          "time": "06:41:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:41:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:03:10",
          "message": "작품 제목: 10478"
        },
        {
          "time": "13:13:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:13:29"
        },
        {
          "time": "13:13:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:13:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:26:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #37"
        },
        {
          "time": "17:26:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:27:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이상적인 기둥서방 생활 - 와타나베 츠네히코 | 뉴토끼, links=174"
        },
        {
          "time": "17:27:48",
          "message": "작품 제목: 이상적인 기둥서방 생활 - 와타나베 츠네히코"
        },
        {
          "time": "17:27:48",
          "message": "메타데이터 태그 저장: 와타나베 츠네히코, 이상적인 기둥서방 생활"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:42:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #938"
        },
        {
          "time": "05:42:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:42:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이상적인 기둥서방 생활 - 와타나베 츠네히코 | 뉴토끼, links=174"
        },
        {
          "time": "05:42:58",
          "message": "작품 제목: 이상적인 기둥서방 생활 - 와타나베 츠네히코"
        },
        {
          "time": "05:42:58",
          "message": "메타데이터 태그 저장: 와타나베 츠네히코, 이상적인 기둥서방 생활"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:19:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #179"
        },
        {
          "time": "19:19:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:19:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이상적인 기둥서방 생활 - 와타나베 츠네히코 | 뉴토끼, links=174"
        },
        {
          "time": "19:20:19",
          "message": "작품 제목: 이상적인 기둥서방 생활 - 와타나베 츠네히코"
        },
        {
          "time": "19:20:19",
          "message": "메타데이터 태그 저장: 와타나베 츠네히코, 이상적인 기둥서방 생활"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:05:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #504"
        },
        {
          "time": "12:05:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:06:08",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:06:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #505"
        },
        {
          "time": "12:06:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:06:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이상적인 기둥서방 생활 - 와타나베 츠네히코 | 뉴토끼, links=174"
        },
        {
          "time": "12:06:57",
          "message": "작품 제목: 이상적인 기둥서방 생활 - 와타나베 츠네히코"
        },
        {
          "time": "12:06:57",
          "message": "메타데이터 태그 저장: 와타나베 츠네히코, 이상적인 기둥서방 생활"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:21:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #946"
        },
        {
          "time": "04:21:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:22:02",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:22:03",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:22:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #947"
        },
        {
          "time": "04:22:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:22:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이상적인 기둥서방 생활 - 와타나베 츠네히코 | 뉴토끼, links=174"
        },
        {
          "time": "04:22:08",
          "message": "작품 제목: 이상적인 기둥서방 생활 - 와타나베 츠네히코"
        },
        {
          "time": "04:22:09",
          "message": "메타데이터 태그 저장: 와타나베 츠네히코, 이상적인 기둥서방 생활"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_10478",
        "target_id": "manhwa_10478",
        "title": "이상적인 기둥서방 생활 - 와타나베 츠네히코",
        "episodes_found": 172,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 172,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_10478",
          "title": "이상적인 기둥서방 생활 - 와타나베 츠네히코",
          "list_url": "https://newtoki1.org/manhwa/10478",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/10478"
          },
          "tags": [
            "와타나베 츠네히코",
            "이상적인 기둥서방 생활"
          ],
          "description": "월화수목금금금… 평범한 직장인 야마이 젠지로. 반년 만에 누리는 금쪽같은 놀토 아침, 편의점에서 돌아오는 길에 이계에 소환된다. 어리둥절하는 젠지로의 앞에 나타난 사람은 붉은 머리칼과 갈색 피부의 거유 미녀, 이계의 카파 왕국을 다스리는 여왕 아우라 1세였다. 자신과 결혼해 이 세계에",
          "metadata_path": "/downloads/manhwa_10478/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 172,
        "total": 172,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "4b80768659",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:21:12",
      "started_at": "2026-06-04T04:20:26",
      "finished_at": "2026-06-04T04:21:06",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "치치치치 - 쿨교신자",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/8789",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_8789",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "00:31:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_054/010.jpg"
        },
        {
          "time": "00:31:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_054/011.jpg"
        },
        {
          "time": "00:31:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_054/012.jpg"
        },
        {
          "time": "00:31:13",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "00:31:14",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/8789/302282"
        },
        {
          "time": "00:31:14",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/8789/302282"
        },
        {
          "time": "00:31:20",
          "message": "  [i] 회차 제목: 치치치치 63화"
        },
        {
          "time": "00:31:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/001.jpg"
        },
        {
          "time": "00:31:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/002.jpg"
        },
        {
          "time": "00:31:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/003.jpg"
        },
        {
          "time": "00:31:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/004.jpg"
        },
        {
          "time": "00:31:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/005.jpg"
        },
        {
          "time": "00:31:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/006.jpg"
        },
        {
          "time": "00:31:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/007.jpg"
        },
        {
          "time": "00:31:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/008.jpg"
        },
        {
          "time": "00:31:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/009.jpg"
        },
        {
          "time": "00:31:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/010.jpg"
        },
        {
          "time": "00:31:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/011.jpg"
        },
        {
          "time": "00:31:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_055/012.jpg"
        },
        {
          "time": "00:31:42",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "00:31:43",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/8789/302288"
        },
        {
          "time": "00:31:43",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/8789/302288"
        },
        {
          "time": "00:31:49",
          "message": "  [i] 회차 제목: 치치치치 64화"
        },
        {
          "time": "00:31:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/001.jpg"
        },
        {
          "time": "00:31:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/002.jpg"
        },
        {
          "time": "00:31:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/003.jpg"
        },
        {
          "time": "00:31:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/004.jpg"
        },
        {
          "time": "00:31:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/005.jpg"
        },
        {
          "time": "00:31:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/006.jpg"
        },
        {
          "time": "00:32:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/007.jpg"
        },
        {
          "time": "00:32:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/008.jpg"
        },
        {
          "time": "00:32:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/009.jpg"
        },
        {
          "time": "00:32:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/010.jpg"
        },
        {
          "time": "00:32:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/011.jpg"
        },
        {
          "time": "00:32:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_056/012.jpg"
        },
        {
          "time": "00:32:12",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "00:32:13",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/8789/302570"
        },
        {
          "time": "00:32:13",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/8789/302570"
        },
        {
          "time": "00:32:19",
          "message": "  [i] 회차 제목: 치치치치 65화"
        },
        {
          "time": "00:32:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/001.jpg"
        },
        {
          "time": "00:32:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/002.jpg"
        },
        {
          "time": "00:32:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/003.jpg"
        },
        {
          "time": "00:32:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/004.jpg"
        },
        {
          "time": "00:32:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/005.jpg"
        },
        {
          "time": "00:32:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/006.jpg"
        },
        {
          "time": "00:32:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/007.jpg"
        },
        {
          "time": "00:32:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/008.jpg"
        },
        {
          "time": "00:32:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/009.jpg"
        },
        {
          "time": "00:32:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/010.jpg"
        },
        {
          "time": "00:32:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/011.jpg"
        },
        {
          "time": "00:32:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_057/012.jpg"
        },
        {
          "time": "00:32:41",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "00:32:43",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/8789/302584"
        },
        {
          "time": "00:32:43",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/8789/302584"
        },
        {
          "time": "00:32:48",
          "message": "  [i] 회차 제목: 치치치치 66화"
        },
        {
          "time": "00:32:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/001.jpg"
        },
        {
          "time": "00:32:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/002.jpg"
        },
        {
          "time": "00:32:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/003.jpg"
        },
        {
          "time": "00:32:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/004.jpg"
        },
        {
          "time": "00:32:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/005.jpg"
        },
        {
          "time": "00:32:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/006.jpg"
        },
        {
          "time": "00:33:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/007.jpg"
        },
        {
          "time": "00:33:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/008.jpg"
        },
        {
          "time": "00:33:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/009.jpg"
        },
        {
          "time": "00:33:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/010.jpg"
        },
        {
          "time": "00:33:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/011.jpg"
        },
        {
          "time": "00:33:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_058/012.jpg"
        },
        {
          "time": "00:33:11",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "00:33:12",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/8789/306423"
        },
        {
          "time": "00:33:12",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/8789/306423"
        },
        {
          "time": "00:33:18",
          "message": "  [i] 회차 제목: 치치치치 67화"
        },
        {
          "time": "00:33:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/001.jpg"
        },
        {
          "time": "00:33:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/002.jpg"
        },
        {
          "time": "00:33:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/003.jpg"
        },
        {
          "time": "00:33:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/004.jpg"
        },
        {
          "time": "00:33:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/005.jpg"
        },
        {
          "time": "00:33:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/006.jpg"
        },
        {
          "time": "00:33:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/007.jpg"
        },
        {
          "time": "00:33:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/008.jpg"
        },
        {
          "time": "00:33:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/009.jpg"
        },
        {
          "time": "00:33:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/010.jpg"
        },
        {
          "time": "00:33:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/011.jpg"
        },
        {
          "time": "00:33:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_8789/ep_059/012.jpg"
        },
        {
          "time": "00:33:40",
          "message": "  [>] 이미지 12개 처리 완료.\n"
        },
        {
          "time": "00:33:41",
          "message": "완료: 회차 59개 처리, 이미지 688개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "13:37:01",
          "message": "대기열 순서를 변경했습니다: 79 -> 1"
        },
        {
          "time": "14:51:43",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "14:52:53",
          "message": "기존 완료 기록을 적용합니다: 59개 회차"
        },
        {
          "time": "14:52:53",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "14:52:55",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "14:53:15",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "14:53:33",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "14:53:33",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/8789"
        },
        {
          "time": "14:53:33",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/8789"
        },
        {
          "time": "14:53:40",
          "message": "작품 제목: 치치치치 - 쿨교신자"
        },
        {
          "time": "14:53:41",
          "message": "메타데이터 저장: /downloads/manhwa_8789/metadata.yaml"
        },
        {
          "time": "14:53:41",
          "message": "메타데이터 태그 저장: 치치치치, 쿨교신자"
        },
        {
          "time": "14:53:42",
          "message": "기존 완료 회차 59개 제외"
        },
        {
          "time": "14:53:42",
          "message": "총 59개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "14:53:42",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:30:35",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:30:38",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:41:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:41:10"
        },
        {
          "time": "06:41:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:41:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:03:00",
          "message": "작품 제목: 8789"
        },
        {
          "time": "13:13:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:13:29"
        },
        {
          "time": "13:13:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:13:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:26:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #36"
        },
        {
          "time": "17:26:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:26:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=치치치치 - 쿨교신자 | 뉴토끼, links=61"
        },
        {
          "time": "17:26:56",
          "message": "작품 제목: 치치치치 - 쿨교신자"
        },
        {
          "time": "17:26:56",
          "message": "메타데이터 태그 저장: 치치치치, 쿨교신자"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:44:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #939"
        },
        {
          "time": "05:44:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:44:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=치치치치 - 쿨교신자 | 뉴토끼, links=61"
        },
        {
          "time": "05:44:44",
          "message": "작품 제목: 치치치치 - 쿨교신자"
        },
        {
          "time": "05:44:44",
          "message": "메타데이터 태그 저장: 치치치치, 쿨교신자"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:18:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #178"
        },
        {
          "time": "19:18:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:18:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=치치치치 - 쿨교신자 | 뉴토끼, links=61"
        },
        {
          "time": "19:19:02",
          "message": "작품 제목: 치치치치 - 쿨교신자"
        },
        {
          "time": "19:19:02",
          "message": "메타데이터 태그 저장: 치치치치, 쿨교신자"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:06:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #506"
        },
        {
          "time": "12:06:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:07:52",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:07:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #507"
        },
        {
          "time": "12:07:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:08:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=치치치치 - 쿨교신자 | 뉴토끼, links=61"
        },
        {
          "time": "12:08:04",
          "message": "작품 제목: 치치치치 - 쿨교신자"
        },
        {
          "time": "12:08:04",
          "message": "메타데이터 태그 저장: 치치치치, 쿨교신자"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:20:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #944"
        },
        {
          "time": "04:20:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:20:48",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:20:48",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:20:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #945"
        },
        {
          "time": "04:20:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:21:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=치치치치 - 쿨교신자 | 뉴토끼, links=61"
        },
        {
          "time": "04:21:04",
          "message": "작품 제목: 치치치치 - 쿨교신자"
        },
        {
          "time": "04:21:05",
          "message": "메타데이터 태그 저장: 치치치치, 쿨교신자"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_8789",
        "target_id": "manhwa_8789",
        "title": "치치치치 - 쿨교신자",
        "episodes_found": 59,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 59,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_8789",
          "title": "치치치치 - 쿨교신자",
          "list_url": "https://newtoki1.org/manhwa/8789",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/8789"
          },
          "tags": [
            "치치치치",
            "쿨교신자"
          ],
          "description": "일본의 에로틱 코미디 만화. 의미는 없지만 굳이 직역해보자면 찌찌찌찌 이며 작가는 쿨교신자. 근본없는 제목같지만, 49화에서 히카루가 만든 야겜 이름이 유래이다. 닉네임 요로즈히카루(万光)인 그림책 작가가 웹 상에서 만난 닉네임 친타로에게 룸쉐어를 해주었는데 만나고 보니 가슴이 매우",
          "metadata_path": "/downloads/manhwa_8789/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 59,
        "total": 59,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "7348374669",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:20:55",
      "started_at": "2026-06-04T04:14:34",
      "finished_at": "2026-06-04T04:20:26",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "우리 회사의 작은 선배 이야기 - 사이소우",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/22908",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_22908",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "17:24:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #33"
        },
        {
          "time": "17:24:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:24:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 54.7화 우리 회사의 작은 …이야기 54.7화 | 뉴토끼, images=27"
        },
        {
          "time": "17:24:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #34"
        },
        {
          "time": "17:24:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:25:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #35"
        },
        {
          "time": "17:25:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:25:32",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 92.5화 우리 회사의 작은 …이야기 92.5화 | 뉴토끼, images=27"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:45:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #940"
        },
        {
          "time": "05:45:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:45:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 - 사이소우 | 뉴토끼, links=174"
        },
        {
          "time": "05:45:47",
          "message": "작품 제목: 우리 회사의 작은 선배 이야기 - 사이소우"
        },
        {
          "time": "05:45:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #941"
        },
        {
          "time": "05:45:47",
          "message": "메타데이터 태그 저장: 사이소우, 우리 회사의 작은 선배 이야기"
        },
        {
          "time": "05:45:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:45:48",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "05:45:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 4화 우리 회사의 작은 …선배 이야기 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:45:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #942"
        },
        {
          "time": "05:45:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:46:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 5화 우리 회사의 작은 …선배 이야기 5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:46:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #943"
        },
        {
          "time": "05:46:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:47:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #944"
        },
        {
          "time": "05:47:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:47:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 6화 우리 회사의 작은 …선배 이야기 6화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:48:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #945"
        },
        {
          "time": "05:48:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:49:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #946"
        },
        {
          "time": "05:49:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:49:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 23화 우리 회사의 작은 …배 이야기 23화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:49:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #947"
        },
        {
          "time": "05:49:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:49:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 24화 우리 회사의 작은 …배 이야기 24화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:50:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #948"
        },
        {
          "time": "05:50:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:50:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #949"
        },
        {
          "time": "05:50:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:51:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 25화 우리 회사의 작은 …배 이야기 25화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:51:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #950"
        },
        {
          "time": "05:51:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:51:21",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 54.7화 우리 회사의 작은 …이야기 54.7화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:51:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #951"
        },
        {
          "time": "05:51:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:52:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #952"
        },
        {
          "time": "05:52:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:52:29",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 92.5화 우리 회사의 작은 …이야기 92.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:10:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #166"
        },
        {
          "time": "19:10:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:10:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 - 사이소우 | 뉴토끼, links=174"
        },
        {
          "time": "19:11:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #167"
        },
        {
          "time": "19:11:06",
          "message": "작품 제목: 우리 회사의 작은 선배 이야기 - 사이소우"
        },
        {
          "time": "19:11:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:11:06",
          "message": "메타데이터 태그 저장: 사이소우, 우리 회사의 작은 선배 이야기"
        },
        {
          "time": "19:11:06",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "19:11:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 4화 우리 회사의 작은 …선배 이야기 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:11:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #168"
        },
        {
          "time": "19:11:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:11:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 5화 우리 회사의 작은 …선배 이야기 5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:12:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #169"
        },
        {
          "time": "19:12:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:12:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #170"
        },
        {
          "time": "19:12:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:12:53",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 6화 우리 회사의 작은 …선배 이야기 6화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:12:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #171"
        },
        {
          "time": "19:12:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:13:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 23화 우리 회사의 작은 …배 이야기 23화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:13:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #172"
        },
        {
          "time": "19:13:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:13:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 24화 우리 회사의 작은 …배 이야기 24화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:15:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #173"
        },
        {
          "time": "19:15:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:15:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #174"
        },
        {
          "time": "19:15:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:15:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #175"
        },
        {
          "time": "19:15:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:16:08",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 54.7화 우리 회사의 작은 …이야기 54.7화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:16:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #176"
        },
        {
          "time": "19:16:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:17:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 92.5화 우리 회사의 작은 …이야기 92.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:17:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #177"
        },
        {
          "time": "19:17:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:17:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 25화 우리 회사의 작은 …배 이야기 25화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:08:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #508"
        },
        {
          "time": "12:08:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:09:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 - 사이소우 | 뉴토끼, links=174"
        },
        {
          "time": "12:09:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #509"
        },
        {
          "time": "12:10:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:10:16",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 4화 우리 회사의 작은 …선배 이야기 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:10:17",
          "message": "작품 제목: 우리 회사의 작은 선배 이야기 - 사이소우"
        },
        {
          "time": "12:10:17",
          "message": "메타데이터 태그 저장: 사이소우, 우리 회사의 작은 선배 이야기"
        },
        {
          "time": "12:10:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #510"
        },
        {
          "time": "12:10:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:10:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 5화 우리 회사의 작은 …선배 이야기 5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:10:52",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "12:10:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #511"
        },
        {
          "time": "12:10:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:11:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 6화 우리 회사의 작은 …선배 이야기 6화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:11:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #512"
        },
        {
          "time": "12:11:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:11:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 23화 우리 회사의 작은 …배 이야기 23화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:12:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #513"
        },
        {
          "time": "12:12:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:12:42",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 24화 우리 회사의 작은 …배 이야기 24화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:12:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #514"
        },
        {
          "time": "12:12:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:12:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 25화 우리 회사의 작은 …배 이야기 25화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:12:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #515"
        },
        {
          "time": "12:12:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:13:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 54.7화 우리 회사의 작은 …이야기 54.7화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:13:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #516"
        },
        {
          "time": "12:13:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:14:11",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 92.5화 우리 회사의 작은 …이야기 92.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:15:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #932"
        },
        {
          "time": "04:15:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:15:30",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:15:30",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:15:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #933"
        },
        {
          "time": "04:15:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:15:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 - 사이소우 | 뉴토끼, links=174"
        },
        {
          "time": "04:15:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #934"
        },
        {
          "time": "04:15:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:15:51",
          "message": "작품 제목: 우리 회사의 작은 선배 이야기 - 사이소우"
        },
        {
          "time": "04:15:52",
          "message": "메타데이터 태그 저장: 사이소우, 우리 회사의 작은 선배 이야기"
        },
        {
          "time": "04:15:53",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "04:16:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #935"
        },
        {
          "time": "04:16:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:17:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #936"
        },
        {
          "time": "04:17:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:17:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 5화 우리 회사의 작은 …선배 이야기 5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "04:17:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #937"
        },
        {
          "time": "04:17:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:17:27",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 6화 우리 회사의 작은 …선배 이야기 6화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "04:17:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #938"
        },
        {
          "time": "04:17:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:18:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 23화 우리 회사의 작은 …배 이야기 23화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "04:18:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #939"
        },
        {
          "time": "04:18:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:18:43",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 24화 우리 회사의 작은 …배 이야기 24화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "04:19:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #940"
        },
        {
          "time": "04:19:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:19:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 25화 우리 회사의 작은 …배 이야기 25화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "04:19:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #941"
        },
        {
          "time": "04:19:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:20:05",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 54.7화 우리 회사의 작은 …이야기 54.7화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "04:20:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #942"
        },
        {
          "time": "04:20:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:20:15",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 92.5화 우리 회사의 작은 …이야기 92.5화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "04:20:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #943"
        },
        {
          "time": "04:20:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:20:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=우리 회사의 작은 선배 이야기 4화 우리 회사의 작은 …선배 이야기 4화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 8)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_22908",
        "target_id": "manhwa_22908",
        "title": "우리 회사의 작은 선배 이야기 - 사이소우",
        "episodes_found": 172,
        "episodes_processed": 8,
        "episodes_failed": 0,
        "episodes_skipped": 164,
        "images_found": 16,
        "images_downloaded": 0,
        "images_skipped": 16,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_22908",
          "title": "우리 회사의 작은 선배 이야기 - 사이소우",
          "list_url": "https://newtoki1.org/manhwa/22908",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/22908"
          },
          "tags": [
            "사이소우",
            "우리 회사의 작은 선배 이야기"
          ],
          "description": "신입 사원 시노자키와 같은 부서의 카타세 선배는 키가 작고 귀여운 거유 누님.거기다 칭찬을 잘하는 후배를 생각해주는 선배.어떤 때는 머리를 쓰다듬어 주고, 세상에서 가장 당하고 싶은 상냥한 갑질도?!이런 로리계 선배, 너무 좋은거 아닌가요?!",
          "metadata_path": "/downloads/manhwa_22908/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 8,
        "total": 8,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 8,
          "url": "https://newtoki1.org/manhwa/22908/214039",
          "title": "우리 회사의 작은 선배 이야기 4화 우리 회사의 작은 …선배 이야기 4화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 10,
          "url": "https://newtoki1.org/manhwa/22908/214102",
          "title": "우리 회사의 작은 선배 이야기 5화 우리 회사의 작은 …선배 이야기 5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 12,
          "url": "https://newtoki1.org/manhwa/22908/214300",
          "title": "우리 회사의 작은 선배 이야기 6화 우리 회사의 작은 …선배 이야기 6화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 46,
          "url": "https://newtoki1.org/manhwa/22908/218250",
          "title": "우리 회사의 작은 선배 이야기 23화 우리 회사의 작은 …배 이야기 23화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 48,
          "url": "https://newtoki1.org/manhwa/22908/218437",
          "title": "우리 회사의 작은 선배 이야기 24화 우리 회사의 작은 …배 이야기 24화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 50,
          "url": "https://newtoki1.org/manhwa/22908/218853",
          "title": "우리 회사의 작은 선배 이야기 25화 우리 회사의 작은 …배 이야기 25화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 92,
          "url": "https://newtoki1.org/manhwa/22908/1679832",
          "title": "우리 회사의 작은 선배 이야기 54.7화 우리 회사의 작은 …이야기 54.7화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 142,
          "url": "https://newtoki1.org/manhwa/22908/1767059",
          "title": "우리 회사의 작은 선배 이야기 92.5화 우리 회사의 작은 …이야기 92.5화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "a0fd13fc31",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:20:41",
      "started_at": "2026-06-04T04:13:11",
      "finished_at": "2026-06-04T04:14:34",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "묘쌤은 이렇게 말했다 - 무데키 소다",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/34350",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_34350",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "22:49:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/004.jpg"
        },
        {
          "time": "22:49:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/005.jpg"
        },
        {
          "time": "22:49:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/006.jpg"
        },
        {
          "time": "22:49:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/007.jpg"
        },
        {
          "time": "22:49:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/008.jpg"
        },
        {
          "time": "22:49:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/009.jpg"
        },
        {
          "time": "22:49:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/010.jpg"
        },
        {
          "time": "22:49:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/011.jpg"
        },
        {
          "time": "22:49:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/012.jpg"
        },
        {
          "time": "22:49:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/013.jpg"
        },
        {
          "time": "22:49:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/014.jpg"
        },
        {
          "time": "22:49:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/015.jpg"
        },
        {
          "time": "22:49:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/016.jpg"
        },
        {
          "time": "22:49:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/017.jpg"
        },
        {
          "time": "22:49:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/018.jpg"
        },
        {
          "time": "22:49:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/019.jpg"
        },
        {
          "time": "22:49:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/020.jpg"
        },
        {
          "time": "22:49:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/021.jpg"
        },
        {
          "time": "22:49:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_109/022.jpg"
        },
        {
          "time": "22:49:39",
          "message": "  [>] 이미지 22개 처리 완료.\n"
        },
        {
          "time": "22:49:40",
          "message": "완료: 회차 109개 처리, 이미지 1458개 저장, 0개 건너뜀"
        },
        {
          "time": "01:38:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-14T01:38:37"
        },
        {
          "time": "01:38:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:30:47",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "03:31:24",
          "message": "기존 완료 기록을 적용합니다: 108개 회차"
        },
        {
          "time": "03:31:24",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "03:31:24",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "03:31:25",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "03:31:25",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/34350"
        },
        {
          "time": "03:31:25",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34350"
        },
        {
          "time": "03:31:31",
          "message": "작품 제목: 묘쌤은 이렇게 말했다 - 무데키 소다"
        },
        {
          "time": "03:31:31",
          "message": "기존 완료 회차 108개 제외"
        },
        {
          "time": "03:31:31",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "03:31:31",
          "message": "총 109개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "03:31:31",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/34350/1785926"
        },
        {
          "time": "03:31:31",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34350/1785926"
        },
        {
          "time": "03:31:37",
          "message": "  [i] 회차 제목: 묘쌤은 이렇게 말했다 78화"
        },
        {
          "time": "03:31:37",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/001.jpg"
        },
        {
          "time": "03:31:37",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/002.jpg"
        },
        {
          "time": "03:31:38",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/003.jpg"
        },
        {
          "time": "03:31:38",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/004.jpg"
        },
        {
          "time": "03:31:38",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/005.jpg"
        },
        {
          "time": "03:31:38",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/006.jpg"
        },
        {
          "time": "03:31:38",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/007.jpg"
        },
        {
          "time": "03:31:38",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/008.jpg"
        },
        {
          "time": "03:31:39",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/009.jpg"
        },
        {
          "time": "03:31:39",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/010.jpg"
        },
        {
          "time": "03:31:39",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/011.jpg"
        },
        {
          "time": "03:31:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_34350/ep_085/012.jpg"
        },
        {
          "time": "03:31:41",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/013.jpg"
        },
        {
          "time": "03:31:41",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34350/ep_085/014.jpg"
        },
        {
          "time": "03:31:41",
          "message": "  [>] 이미지 14개 처리 완료.\n"
        },
        {
          "time": "03:31:42",
          "message": "완료: 회차 1개 처리, 이미지 1개 저장, 13개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "16:31:32",
          "message": "대기열 순서를 변경했습니다: 88 -> 87"
        },
        {
          "time": "16:31:34",
          "message": "대기열 순서를 변경했습니다: 87 -> 86"
        },
        {
          "time": "16:31:34",
          "message": "대기열 순서를 변경했습니다: 86 -> 85"
        },
        {
          "time": "16:31:34",
          "message": "대기열 순서를 변경했습니다: 85 -> 84"
        },
        {
          "time": "16:31:34",
          "message": "대기열 순서를 변경했습니다: 84 -> 83"
        },
        {
          "time": "16:31:34",
          "message": "대기열 순서를 변경했습니다: 83 -> 82"
        },
        {
          "time": "16:31:34",
          "message": "대기열 순서를 변경했습니다: 82 -> 81"
        },
        {
          "time": "16:31:39",
          "message": "대기열 순서를 변경했습니다: 81 -> 80"
        },
        {
          "time": "16:31:40",
          "message": "대기열 순서를 변경했습니다: 80 -> 79"
        },
        {
          "time": "16:31:40",
          "message": "대기열 순서를 변경했습니다: 79 -> 78"
        },
        {
          "time": "16:31:41",
          "message": "대기열 순서를 변경했습니다: 78 -> 77"
        },
        {
          "time": "16:31:41",
          "message": "대기열 순서를 변경했습니다: 77 -> 76"
        },
        {
          "time": "16:31:41",
          "message": "대기열 순서를 변경했습니다: 76 -> 75"
        },
        {
          "time": "16:31:42",
          "message": "대기열 순서를 변경했습니다: 75 -> 74"
        },
        {
          "time": "16:31:42",
          "message": "대기열 순서를 변경했습니다: 74 -> 73"
        },
        {
          "time": "16:31:43",
          "message": "대기열 순서를 변경했습니다: 73 -> 72"
        },
        {
          "time": "01:43:27",
          "message": "대기열 순서를 변경했습니다: 67 -> 66"
        },
        {
          "time": "01:43:28",
          "message": "대기열 순서를 변경했습니다: 66 -> 65"
        },
        {
          "time": "01:43:28",
          "message": "대기열 순서를 변경했습니다: 65 -> 64"
        },
        {
          "time": "01:43:29",
          "message": "대기열 순서를 변경했습니다: 64 -> 63"
        },
        {
          "time": "01:43:29",
          "message": "대기열 순서를 변경했습니다: 63 -> 62"
        },
        {
          "time": "01:43:29",
          "message": "대기열 순서를 변경했습니다: 62 -> 61"
        },
        {
          "time": "01:43:29",
          "message": "대기열 순서를 변경했습니다: 61 -> 60"
        },
        {
          "time": "01:44:08",
          "message": "대기열 순서를 변경했습니다: 61 -> 60"
        },
        {
          "time": "01:44:08",
          "message": "대기열 순서를 변경했습니다: 60 -> 59"
        },
        {
          "time": "01:44:08",
          "message": "대기열 순서를 변경했습니다: 59 -> 58"
        },
        {
          "time": "01:44:08",
          "message": "대기열 순서를 변경했습니다: 58 -> 57"
        },
        {
          "time": "01:44:08",
          "message": "대기열 순서를 변경했습니다: 57 -> 56"
        },
        {
          "time": "01:44:09",
          "message": "대기열 순서를 변경했습니다: 56 -> 55"
        },
        {
          "time": "01:44:09",
          "message": "대기열 순서를 변경했습니다: 55 -> 54"
        },
        {
          "time": "01:44:09",
          "message": "대기열 순서를 변경했습니다: 54 -> 53"
        },
        {
          "time": "01:44:10",
          "message": "대기열 순서를 변경했습니다: 53 -> 52"
        },
        {
          "time": "07:18:19",
          "message": "대기열 순서를 변경했습니다: 51 -> 1"
        },
        {
          "time": "09:23:23",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "09:24:33",
          "message": "기존 완료 기록을 적용합니다: 109개 회차"
        },
        {
          "time": "09:24:33",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "09:24:33",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "09:24:33",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "09:24:33",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "09:24:33",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/34350"
        },
        {
          "time": "09:24:33",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34350"
        },
        {
          "time": "09:24:39",
          "message": "작품 제목: 묘쌤은 이렇게 말했다 - 무데키 소다"
        },
        {
          "time": "09:24:39",
          "message": "메타데이터 저장: /downloads/manhwa_34350/metadata.yaml"
        },
        {
          "time": "09:24:39",
          "message": "메타데이터 태그 저장: 묘쌤은 이렇게 말했다, 무데키 소다"
        },
        {
          "time": "09:24:39",
          "message": "기존 완료 회차 109개 제외"
        },
        {
          "time": "09:24:40",
          "message": "총 109개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "09:24:40",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:33:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:33:53",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:44:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:43:59"
        },
        {
          "time": "06:44:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:44:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:02:47",
          "message": "작품 제목: 34350"
        },
        {
          "time": "13:12:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:12:49"
        },
        {
          "time": "13:12:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:12:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:18:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "17:18:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:18:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=묘쌤은 이렇게 말했다 - 무데키 소다 | 뉴토끼, links=111"
        },
        {
          "time": "17:18:39",
          "message": "작품 제목: 묘쌤은 이렇게 말했다 - 무데키 소다"
        },
        {
          "time": "17:18:40",
          "message": "메타데이터 태그 저장: 묘쌤은 이렇게 말했다, 무데키 소다"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:53:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #953"
        },
        {
          "time": "05:53:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:53:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=묘쌤은 이렇게 말했다 - 무데키 소다 | 뉴토끼, links=111"
        },
        {
          "time": "05:53:16",
          "message": "작품 제목: 묘쌤은 이렇게 말했다 - 무데키 소다"
        },
        {
          "time": "05:53:50",
          "message": "메타데이터 태그 저장: 묘쌤은 이렇게 말했다, 무데키 소다"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:10:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #165"
        },
        {
          "time": "19:10:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:10:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=묘쌤은 이렇게 말했다 - 무데키 소다 | 뉴토끼, links=111"
        },
        {
          "time": "19:10:20",
          "message": "작품 제목: 묘쌤은 이렇게 말했다 - 무데키 소다"
        },
        {
          "time": "19:10:20",
          "message": "메타데이터 태그 저장: 묘쌤은 이렇게 말했다, 무데키 소다"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:14:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #517"
        },
        {
          "time": "12:14:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:15:38",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:15:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #518"
        },
        {
          "time": "12:15:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:15:47",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=묘쌤은 이렇게 말했다 - 무데키 소다 | 뉴토끼, links=111"
        },
        {
          "time": "12:16:20",
          "message": "작품 제목: 묘쌤은 이렇게 말했다 - 무데키 소다"
        },
        {
          "time": "12:16:20",
          "message": "메타데이터 태그 저장: 묘쌤은 이렇게 말했다, 무데키 소다"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:13:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #930"
        },
        {
          "time": "04:13:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:14:17",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:14:18",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:14:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #931"
        },
        {
          "time": "04:14:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:14:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=묘쌤은 이렇게 말했다 - 무데키 소다 | 뉴토끼, links=111"
        },
        {
          "time": "04:14:33",
          "message": "작품 제목: 묘쌤은 이렇게 말했다 - 무데키 소다"
        },
        {
          "time": "04:14:33",
          "message": "메타데이터 태그 저장: 묘쌤은 이렇게 말했다, 무데키 소다"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34350",
        "target_id": "manhwa_34350",
        "title": "묘쌤은 이렇게 말했다 - 무데키 소다",
        "episodes_found": 109,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 109,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34350",
          "title": "묘쌤은 이렇게 말했다 - 무데키 소다",
          "list_url": "https://newtoki1.org/manhwa/34350",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34350"
          },
          "tags": [
            "묘쌤은 이렇게 말했다",
            "무데키 소다"
          ],
          "description": "어느 고등학교의 `보건실 선생님`인 사사후나 미요카는 학생들의 좋은 상담역.매일같이 이것저것 고민이 뛰어들지만… 그곳은 역시 사춘기를 맞이하는 고등학생들.외길로는 안 되는 어려운 문제 투성이! 아오캉은 해본적 있어?` `남자친구는 어느 팬티를 좋아할까?` 등 얼굴이 붉어질 수밖에 없는",
          "metadata_path": "/downloads/manhwa_34350/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 109,
        "total": 109,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "993fb454cb",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:20:23",
      "started_at": "2026-06-04T04:11:44",
      "finished_at": "2026-06-04T04:13:11",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "딸이 아니라 나를 좋아하는 거야!? - 노조미 코타",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/24943",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_24943",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "03:24:15",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:48:58",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:48:07",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T14:48:06"
        },
        {
          "time": "14:48:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:47",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:18:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:19:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:19:52"
        },
        {
          "time": "15:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:42:54",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "15:44:12",
          "message": "기존 완료 기록을 적용합니다: 154개 회차"
        },
        {
          "time": "15:44:12",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:44:13",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:44:13",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:44:13",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:44:14",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "15:44:14",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "15:44:36",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/24943\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "15:57:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T15:57:17"
        },
        {
          "time": "15:57:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:57:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:06:25",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "00:07:43",
          "message": "기존 완료 기록을 적용합니다: 154개 회차"
        },
        {
          "time": "00:07:43",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "00:07:43",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:07:43",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:07:43",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:07:43",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "00:07:43",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "00:08:03",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/24943\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "00:18:08",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T00:18:07"
        },
        {
          "time": "00:18:08",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:18:08",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:01:59",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "02:03:16",
          "message": "기존 완료 기록을 적용합니다: 154개 회차"
        },
        {
          "time": "02:03:16",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "02:03:16",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "02:03:16",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "02:03:16",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "02:03:16",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "02:03:16",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "02:03:36",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/24943\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "02:13:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T02:13:45"
        },
        {
          "time": "02:13:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:13:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:19:26",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "05:20:50",
          "message": "기존 완료 기록을 적용합니다: 154개 회차"
        },
        {
          "time": "05:20:50",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "05:20:50",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "05:20:50",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "05:20:50",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "05:20:51",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "05:20:51",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "05:21:12",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/24943\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "05:31:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T05:31:45"
        },
        {
          "time": "05:31:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:31:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "21:31:57",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "21:33:26",
          "message": "기존 완료 기록을 적용합니다: 154개 회차"
        },
        {
          "time": "21:33:26",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "21:33:26",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "21:33:26",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "21:33:26",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "21:33:26",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "21:33:26",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "21:33:40",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "21:33:43",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "21:33:43",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "21:33:43",
          "message": "메타데이터 저장: /downloads/manhwa_24943/metadata.yaml"
        },
        {
          "time": "21:33:43",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "21:33:43",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "21:44:32",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T21:44:31"
        },
        {
          "time": "21:44:32",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:44:32",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:00:48",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "23:02:15",
          "message": "기존 완료 기록을 적용합니다: 154개 회차"
        },
        {
          "time": "23:02:15",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "23:02:15",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "23:02:15",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "23:02:15",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "23:02:15",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "23:02:15",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "23:02:29",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "23:02:32",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "23:02:32",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "23:02:32",
          "message": "메타데이터 저장: /downloads/manhwa_24943/metadata.yaml"
        },
        {
          "time": "23:02:32",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "23:02:32",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "23:13:28",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T23:13:27"
        },
        {
          "time": "23:13:28",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:13:28",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:37:10",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "00:38:51",
          "message": "기존 완료 기록을 적용합니다: 154개 회차"
        },
        {
          "time": "00:38:51",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "00:38:51",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:38:51",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:38:51",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:38:51",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "00:38:51",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/24943"
        },
        {
          "time": "00:39:09",
          "message": "작품 제목: 딸이 아니라 나를 좋아하는 거야!? - 노조미 코타"
        },
        {
          "time": "00:39:09",
          "message": "메타데이터 저장: /downloads/manhwa_24943/metadata.yaml"
        },
        {
          "time": "00:39:09",
          "message": "메타데이터 태그 저장: 노조미 코타, 딸이 아니라 나를 좋아하는 거야!?"
        },
        {
          "time": "00:39:09",
          "message": "기존 완료 회차 154개 제외"
        },
        {
          "time": "00:39:10",
          "message": "총 154개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "00:39:10",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:06:32",
          "message": "작품 제목: 24943"
        },
        {
          "time": "06:17:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:17:12"
        },
        {
          "time": "06:17:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:17:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:02:06",
          "message": "작품 제목: 24943"
        },
        {
          "time": "13:12:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:12:09"
        },
        {
          "time": "13:12:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:12:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:17:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "17:17:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:17:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=딸이 아니라 나를 좋아하는 거야!? - 노조미 코타 | 뉴토끼, links=156"
        },
        {
          "time": "17:18:24",
          "message": "작품 제목: 딸이 아니라 나를 좋아하는 거야!? - 노조미 코타"
        },
        {
          "time": "17:18:24",
          "message": "메타데이터 태그 저장: 노조미 코타, 딸이 아니라 나를 좋아하는 거야!?"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:53:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #954"
        },
        {
          "time": "05:53:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:54:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=딸이 아니라 나를 좋아하는 거야!? - 노조미 코타 | 뉴토끼, links=156"
        },
        {
          "time": "05:54:06",
          "message": "작품 제목: 딸이 아니라 나를 좋아하는 거야!? - 노조미 코타"
        },
        {
          "time": "05:54:06",
          "message": "메타데이터 태그 저장: 노조미 코타, 딸이 아니라 나를 좋아하는 거야!?"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:08:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #164"
        },
        {
          "time": "19:08:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:09:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=딸이 아니라 나를 좋아하는 거야!? - 노조미 코타 | 뉴토끼, links=156"
        },
        {
          "time": "19:09:03",
          "message": "작품 제목: 딸이 아니라 나를 좋아하는 거야!? - 노조미 코타"
        },
        {
          "time": "19:09:03",
          "message": "메타데이터 태그 저장: 노조미 코타, 딸이 아니라 나를 좋아하는 거야!?"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:16:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #519"
        },
        {
          "time": "12:16:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:17:15",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:17:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #520"
        },
        {
          "time": "12:17:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:17:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=딸이 아니라 나를 좋아하는 거야!? - 노조미 코타 | 뉴토끼, links=156"
        },
        {
          "time": "12:17:57",
          "message": "작품 제목: 딸이 아니라 나를 좋아하는 거야!? - 노조미 코타"
        },
        {
          "time": "12:17:57",
          "message": "메타데이터 태그 저장: 노조미 코타, 딸이 아니라 나를 좋아하는 거야!?"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:12:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #929"
        },
        {
          "time": "04:12:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:13:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=딸이 아니라 나를 좋아하는 거야!? - 노조미 코타 | 뉴토끼, links=156"
        },
        {
          "time": "04:13:09",
          "message": "작품 제목: 딸이 아니라 나를 좋아하는 거야!? - 노조미 코타"
        },
        {
          "time": "04:13:10",
          "message": "메타데이터 태그 저장: 노조미 코타, 딸이 아니라 나를 좋아하는 거야!?"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_24943",
        "target_id": "manhwa_24943",
        "title": "딸이 아니라 나를 좋아하는 거야!? - 노조미 코타",
        "episodes_found": 154,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 154,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_24943",
          "title": "딸이 아니라 나를 좋아하는 거야!? - 노조미 코타",
          "list_url": "https://newtoki1.org/manhwa/24943",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/24943"
          },
          "tags": [
            "노조미 코타",
            "딸이 아니라 나를 좋아하는 거야!?"
          ],
          "description": "얘는 내가 맡아서 키울게요. 나, 카츠라기 아야코, 34살. 죽은 언니 부부의 딸을 데려온지 벌써 10년. 고등학생이 된 딸은, 요즘은 소꿉친구인 남자아이, 아테라자와 타쿠미와 느낌이 좋아. 어쩌면 사귀어 버릴지도? 탓군은 굉장히 좋은 아이고, 나는 대찬성이라니까. 네? 그가 나에게 할",
          "metadata_path": "/downloads/manhwa_24943/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 154,
        "total": 154,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "8a28ab7d02",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:20:05",
      "started_at": "2026-06-04T04:10:28",
      "finished_at": "2026-06-04T04:11:44",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "첫 갸루 - 우에노 메구루",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3158",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3158",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "14:48:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:47",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:18:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:19:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:19:52"
        },
        {
          "time": "15:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:40:28",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "15:41:44",
          "message": "기존 완료 기록을 적용합니다: 203개 회차"
        },
        {
          "time": "15:41:44",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:41:44",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:41:44",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:41:44",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:41:44",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "15:41:44",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "15:42:50",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/3158\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "15:57:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T15:57:17"
        },
        {
          "time": "15:57:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:57:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:04:44",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "00:06:04",
          "message": "기존 완료 기록을 적용합니다: 203개 회차"
        },
        {
          "time": "00:06:04",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "00:06:04",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:06:04",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:06:04",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:06:04",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "00:06:05",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "00:06:25",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/3158\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "00:16:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T00:16:27"
        },
        {
          "time": "00:16:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:16:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:00:17",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "02:01:38",
          "message": "기존 완료 기록을 적용합니다: 203개 회차"
        },
        {
          "time": "02:01:38",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "02:01:38",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "02:01:38",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "02:01:38",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "02:01:38",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "02:01:38",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "02:01:58",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/3158\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "02:12:06",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T02:12:06"
        },
        {
          "time": "02:12:06",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:12:06",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:17:48",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "05:19:05",
          "message": "기존 완료 기록을 적용합니다: 203개 회차"
        },
        {
          "time": "05:19:05",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "05:19:05",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "05:19:05",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "05:19:05",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "05:19:05",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "05:19:05",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "05:19:26",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/3158\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "05:29:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T05:29:48"
        },
        {
          "time": "05:29:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:29:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "21:30:12",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "21:31:40",
          "message": "기존 완료 기록을 적용합니다: 203개 회차"
        },
        {
          "time": "21:31:40",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "21:31:40",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "21:31:40",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "21:31:40",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "21:31:40",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "21:31:40",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "21:31:53",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "21:31:56",
          "message": "Cloudflare challenge 통과 대기 완료: 3.1초"
        },
        {
          "time": "21:31:56",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "21:31:56",
          "message": "메타데이터 저장: /downloads/manhwa_3158/metadata.yaml"
        },
        {
          "time": "21:31:57",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "21:31:57",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "21:42:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T21:42:41"
        },
        {
          "time": "21:42:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "21:42:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "22:59:01",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "23:00:31",
          "message": "기존 완료 기록을 적용합니다: 203개 회차"
        },
        {
          "time": "23:00:31",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "23:00:31",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "23:00:31",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "23:00:31",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "23:00:31",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "23:00:31",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "23:00:44",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "23:00:48",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "23:00:48",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "23:00:48",
          "message": "메타데이터 저장: /downloads/manhwa_3158/metadata.yaml"
        },
        {
          "time": "23:00:48",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "23:00:48",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "23:11:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T23:11:42"
        },
        {
          "time": "23:11:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:11:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:35:17",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "00:36:52",
          "message": "기존 완료 기록을 적용합니다: 203개 회차"
        },
        {
          "time": "00:36:52",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "00:36:52",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:36:52",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:36:52",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:36:52",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "00:36:52",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3158"
        },
        {
          "time": "00:37:10",
          "message": "작품 제목: 첫 갸루 - 우에노 메구루"
        },
        {
          "time": "00:37:10",
          "message": "메타데이터 저장: /downloads/manhwa_3158/metadata.yaml"
        },
        {
          "time": "00:37:10",
          "message": "메타데이터 태그 저장: 우에노 메구루, 첫 갸루"
        },
        {
          "time": "00:37:10",
          "message": "기존 완료 회차 203개 제외"
        },
        {
          "time": "00:37:10",
          "message": "총 203개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "00:37:10",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:07:23",
          "message": "작품 제목: 3158"
        },
        {
          "time": "06:18:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:18:03"
        },
        {
          "time": "06:18:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:18:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:01:28",
          "message": "작품 제목: 3158"
        },
        {
          "time": "13:11:33",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:11:33"
        },
        {
          "time": "13:11:33",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:33",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:17:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "17:17:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:17:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=첫 갸루 - 우에노 메구루 | 뉴토끼, links=205"
        },
        {
          "time": "17:17:29",
          "message": "작품 제목: 첫 갸루 - 우에노 메구루"
        },
        {
          "time": "17:17:29",
          "message": "메타데이터 태그 저장: 우에노 메구루, 첫 갸루"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:54:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #955"
        },
        {
          "time": "05:54:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:54:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=첫 갸루 - 우에노 메구루 | 뉴토끼, links=205"
        },
        {
          "time": "05:55:27",
          "message": "작품 제목: 첫 갸루 - 우에노 메구루"
        },
        {
          "time": "05:55:27",
          "message": "메타데이터 태그 저장: 우에노 메구루, 첫 갸루"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:08:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #163"
        },
        {
          "time": "19:08:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:08:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=첫 갸루 - 우에노 메구루 | 뉴토끼, links=205"
        },
        {
          "time": "19:08:48",
          "message": "작품 제목: 첫 갸루 - 우에노 메구루"
        },
        {
          "time": "19:08:48",
          "message": "메타데이터 태그 저장: 우에노 메구루, 첫 갸루"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:17:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #521"
        },
        {
          "time": "12:17:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:18:52",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:18:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #522"
        },
        {
          "time": "12:18:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:19:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=첫 갸루 - 우에노 메구루 | 뉴토끼, links=205"
        },
        {
          "time": "12:19:06",
          "message": "작품 제목: 첫 갸루 - 우에노 메구루"
        },
        {
          "time": "12:19:07",
          "message": "메타데이터 태그 저장: 우에노 메구루, 첫 갸루"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:11:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #927"
        },
        {
          "time": "04:11:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:11:25",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:11:26",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:11:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #928"
        },
        {
          "time": "04:11:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:11:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=첫 갸루 - 우에노 메구루 | 뉴토끼, links=205"
        },
        {
          "time": "04:11:42",
          "message": "작품 제목: 첫 갸루 - 우에노 메구루"
        },
        {
          "time": "04:11:43",
          "message": "메타데이터 태그 저장: 우에노 메구루, 첫 갸루"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3158",
        "target_id": "manhwa_3158",
        "title": "첫 갸루 - 우에노 메구루",
        "episodes_found": 203,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 203,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3158",
          "title": "첫 갸루 - 우에노 메구루",
          "list_url": "https://newtoki1.org/manhwa/3158",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3158"
          },
          "tags": [
            "우에노 메구루",
            "첫 갸루"
          ],
          "description": "고교 입학과 동시에 여자친구를 사귈 수 있을 거라는 기대에 부풀어 있던 하시바 쥰이치. 하지만 사방에 늘어선 연인들과 달리 자신과 친구들은 2학년이 되도록 외로운 솔로를 면치 못하고 있다. 그러던 어느날 친구들과 제비 뽑기(사다리타기) 를 하여 걸린 사람이 같은 반의 갸루 걸, ‘야메",
          "metadata_path": "/downloads/manhwa_3158/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 203,
        "total": 203,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "478225ca28",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:19:42",
      "started_at": "2026-06-04T04:07:44",
      "finished_at": "2026-06-04T04:10:28",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "가르쳐줘! 갸루코쨩 - 스즈키 켄야",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/3837",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_3837",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "15:40:05",
          "message": "기존 완료 기록을 적용합니다: 50개 회차"
        },
        {
          "time": "15:40:05",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:40:05",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:40:05",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:40:05",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:40:05",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3837"
        },
        {
          "time": "15:40:05",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3837"
        },
        {
          "time": "15:40:26",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/3837\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/3837"
        },
        {
          "time": "15:50:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T15:50:34"
        },
        {
          "time": "15:50:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:50:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:03:03",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "00:04:23",
          "message": "기존 완료 기록을 적용합니다: 50개 회차"
        },
        {
          "time": "00:04:23",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "00:04:23",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:04:23",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:04:23",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:04:23",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3837"
        },
        {
          "time": "00:04:23",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3837"
        },
        {
          "time": "00:04:43",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/3837\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/3837"
        },
        {
          "time": "00:14:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T00:14:45"
        },
        {
          "time": "00:14:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:14:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:58:37",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "01:59:56",
          "message": "기존 완료 기록을 적용합니다: 50개 회차"
        },
        {
          "time": "01:59:56",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "01:59:56",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "01:59:56",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "01:59:56",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "01:59:56",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3837"
        },
        {
          "time": "01:59:57",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3837"
        },
        {
          "time": "02:00:17",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/3837\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/3837"
        },
        {
          "time": "02:10:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T02:10:24"
        },
        {
          "time": "02:10:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:10:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:16:15",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "05:17:21",
          "message": "기존 완료 기록을 적용합니다: 50개 회차"
        },
        {
          "time": "05:17:21",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "05:17:21",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "05:17:21",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "05:17:21",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "05:17:21",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/3837"
        },
        {
          "time": "05:17:21",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/3837"
        },
        {
          "time": "05:17:47",
          "message": "작품 제목: 가르쳐줘! 갸루코쨩 - 스즈키 켄야"
        },
        {
          "time": "05:17:47",
          "message": "메타데이터 저장: /downloads/manhwa_3837/metadata.yaml"
        },
        {
          "time": "05:17:47",
          "message": "메타데이터 태그 저장: 가르쳐줘! 갸루코쨩, 스즈키 켄야"
        },
        {
          "time": "05:17:47",
          "message": "기존 완료 회차 50개 제외"
        },
        {
          "time": "05:17:47",
          "message": "총 50개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "05:17:47",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:16:15",
          "message": "작품 제목: 3837"
        },
        {
          "time": "06:26:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:26:50"
        },
        {
          "time": "06:26:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:26:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:01:22",
          "message": "작품 제목: 3837"
        },
        {
          "time": "13:11:24",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:11:24"
        },
        {
          "time": "13:11:24",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:24",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:13:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "17:13:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:13:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 - 스즈키 켄야 | 뉴토끼, links=52"
        },
        {
          "time": "17:15:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "17:15:00",
          "message": "작품 제목: 가르쳐줘! 갸루코쨩 - 스즈키 켄야"
        },
        {
          "time": "17:15:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:15:00",
          "message": "메타데이터 태그 저장: 가르쳐줘! 갸루코쨩, 스즈키 켄야"
        },
        {
          "time": "17:15:00",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "17:15:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "17:15:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:15:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 68화 | 뉴토끼, images=27"
        },
        {
          "time": "17:16:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "17:16:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:16:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 69화 | 뉴토끼, images=27"
        },
        {
          "time": "17:16:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "17:16:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:17:02",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 71화 | 뉴토끼, images=27"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:55:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #956"
        },
        {
          "time": "05:55:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:56:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 - 스즈키 켄야 | 뉴토끼, links=52"
        },
        {
          "time": "05:56:07",
          "message": "작품 제목: 가르쳐줘! 갸루코쨩 - 스즈키 켄야"
        },
        {
          "time": "05:56:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #957"
        },
        {
          "time": "05:56:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:56:07",
          "message": "메타데이터 태그 저장: 가르쳐줘! 갸루코쨩, 스즈키 켄야"
        },
        {
          "time": "05:56:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 68화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:56:39",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "05:57:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #958"
        },
        {
          "time": "05:57:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:57:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #959"
        },
        {
          "time": "05:57:31",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:58:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 69화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:58:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #960"
        },
        {
          "time": "05:58:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:58:46",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 71화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:06:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #159"
        },
        {
          "time": "19:06:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:06:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 - 스즈키 켄야 | 뉴토끼, links=52"
        },
        {
          "time": "19:06:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #160"
        },
        {
          "time": "19:06:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:06:50",
          "message": "작품 제목: 가르쳐줘! 갸루코쨩 - 스즈키 켄야"
        },
        {
          "time": "19:06:50",
          "message": "메타데이터 태그 저장: 가르쳐줘! 갸루코쨩, 스즈키 켄야"
        },
        {
          "time": "19:06:50",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "19:06:59",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 68화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:07:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #161"
        },
        {
          "time": "19:07:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:07:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 69화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "19:07:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #162"
        },
        {
          "time": "19:07:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:08:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 71화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:19:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #523"
        },
        {
          "time": "12:19:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:20:00",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:20:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #524"
        },
        {
          "time": "12:20:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:20:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 - 스즈키 켄야 | 뉴토끼, links=52"
        },
        {
          "time": "12:20:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #525"
        },
        {
          "time": "12:20:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:20:45",
          "message": "작품 제목: 가르쳐줘! 갸루코쨩 - 스즈키 켄야"
        },
        {
          "time": "12:20:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 68화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:20:46",
          "message": "메타데이터 태그 저장: 가르쳐줘! 갸루코쨩, 스즈키 켄야"
        },
        {
          "time": "12:20:46",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "12:20:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #526"
        },
        {
          "time": "12:20:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:20:56",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 69화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "12:21:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #527"
        },
        {
          "time": "12:21:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:21:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 71화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:07:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #922"
        },
        {
          "time": "04:07:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:08:06",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:08:06",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:08:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #923"
        },
        {
          "time": "04:08:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:08:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 - 스즈키 켄야 | 뉴토끼, links=52"
        },
        {
          "time": "04:08:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #924"
        },
        {
          "time": "04:08:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:08:54",
          "message": "작품 제목: 가르쳐줘! 갸루코쨩 - 스즈키 켄야"
        },
        {
          "time": "04:08:55",
          "message": "메타데이터 태그 저장: 가르쳐줘! 갸루코쨩, 스즈키 켄야"
        },
        {
          "time": "04:08:56",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "04:09:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 68화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "04:09:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #925"
        },
        {
          "time": "04:09:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:09:51",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 69화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "04:09:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #926"
        },
        {
          "time": "04:09:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:10:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=가르쳐줘! 갸루코쨩 71화 | 뉴토끼, img_tags=28, image_urls=28"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 3)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_3837",
        "target_id": "manhwa_3837",
        "title": "가르쳐줘! 갸루코쨩 - 스즈키 켄야",
        "episodes_found": 50,
        "episodes_processed": 3,
        "episodes_failed": 0,
        "episodes_skipped": 47,
        "images_found": 6,
        "images_downloaded": 0,
        "images_skipped": 6,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_3837",
          "title": "가르쳐줘! 갸루코쨩 - 스즈키 켄야",
          "list_url": "https://newtoki1.org/manhwa/3837",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/3837"
          },
          "tags": [
            "가르쳐줘! 갸루코쨩",
            "스즈키 켄야"
          ],
          "description": "가르쳐줘! 라는 제목 그대로 만화의 에피소드마다 여러가지 질문들이 나오는 것이 특징. 그러나 올라오는 질문이란 것들은 대부분이...섹드립에 가깝다. 애니 시작때는 그 질문들이 노토 마미코의 목소리로 들리는데 청순가련한 목소리로 유명한 마미코의 나긋나긋하게 시모네타스러운 내용의 질문을 하",
          "metadata_path": "/downloads/manhwa_3837/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 3,
        "total": 3,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 43,
          "url": "https://newtoki1.org/manhwa/3837/27573",
          "title": "가르쳐줘! 갸루코쨩 68화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 44,
          "url": "https://newtoki1.org/manhwa/3837/27574",
          "title": "가르쳐줘! 갸루코쨩 69화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 46,
          "url": "https://newtoki1.org/manhwa/3837/27576",
          "title": "가르쳐줘! 갸루코쨩 71화",
          "status": "completed",
          "image_count": 2,
          "images_done": 2,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "3490d9684f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:19:27",
      "started_at": "2026-06-04T04:06:21",
      "finished_at": "2026-06-04T04:07:44",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "라이드 온 킹 - 바바 야스시",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/11507",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_11507",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "03:28:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/008.jpg"
        },
        {
          "time": "03:28:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/009.jpg"
        },
        {
          "time": "03:28:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/010.jpg"
        },
        {
          "time": "03:28:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/011.jpg"
        },
        {
          "time": "03:28:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/012.jpg"
        },
        {
          "time": "03:28:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/013.jpg"
        },
        {
          "time": "03:28:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/014.jpg"
        },
        {
          "time": "03:28:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/015.jpg"
        },
        {
          "time": "03:28:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/016.jpg"
        },
        {
          "time": "03:28:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/017.jpg"
        },
        {
          "time": "03:28:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/018.jpg"
        },
        {
          "time": "03:28:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/019.jpg"
        },
        {
          "time": "03:28:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/020.jpg"
        },
        {
          "time": "03:28:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/021.jpg"
        },
        {
          "time": "03:28:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/022.jpg"
        },
        {
          "time": "03:28:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/023.jpg"
        },
        {
          "time": "03:28:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/024.jpg"
        },
        {
          "time": "03:28:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/025.jpg"
        },
        {
          "time": "03:28:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/026.jpg"
        },
        {
          "time": "03:28:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/027.jpg"
        },
        {
          "time": "03:28:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/028.jpg"
        },
        {
          "time": "03:28:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/029.jpg"
        },
        {
          "time": "03:28:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/030.jpg"
        },
        {
          "time": "03:28:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/031.jpg"
        },
        {
          "time": "03:28:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/032.jpg"
        },
        {
          "time": "03:28:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/033.jpg"
        },
        {
          "time": "03:28:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_081/034.jpg"
        },
        {
          "time": "03:28:49",
          "message": "  [>] 이미지 34개 처리 완료.\n"
        },
        {
          "time": "03:28:50",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/11507/1764289"
        },
        {
          "time": "03:28:50",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11507/1764289"
        },
        {
          "time": "03:28:58",
          "message": "  [i] 회차 제목: 라이드 온 킹 57화"
        },
        {
          "time": "03:28:58",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/001.jpg"
        },
        {
          "time": "03:28:58",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/002.jpg"
        },
        {
          "time": "03:28:58",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/003.jpg"
        },
        {
          "time": "03:28:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/004.jpg"
        },
        {
          "time": "03:28:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/005.jpg"
        },
        {
          "time": "03:28:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/006.jpg"
        },
        {
          "time": "03:28:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/007.jpg"
        },
        {
          "time": "03:28:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/008.jpg"
        },
        {
          "time": "03:28:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/009.jpg"
        },
        {
          "time": "03:28:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/010.jpg"
        },
        {
          "time": "03:28:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/011.jpg"
        },
        {
          "time": "03:29:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/012.jpg"
        },
        {
          "time": "03:29:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/013.jpg"
        },
        {
          "time": "03:29:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/014.jpg"
        },
        {
          "time": "03:29:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/015.jpg"
        },
        {
          "time": "03:29:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/016.jpg"
        },
        {
          "time": "03:29:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/017.jpg"
        },
        {
          "time": "03:29:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/018.jpg"
        },
        {
          "time": "03:29:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/019.jpg"
        },
        {
          "time": "03:29:01",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/020.jpg"
        },
        {
          "time": "03:29:01",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/021.jpg"
        },
        {
          "time": "03:29:01",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/022.jpg"
        },
        {
          "time": "03:29:01",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/023.jpg"
        },
        {
          "time": "03:29:01",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/024.jpg"
        },
        {
          "time": "03:29:01",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/025.jpg"
        },
        {
          "time": "03:29:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_11507/ep_082/026.jpg"
        },
        {
          "time": "03:29:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/027.jpg"
        },
        {
          "time": "03:29:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/028.jpg"
        },
        {
          "time": "03:29:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/029.jpg"
        },
        {
          "time": "03:29:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/030.jpg"
        },
        {
          "time": "03:29:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/031.jpg"
        },
        {
          "time": "03:29:05",
          "message": "    [=] 이미 존재함: /downloads/manhwa_11507/ep_082/032.jpg"
        },
        {
          "time": "03:29:05",
          "message": "  [>] 이미지 32개 처리 완료.\n"
        },
        {
          "time": "03:29:06",
          "message": "완료: 회차 4개 처리, 이미지 66개 저장, 63개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "03:10:43",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "03:11:59",
          "message": "기존 완료 기록을 적용합니다: 107개 회차"
        },
        {
          "time": "03:11:59",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "03:11:59",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "03:11:59",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "03:11:59",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "03:11:59",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/11507"
        },
        {
          "time": "03:11:59",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/11507"
        },
        {
          "time": "03:11:59",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "03:12:02",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "03:12:02",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "03:12:02",
          "message": "메타데이터 저장: /downloads/manhwa_11507/metadata.yaml"
        },
        {
          "time": "03:12:02",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "03:12:03",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "03:22:57",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T03:22:56"
        },
        {
          "time": "03:22:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:22:57",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:48:58",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:48:07",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T14:48:06"
        },
        {
          "time": "14:48:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:47",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:18:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:19:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:19:52"
        },
        {
          "time": "15:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:36:53",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "15:38:10",
          "message": "기존 완료 기록을 적용합니다: 107개 회차"
        },
        {
          "time": "15:38:10",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:38:11",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:38:11",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:38:11",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:38:11",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/11507"
        },
        {
          "time": "15:38:11",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/11507"
        },
        {
          "time": "15:38:45",
          "message": "작품 제목: 라이드 온 킹 - 바바 야스시"
        },
        {
          "time": "15:38:45",
          "message": "메타데이터 저장: /downloads/manhwa_11507/metadata.yaml"
        },
        {
          "time": "15:38:46",
          "message": "메타데이터 태그 저장: 라이드 온 킹, 바바 야스시"
        },
        {
          "time": "15:38:46",
          "message": "기존 완료 회차 107개 제외"
        },
        {
          "time": "15:38:46",
          "message": "총 107개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "15:38:46",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:20:47",
          "message": "작품 제목: 11507"
        },
        {
          "time": "06:31:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:31:21"
        },
        {
          "time": "06:31:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:31:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:01:16",
          "message": "작품 제목: 11507"
        },
        {
          "time": "13:11:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:11:16"
        },
        {
          "time": "13:11:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:13:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "17:13:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:13:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=라이드 온 킹 - 바바 야스시 | 뉴토끼, links=109"
        },
        {
          "time": "17:13:41",
          "message": "작품 제목: 라이드 온 킹 - 바바 야스시"
        },
        {
          "time": "17:13:41",
          "message": "메타데이터 태그 저장: 라이드 온 킹, 바바 야스시"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:59:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #961"
        },
        {
          "time": "05:59:23",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:59:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=라이드 온 킹 - 바바 야스시 | 뉴토끼, links=109"
        },
        {
          "time": "05:59:37",
          "message": "작품 제목: 라이드 온 킹 - 바바 야스시"
        },
        {
          "time": "05:59:37",
          "message": "메타데이터 태그 저장: 라이드 온 킹, 바바 야스시"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:05:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #158"
        },
        {
          "time": "19:05:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:06:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=라이드 온 킹 - 바바 야스시 | 뉴토끼, links=109"
        },
        {
          "time": "19:06:34",
          "message": "작품 제목: 라이드 온 킹 - 바바 야스시"
        },
        {
          "time": "19:06:35",
          "message": "메타데이터 태그 저장: 라이드 온 킹, 바바 야스시"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:22:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #528"
        },
        {
          "time": "12:22:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:22:56",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:22:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #529"
        },
        {
          "time": "12:22:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:23:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=라이드 온 킹 - 바바 야스시 | 뉴토끼, links=109"
        },
        {
          "time": "12:23:12",
          "message": "작품 제목: 라이드 온 킹 - 바바 야스시"
        },
        {
          "time": "12:23:12",
          "message": "메타데이터 태그 저장: 라이드 온 킹, 바바 야스시"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:06:56",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #921"
        },
        {
          "time": "04:06:56",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:07:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=라이드 온 킹 - 바바 야스시 | 뉴토끼, links=109"
        },
        {
          "time": "04:07:43",
          "message": "작품 제목: 라이드 온 킹 - 바바 야스시"
        },
        {
          "time": "04:07:44",
          "message": "메타데이터 태그 저장: 라이드 온 킹, 바바 야스시"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_11507",
        "target_id": "manhwa_11507",
        "title": "라이드 온 킹 - 바바 야스시",
        "episodes_found": 107,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 107,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_11507",
          "title": "라이드 온 킹 - 바바 야스시",
          "list_url": "https://newtoki1.org/manhwa/11507",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/11507"
          },
          "tags": [
            "라이드 온 킹",
            "바바 야스시"
          ],
          "description": "국민의 전폭적인 지지를 받고 있는 남자이자 푸르지아 왕국의 종신 대통령 알렉산드르 푸르치노프.그는 무술격투기의 달인이자 어딘가에 타는 것을 미친듯이 좋아하는 `기승욕`이 강한 사람이었다.어느 날 테러리스트의 습격을 받게 된 그는 돌진해오는 테러리스트를 가뿐히 처리했으나예상치 못한 사건으",
          "metadata_path": "/downloads/manhwa_11507/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 107,
        "total": 107,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "29ac3bef5d",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:14:58",
      "started_at": "2026-06-04T04:05:08",
      "finished_at": "2026-06-04T04:06:21",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "약사의 혼잣말 - 네코 쿠라게",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/10565",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_10565",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "00:02:43",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:02:43",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:02:43",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:02:43",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/10565"
        },
        {
          "time": "00:02:43",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10565"
        },
        {
          "time": "00:03:03",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/10565\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/10565"
        },
        {
          "time": "00:13:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T00:13:07"
        },
        {
          "time": "00:13:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:13:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:56:57",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "01:58:16",
          "message": "기존 완료 기록을 적용합니다: 121개 회차"
        },
        {
          "time": "01:58:16",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "01:58:16",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "01:58:16",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "01:58:16",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "01:58:16",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/10565"
        },
        {
          "time": "01:58:16",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10565"
        },
        {
          "time": "01:58:36",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/10565\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/10565"
        },
        {
          "time": "02:08:42",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T02:08:42"
        },
        {
          "time": "02:08:42",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:08:42",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:12:53",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "05:13:34",
          "message": "기존 완료 기록을 적용합니다: 121개 회차"
        },
        {
          "time": "05:13:35",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "05:13:52",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "05:13:52",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "05:13:52",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "05:13:52",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/10565"
        },
        {
          "time": "05:13:52",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10565"
        },
        {
          "time": "05:14:08",
          "message": "작품 제목: 약사의 혼잣말 - 네코 쿠라게"
        },
        {
          "time": "05:14:08",
          "message": "메타데이터 저장: /downloads/manhwa_10565/metadata.yaml"
        },
        {
          "time": "05:14:08",
          "message": "메타데이터 태그 저장: 네코 쿠라게, 약사의 혼잣말"
        },
        {
          "time": "05:14:08",
          "message": "기존 완료 회차 121개 제외"
        },
        {
          "time": "05:14:08",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "05:14:08",
          "message": "총 124개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "05:14:08",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/10565/u-mp87h7eu-sore"
        },
        {
          "time": "05:14:08",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10565/u-mp87h7eu-sore"
        },
        {
          "time": "05:14:19",
          "message": "  [i] 회차 제목: 약사의 혼잣말 84화"
        },
        {
          "time": "05:14:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/001.jpg"
        },
        {
          "time": "05:14:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/002.jpg"
        },
        {
          "time": "05:14:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/003.jpg"
        },
        {
          "time": "05:14:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/004.jpg"
        },
        {
          "time": "05:14:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/005.jpg"
        },
        {
          "time": "05:14:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/006.jpg"
        },
        {
          "time": "05:14:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/007.jpg"
        },
        {
          "time": "05:14:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/008.jpg"
        },
        {
          "time": "05:14:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/009.jpg"
        },
        {
          "time": "05:14:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/010.jpg"
        },
        {
          "time": "05:14:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/011.jpg"
        },
        {
          "time": "05:14:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/012.jpg"
        },
        {
          "time": "05:14:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/013.jpg"
        },
        {
          "time": "05:14:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/014.jpg"
        },
        {
          "time": "05:14:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/015.jpg"
        },
        {
          "time": "05:14:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/016.jpg"
        },
        {
          "time": "05:14:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/017.jpg"
        },
        {
          "time": "05:14:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/018.jpg"
        },
        {
          "time": "05:14:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/019.jpg"
        },
        {
          "time": "05:14:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/020.jpg"
        },
        {
          "time": "05:14:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/021.jpg"
        },
        {
          "time": "05:14:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/022.jpg"
        },
        {
          "time": "05:14:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/023.jpg"
        },
        {
          "time": "05:14:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/024.jpg"
        },
        {
          "time": "05:15:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/025.jpg"
        },
        {
          "time": "05:15:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/026.jpg"
        },
        {
          "time": "05:15:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/027.jpg"
        },
        {
          "time": "05:15:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_122/028.jpg"
        },
        {
          "time": "05:15:10",
          "message": "  [>] 이미지 28개 처리 완료.\n"
        },
        {
          "time": "05:15:11",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/10565/u-mp8of0cq-f42a"
        },
        {
          "time": "05:15:11",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10565/u-mp8of0cq-f42a"
        },
        {
          "time": "05:15:25",
          "message": "  [i] 회차 제목: 약사의 혼잣말 84-2화"
        },
        {
          "time": "05:15:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/001.jpg"
        },
        {
          "time": "05:15:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/002.jpg"
        },
        {
          "time": "05:15:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/003.jpg"
        },
        {
          "time": "05:15:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/004.jpg"
        },
        {
          "time": "05:15:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/005.jpg"
        },
        {
          "time": "05:15:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/006.jpg"
        },
        {
          "time": "05:15:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/007.jpg"
        },
        {
          "time": "05:15:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/008.jpg"
        },
        {
          "time": "05:15:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/009.jpg"
        },
        {
          "time": "05:15:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/010.jpg"
        },
        {
          "time": "05:15:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/011.jpg"
        },
        {
          "time": "05:15:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/012.jpg"
        },
        {
          "time": "05:15:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/013.jpg"
        },
        {
          "time": "05:15:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/014.jpg"
        },
        {
          "time": "05:15:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/015.jpg"
        },
        {
          "time": "05:15:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/016.jpg"
        },
        {
          "time": "05:15:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/017.jpg"
        },
        {
          "time": "05:15:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/018.jpg"
        },
        {
          "time": "05:15:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/019.jpg"
        },
        {
          "time": "05:15:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_123/020.jpg"
        },
        {
          "time": "05:15:54",
          "message": "  [>] 이미지 20개 처리 완료.\n"
        },
        {
          "time": "05:15:55",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/10565/u-mp8oh7b1-6dcw"
        },
        {
          "time": "05:15:55",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/10565/u-mp8oh7b1-6dcw"
        },
        {
          "time": "05:16:06",
          "message": "  [i] 회차 제목: 약사의 혼잣말 85화"
        },
        {
          "time": "05:16:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_124/001.jpg"
        },
        {
          "time": "05:16:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_124/002.jpg"
        },
        {
          "time": "05:16:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_124/003.jpg"
        },
        {
          "time": "05:16:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_124/004.jpg"
        },
        {
          "time": "05:16:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_124/005.jpg"
        },
        {
          "time": "05:16:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_10565/ep_124/006.jpg"
        },
        {
          "time": "05:16:13",
          "message": "  [>] 이미지 6개 처리 완료.\n"
        },
        {
          "time": "05:16:14",
          "message": "완료: 회차 3개 처리, 이미지 54개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:16:21",
          "message": "작품 제목: 10565"
        },
        {
          "time": "06:26:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:26:50"
        },
        {
          "time": "06:26:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:26:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:01:10",
          "message": "작품 제목: 10565"
        },
        {
          "time": "13:11:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:11:16"
        },
        {
          "time": "13:11:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:10:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "17:10:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:11:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=약사의 혼잣말 - 네코 쿠라게 | 뉴토끼, links=127"
        },
        {
          "time": "17:11:06",
          "message": "작품 제목: 약사의 혼잣말 - 네코 쿠라게"
        },
        {
          "time": "17:11:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "17:11:06",
          "message": "메타데이터 태그 저장: 네코 쿠라게, 약사의 혼잣말"
        },
        {
          "time": "17:11:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:11:07",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "17:11:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=약사의 혼잣말 85-2화 | 뉴토끼, images=39"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:00:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #962"
        },
        {
          "time": "06:00:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:00:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=약사의 혼잣말 - 네코 쿠라게 | 뉴토끼, links=127"
        },
        {
          "time": "06:00:44",
          "message": "작품 제목: 약사의 혼잣말 - 네코 쿠라게"
        },
        {
          "time": "06:00:44",
          "message": "메타데이터 태그 저장: 네코 쿠라게, 약사의 혼잣말"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:05:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #157"
        },
        {
          "time": "19:05:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:05:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=약사의 혼잣말 - 네코 쿠라게 | 뉴토끼, links=127"
        },
        {
          "time": "19:05:44",
          "message": "작품 제목: 약사의 혼잣말 - 네코 쿠라게"
        },
        {
          "time": "19:05:44",
          "message": "메타데이터 태그 저장: 네코 쿠라게, 약사의 혼잣말"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:23:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #530"
        },
        {
          "time": "12:23:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:23:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=약사의 혼잣말 - 네코 쿠라게 | 뉴토끼, links=127"
        },
        {
          "time": "12:24:31",
          "message": "작품 제목: 약사의 혼잣말 - 네코 쿠라게"
        },
        {
          "time": "12:24:32",
          "message": "메타데이터 태그 저장: 네코 쿠라게, 약사의 혼잣말"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:05:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #919"
        },
        {
          "time": "04:05:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:06:02",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:06:03",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:06:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #920"
        },
        {
          "time": "04:06:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:06:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=약사의 혼잣말 - 네코 쿠라게 | 뉴토끼, links=127"
        },
        {
          "time": "04:06:20",
          "message": "작품 제목: 약사의 혼잣말 - 네코 쿠라게"
        },
        {
          "time": "04:06:20",
          "message": "메타데이터 태그 저장: 네코 쿠라게, 약사의 혼잣말"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_10565",
        "target_id": "manhwa_10565",
        "title": "약사의 혼잣말 - 네코 쿠라게",
        "episodes_found": 125,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 125,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_10565",
          "title": "약사의 혼잣말 - 네코 쿠라게",
          "list_url": "https://newtoki1.org/manhwa/10565",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/10565"
          },
          "tags": [
            "네코 쿠라게",
            "약사의 혼잣말"
          ],
          "description": "대히트 인기 노벨‘약사의 혼잣말’! 마오마오에게 내려진 새로운 명령은?! 회임한 교쿠요 비를 지키기 위해 다시 후궁으로 돌아온 마오마오에게, 진시가 새롭게 내린 명령--. 그것은 ‘원유회 날까지 불가능의 대명사 「파란 장미」를 피워내라’는 것이었다. 그런 억지스러운 요구를",
          "metadata_path": "/downloads/manhwa_10565/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 125,
        "total": 125,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "9ffa2f6f65",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:14:40",
      "started_at": "2026-06-04T04:04:08",
      "finished_at": "2026-06-04T04:05:08",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "오피스의 비밀 - 우에스기 쿄시로",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35723",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35723",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "03:09:21",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "03:09:21",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "03:20:07",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T03:20:07"
        },
        {
          "time": "03:20:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:20:07",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:48:58",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:48:07",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T14:48:06"
        },
        {
          "time": "14:48:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:47",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:18:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:19:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:19:52"
        },
        {
          "time": "15:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:32:32",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "15:33:49",
          "message": "기존 완료 기록을 적용합니다: 10개 회차"
        },
        {
          "time": "15:33:49",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:33:49",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:33:49",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:33:50",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:33:50",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "15:33:50",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "15:34:31",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/35723\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "15:44:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T15:44:37"
        },
        {
          "time": "15:44:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:44:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:59:03",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "00:00:30",
          "message": "기존 완료 기록을 적용합니다: 10개 회차"
        },
        {
          "time": "00:00:30",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "00:00:30",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "00:00:30",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "00:00:30",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "00:00:30",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "00:00:30",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "00:00:51",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/35723\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "00:11:23",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T00:11:23"
        },
        {
          "time": "00:11:23",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:11:23",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:55:19",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "01:56:36",
          "message": "기존 완료 기록을 적용합니다: 10개 회차"
        },
        {
          "time": "01:56:36",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "01:56:36",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "01:56:36",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "01:56:36",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "01:56:36",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "01:56:36",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "01:56:57",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/manhwa/35723\", waiting until \"domcontentloaded\"\n https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "02:07:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T02:07:02"
        },
        {
          "time": "02:07:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:07:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:11:52",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "05:12:52",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "08:01:09",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-22T08:01:09"
        },
        {
          "time": "08:01:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:09:07",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "22:10:49",
          "message": "기존 완료 기록을 적용합니다: 10개 회차"
        },
        {
          "time": "22:10:50",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "22:10:50",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "22:10:50",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "22:10:50",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "22:10:50",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "22:10:50",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "22:11:03",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "22:11:06",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "22:11:06",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "22:11:06",
          "message": "메타데이터 저장: /downloads/manhwa_35723/metadata.yaml"
        },
        {
          "time": "22:11:06",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "22:11:06",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "22:21:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T22:21:11"
        },
        {
          "time": "22:21:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "22:21:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:37:51",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "23:39:33",
          "message": "기존 완료 기록을 적용합니다: 10개 회차"
        },
        {
          "time": "23:39:33",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "23:39:33",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "23:39:33",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "23:39:33",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "23:39:33",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "23:39:33",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "23:39:47",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "23:39:50",
          "message": "Cloudflare challenge 통과 대기 완료: 3.1초"
        },
        {
          "time": "23:39:50",
          "message": "작품 제목: 점검 중 — 뉴토끼"
        },
        {
          "time": "23:39:50",
          "message": "메타데이터 저장: /downloads/manhwa_35723/metadata.yaml"
        },
        {
          "time": "23:39:50",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "23:39:50",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "23:51:34",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-22T23:51:33"
        },
        {
          "time": "23:51:34",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:51:34",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "17:18:16",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "17:20:11",
          "message": "기존 완료 기록을 적용합니다: 10개 회차"
        },
        {
          "time": "17:20:11",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "17:20:11",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "17:20:12",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "17:20:12",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "17:20:12",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "17:20:12",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/35723"
        },
        {
          "time": "17:20:41",
          "message": "작품 제목: 오피스의 비밀 - 우에스기 쿄시로"
        },
        {
          "time": "17:20:41",
          "message": "메타데이터 저장: /downloads/manhwa_35723/metadata.yaml"
        },
        {
          "time": "17:20:41",
          "message": "메타데이터 태그 저장: 오피스의 비밀, 우에스기 쿄시로"
        },
        {
          "time": "17:20:41",
          "message": "기존 완료 회차 10개 제외"
        },
        {
          "time": "17:20:41",
          "message": "총 10개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "17:20:41",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:58:25",
          "message": "작품 제목: 35723"
        },
        {
          "time": "06:08:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:08:27"
        },
        {
          "time": "06:08:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:08:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:01:02",
          "message": "작품 제목: 35723"
        },
        {
          "time": "13:11:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:11:16"
        },
        {
          "time": "13:11:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:10:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "17:10:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:10:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오피스의 비밀 - 우에스기 쿄시로 | 뉴토끼, links=12"
        },
        {
          "time": "17:10:50",
          "message": "작품 제목: 오피스의 비밀 - 우에스기 쿄시로"
        },
        {
          "time": "17:10:50",
          "message": "메타데이터 태그 저장: 오피스의 비밀, 우에스기 쿄시로"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:01:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #963"
        },
        {
          "time": "06:01:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:01:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오피스의 비밀 - 우에스기 쿄시로 | 뉴토끼, links=12"
        },
        {
          "time": "06:01:30",
          "message": "작품 제목: 오피스의 비밀 - 우에스기 쿄시로"
        },
        {
          "time": "06:01:30",
          "message": "메타데이터 태그 저장: 오피스의 비밀, 우에스기 쿄시로"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:04:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #156"
        },
        {
          "time": "19:04:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:04:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오피스의 비밀 - 우에스기 쿄시로 | 뉴토끼, links=12"
        },
        {
          "time": "19:05:28",
          "message": "작품 제목: 오피스의 비밀 - 우에스기 쿄시로"
        },
        {
          "time": "19:05:28",
          "message": "메타데이터 태그 저장: 오피스의 비밀, 우에스기 쿄시로"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:25:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #531"
        },
        {
          "time": "12:25:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:25:28",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:25:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #532"
        },
        {
          "time": "12:25:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:25:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오피스의 비밀 - 우에스기 쿄시로 | 뉴토끼, links=12"
        },
        {
          "time": "12:26:13",
          "message": "작품 제목: 오피스의 비밀 - 우에스기 쿄시로"
        },
        {
          "time": "12:26:13",
          "message": "메타데이터 태그 저장: 오피스의 비밀, 우에스기 쿄시로"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:04:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #917"
        },
        {
          "time": "04:04:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:05:03",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:05:03",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:05:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #918"
        },
        {
          "time": "04:05:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:05:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=오피스의 비밀 - 우에스기 쿄시로 | 뉴토끼, links=12"
        },
        {
          "time": "04:05:06",
          "message": "작품 제목: 오피스의 비밀 - 우에스기 쿄시로"
        },
        {
          "time": "04:05:07",
          "message": "메타데이터 태그 저장: 오피스의 비밀, 우에스기 쿄시로"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35723",
        "target_id": "manhwa_35723",
        "title": "오피스의 비밀 - 우에스기 쿄시로",
        "episodes_found": 10,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 10,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35723",
          "title": "오피스의 비밀 - 우에스기 쿄시로",
          "list_url": "https://newtoki1.org/manhwa/35723",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35723"
          },
          "tags": [
            "오피스의 비밀",
            "우에스기 쿄시로"
          ],
          "description": "이성을 무서워하는 하치스가 카나메.이직한 회사에서 일을 가르쳐 주고 도와준 아오야마 슈토를 좋은 사람이라고 생각했는데….그는 카나메의 이름을 듣자마자 갑자기 돌변!!어린 시절 카나메에게 괴롭힘을 당했다는 슈토는심야의 사무실에서 복수라면서 짓궂은 장난을 치는데…!!",
          "metadata_path": "/downloads/manhwa_35723/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 10,
        "total": 10,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "6e6252093c",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:14:10",
      "started_at": "2026-06-04T04:03:31",
      "finished_at": "2026-06-04T04:04:08",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "첫 섹파 - 유리카와",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/35924",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_35924",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "12:24:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/004.jpg"
        },
        {
          "time": "12:24:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/005.jpg"
        },
        {
          "time": "12:24:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/006.jpg"
        },
        {
          "time": "12:24:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/007.jpg"
        },
        {
          "time": "12:24:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/008.jpg"
        },
        {
          "time": "12:24:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/009.jpg"
        },
        {
          "time": "12:24:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/010.jpg"
        },
        {
          "time": "12:24:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/011.jpg"
        },
        {
          "time": "12:24:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/012.jpg"
        },
        {
          "time": "12:24:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/013.jpg"
        },
        {
          "time": "12:24:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/014.jpg"
        },
        {
          "time": "12:24:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/015.jpg"
        },
        {
          "time": "12:24:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_013/016.jpg"
        },
        {
          "time": "12:24:41",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "12:24:43",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/35924/1791756"
        },
        {
          "time": "12:24:43",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/35924/1791756"
        },
        {
          "time": "12:24:51",
          "message": "  [i] 회차 제목: 첫 섹파 4화"
        },
        {
          "time": "12:24:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/001.jpg"
        },
        {
          "time": "12:24:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/002.jpg"
        },
        {
          "time": "12:25:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/003.jpg"
        },
        {
          "time": "12:25:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/004.jpg"
        },
        {
          "time": "12:25:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/005.jpg"
        },
        {
          "time": "12:25:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/006.jpg"
        },
        {
          "time": "12:25:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/007.jpg"
        },
        {
          "time": "12:25:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/008.jpg"
        },
        {
          "time": "12:25:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/009.jpg"
        },
        {
          "time": "12:25:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/010.jpg"
        },
        {
          "time": "12:25:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/011.jpg"
        },
        {
          "time": "12:25:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/012.jpg"
        },
        {
          "time": "12:25:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/013.jpg"
        },
        {
          "time": "12:25:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_014/014.jpg"
        },
        {
          "time": "12:25:33",
          "message": "  [>] 이미지 14개 처리 완료.\n"
        },
        {
          "time": "12:25:34",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/35924/1790700"
        },
        {
          "time": "12:25:35",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/35924/1790700"
        },
        {
          "time": "12:25:42",
          "message": "  [i] 회차 제목: 첫 섹파 3화"
        },
        {
          "time": "12:25:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/001.jpg"
        },
        {
          "time": "12:25:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/002.jpg"
        },
        {
          "time": "12:25:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/003.jpg"
        },
        {
          "time": "12:25:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/004.jpg"
        },
        {
          "time": "12:25:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/005.jpg"
        },
        {
          "time": "12:25:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/006.jpg"
        },
        {
          "time": "12:26:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/007.jpg"
        },
        {
          "time": "12:26:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/008.jpg"
        },
        {
          "time": "12:26:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/009.jpg"
        },
        {
          "time": "12:26:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/010.jpg"
        },
        {
          "time": "12:26:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/011.jpg"
        },
        {
          "time": "12:26:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/012.jpg"
        },
        {
          "time": "12:26:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/013.jpg"
        },
        {
          "time": "12:26:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/014.jpg"
        },
        {
          "time": "12:26:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/015.jpg"
        },
        {
          "time": "12:26:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/016.jpg"
        },
        {
          "time": "12:26:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/017.jpg"
        },
        {
          "time": "12:26:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/018.jpg"
        },
        {
          "time": "12:26:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/019.jpg"
        },
        {
          "time": "12:26:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/020.jpg"
        },
        {
          "time": "12:26:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_015/021.jpg"
        },
        {
          "time": "12:26:47",
          "message": "  [>] 이미지 21개 처리 완료.\n"
        },
        {
          "time": "12:26:48",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/35924/1789561"
        },
        {
          "time": "12:26:48",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/35924/1789561"
        },
        {
          "time": "12:26:57",
          "message": "  [i] 회차 제목: 첫 섹파 2화"
        },
        {
          "time": "12:27:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/001.jpg"
        },
        {
          "time": "12:27:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/002.jpg"
        },
        {
          "time": "12:27:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/003.jpg"
        },
        {
          "time": "12:27:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/004.jpg"
        },
        {
          "time": "12:27:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/005.jpg"
        },
        {
          "time": "12:27:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/006.jpg"
        },
        {
          "time": "12:27:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/007.jpg"
        },
        {
          "time": "12:27:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/008.jpg"
        },
        {
          "time": "12:27:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/009.jpg"
        },
        {
          "time": "12:27:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/010.jpg"
        },
        {
          "time": "12:27:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/011.jpg"
        },
        {
          "time": "12:27:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/012.jpg"
        },
        {
          "time": "12:27:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/013.jpg"
        },
        {
          "time": "12:27:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/014.jpg"
        },
        {
          "time": "12:27:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/015.jpg"
        },
        {
          "time": "12:27:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/016.jpg"
        },
        {
          "time": "12:27:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/017.jpg"
        },
        {
          "time": "12:27:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/018.jpg"
        },
        {
          "time": "12:28:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/019.jpg"
        },
        {
          "time": "12:28:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/020.jpg"
        },
        {
          "time": "12:28:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/021.jpg"
        },
        {
          "time": "12:28:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/022.jpg"
        },
        {
          "time": "12:28:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/023.jpg"
        },
        {
          "time": "12:28:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/024.jpg"
        },
        {
          "time": "12:28:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/025.jpg"
        },
        {
          "time": "12:28:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_35924/ep_016/026.jpg"
        },
        {
          "time": "12:28:24",
          "message": "  [>] 이미지 26개 처리 완료.\n"
        },
        {
          "time": "12:28:25",
          "message": "완료: 회차 16개 처리, 이미지 330개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "07:19:09",
          "message": "대기열 순서를 변경했습니다: 74 -> 1"
        },
        {
          "time": "08:01:53",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "08:02:48",
          "message": "기존 완료 기록을 적용합니다: 16개 회차"
        },
        {
          "time": "08:02:48",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "08:02:48",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "08:02:48",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "08:02:48",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "08:02:48",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/35924"
        },
        {
          "time": "08:02:48",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/35924"
        },
        {
          "time": "08:02:54",
          "message": "작품 제목: 첫 섹파 - 유리카와"
        },
        {
          "time": "08:02:54",
          "message": "메타데이터 저장: /downloads/manhwa_35924/metadata.yaml"
        },
        {
          "time": "08:02:54",
          "message": "메타데이터 태그 저장: 유리카와, 첫 섹파"
        },
        {
          "time": "08:02:54",
          "message": "기존 완료 회차 16개 제외"
        },
        {
          "time": "08:02:54",
          "message": "총 16개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "08:02:54",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:36:50",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:37:25",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:47:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:47:39"
        },
        {
          "time": "06:47:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:47:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:00:57",
          "message": "작품 제목: 35924"
        },
        {
          "time": "13:11:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:11:16"
        },
        {
          "time": "13:11:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:10:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "17:10:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:10:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=첫 섹파 - 유리카와 | 뉴토끼, links=18"
        },
        {
          "time": "17:10:36",
          "message": "작품 제목: 첫 섹파 - 유리카와"
        },
        {
          "time": "17:10:36",
          "message": "메타데이터 태그 저장: 유리카와, 첫 섹파"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:01:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #964"
        },
        {
          "time": "06:01:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:01:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=첫 섹파 - 유리카와 | 뉴토끼, links=18"
        },
        {
          "time": "06:01:45",
          "message": "작품 제목: 첫 섹파 - 유리카와"
        },
        {
          "time": "06:01:45",
          "message": "메타데이터 태그 저장: 유리카와, 첫 섹파"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:04:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #155"
        },
        {
          "time": "19:04:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:04:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=첫 섹파 - 유리카와 | 뉴토끼, links=18"
        },
        {
          "time": "19:04:40",
          "message": "작품 제목: 첫 섹파 - 유리카와"
        },
        {
          "time": "19:04:40",
          "message": "메타데이터 태그 저장: 유리카와, 첫 섹파"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:26:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #533"
        },
        {
          "time": "12:26:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:27:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=첫 섹파 - 유리카와 | 뉴토끼, links=18"
        },
        {
          "time": "12:27:03",
          "message": "작품 제목: 첫 섹파 - 유리카와"
        },
        {
          "time": "12:27:04",
          "message": "메타데이터 태그 저장: 유리카와, 첫 섹파"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:03:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #915"
        },
        {
          "time": "04:03:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:03:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:03:53",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:03:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #916"
        },
        {
          "time": "04:03:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:04:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=첫 섹파 - 유리카와 | 뉴토끼, links=18"
        },
        {
          "time": "04:04:07",
          "message": "작품 제목: 첫 섹파 - 유리카와"
        },
        {
          "time": "04:04:07",
          "message": "메타데이터 태그 저장: 유리카와, 첫 섹파"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_35924",
        "target_id": "manhwa_35924",
        "title": "첫 섹파 - 유리카와",
        "episodes_found": 16,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 16,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_35924",
          "title": "첫 섹파 - 유리카와",
          "list_url": "https://newtoki1.org/manhwa/35924",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/35924"
          },
          "tags": [
            "유리카와",
            "첫 섹파"
          ],
          "description": "첫 섹파 (유리카와)",
          "metadata_path": "/downloads/manhwa_35924/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 16,
        "total": 16,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "14315c7b2d",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:13:37",
      "started_at": "2026-06-04T04:00:46",
      "finished_at": "2026-06-04T04:03:31",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "카난 님은 초보 악마 - nonco",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/33555",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_33555",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "01:51:51",
          "message": "작품 제목: 카난 님은 초보 악마 - nonco"
        },
        {
          "time": "01:51:52",
          "message": "메타데이터 저장: /downloads/manhwa_33555/metadata.yaml"
        },
        {
          "time": "01:51:52",
          "message": "메타데이터 태그 저장: nonco, 카난 님은 초보 악마"
        },
        {
          "time": "01:51:52",
          "message": "기존 완료 회차 180개 제외"
        },
        {
          "time": "01:51:52",
          "message": "순회 계획을 저장했습니다: 8개 회차"
        },
        {
          "time": "01:51:52",
          "message": "총 188개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "01:51:52",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33555/u-mp5eud7x-7qos"
        },
        {
          "time": "01:51:52",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33555/u-mp5eud7x-7qos"
        },
        {
          "time": "01:52:03",
          "message": "  [i] 회차 제목: 카난 님은 초보 악마 176화"
        },
        {
          "time": "01:52:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_181/001.png"
        },
        {
          "time": "01:52:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_181/002.png"
        },
        {
          "time": "01:52:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_181/003.png"
        },
        {
          "time": "01:52:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_181/004.png"
        },
        {
          "time": "01:52:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_181/005.png"
        },
        {
          "time": "01:52:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_181/006.png"
        },
        {
          "time": "01:52:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_181/007.png"
        },
        {
          "time": "01:52:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_181/008.png"
        },
        {
          "time": "01:52:22",
          "message": "  [>] 이미지 8개 처리 완료.\n"
        },
        {
          "time": "01:52:23",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33555/u-mp5ewhc4-1qhy"
        },
        {
          "time": "01:52:24",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33555/u-mp5ewhc4-1qhy"
        },
        {
          "time": "01:52:34",
          "message": "  [i] 회차 제목: 카난 님은 초보 악마 177화"
        },
        {
          "time": "01:52:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_182/001.png"
        },
        {
          "time": "01:52:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_182/002.png"
        },
        {
          "time": "01:52:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_182/003.png"
        },
        {
          "time": "01:52:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_182/004.png"
        },
        {
          "time": "01:52:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_182/005.png"
        },
        {
          "time": "01:52:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_182/006.png"
        },
        {
          "time": "01:52:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_182/007.png"
        },
        {
          "time": "01:52:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_182/008.png"
        },
        {
          "time": "01:52:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_182/009.png"
        },
        {
          "time": "01:52:48",
          "message": "  [>] 이미지 9개 처리 완료.\n"
        },
        {
          "time": "01:52:49",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33555/u-mp5exuiu-43ue"
        },
        {
          "time": "01:52:49",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33555/u-mp5exuiu-43ue"
        },
        {
          "time": "01:53:00",
          "message": "  [i] 회차 제목: 카난 님은 초보 악마 178화"
        },
        {
          "time": "01:53:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_183/001.png"
        },
        {
          "time": "01:53:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_183/002.png"
        },
        {
          "time": "01:53:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_183/003.png"
        },
        {
          "time": "01:53:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_183/004.png"
        },
        {
          "time": "01:53:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_183/005.png"
        },
        {
          "time": "01:53:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_183/006.png"
        },
        {
          "time": "01:53:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_183/007.png"
        },
        {
          "time": "01:53:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_183/008.png"
        },
        {
          "time": "01:53:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_183/009.png"
        },
        {
          "time": "01:53:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_183/010.png"
        },
        {
          "time": "01:53:15",
          "message": "  [>] 이미지 10개 처리 완료.\n"
        },
        {
          "time": "01:53:16",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33555/u-mp5ezxdg-0gb9"
        },
        {
          "time": "01:53:16",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33555/u-mp5ezxdg-0gb9"
        },
        {
          "time": "01:53:27",
          "message": "  [i] 회차 제목: 카난 님은 초보 악마 179화"
        },
        {
          "time": "01:53:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_184/001.png"
        },
        {
          "time": "01:53:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_184/002.png"
        },
        {
          "time": "01:53:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_184/003.png"
        },
        {
          "time": "01:53:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_184/004.png"
        },
        {
          "time": "01:53:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_184/005.png"
        },
        {
          "time": "01:53:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_184/006.png"
        },
        {
          "time": "01:53:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_184/007.png"
        },
        {
          "time": "01:53:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_184/008.png"
        },
        {
          "time": "01:53:40",
          "message": "  [>] 이미지 8개 처리 완료.\n"
        },
        {
          "time": "01:53:41",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33555/u-mp5f0psy-w3fc"
        },
        {
          "time": "01:53:41",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33555/u-mp5f0psy-w3fc"
        },
        {
          "time": "01:53:52",
          "message": "  [i] 회차 제목: 카난 님은 초보 악마 180화"
        },
        {
          "time": "01:53:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_185/001.png"
        },
        {
          "time": "01:53:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_185/002.png"
        },
        {
          "time": "01:53:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_185/003.png"
        },
        {
          "time": "01:53:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_185/004.png"
        },
        {
          "time": "01:53:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_185/005.png"
        },
        {
          "time": "01:54:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_185/006.png"
        },
        {
          "time": "01:54:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_185/007.png"
        },
        {
          "time": "01:54:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_185/008.png"
        },
        {
          "time": "01:54:03",
          "message": "  [>] 이미지 8개 처리 완료.\n"
        },
        {
          "time": "01:54:05",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33555/u-mp5f2bcg-4c8p"
        },
        {
          "time": "01:54:05",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33555/u-mp5f2bcg-4c8p"
        },
        {
          "time": "01:54:16",
          "message": "  [i] 회차 제목: 카난 님은 초보 악마 181화"
        },
        {
          "time": "01:54:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_186/001.png"
        },
        {
          "time": "01:54:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_186/002.png"
        },
        {
          "time": "01:54:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_186/003.png"
        },
        {
          "time": "01:54:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_186/004.png"
        },
        {
          "time": "01:54:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_186/005.png"
        },
        {
          "time": "01:54:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_186/006.png"
        },
        {
          "time": "01:54:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_186/007.png"
        },
        {
          "time": "01:54:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_186/008.png"
        },
        {
          "time": "01:54:27",
          "message": "  [>] 이미지 8개 처리 완료.\n"
        },
        {
          "time": "01:54:28",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33555/u-mp5f3hs3-k88f"
        },
        {
          "time": "01:54:28",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33555/u-mp5f3hs3-k88f"
        },
        {
          "time": "01:54:40",
          "message": "  [i] 회차 제목: 카난 님은 초보 악마 182화"
        },
        {
          "time": "01:54:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_187/001.png"
        },
        {
          "time": "01:54:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_187/002.png"
        },
        {
          "time": "01:54:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_187/003.png"
        },
        {
          "time": "01:54:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_187/004.png"
        },
        {
          "time": "01:54:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_187/005.png"
        },
        {
          "time": "01:54:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_187/006.png"
        },
        {
          "time": "01:54:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_187/007.png"
        },
        {
          "time": "01:54:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_187/008.png"
        },
        {
          "time": "01:54:51",
          "message": "  [>] 이미지 8개 처리 완료.\n"
        },
        {
          "time": "01:54:52",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/33555/u-mpd65v6t-h88k"
        },
        {
          "time": "01:54:52",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/33555/u-mpd65v6t-h88k"
        },
        {
          "time": "01:55:02",
          "message": "  [i] 회차 제목: 카난 님은 초보 악마 183화"
        },
        {
          "time": "01:55:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_188/001.png"
        },
        {
          "time": "01:55:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_188/002.png"
        },
        {
          "time": "01:55:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_188/003.png"
        },
        {
          "time": "01:55:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_188/004.png"
        },
        {
          "time": "01:55:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_188/005.png"
        },
        {
          "time": "01:55:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_188/006.png"
        },
        {
          "time": "01:55:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_188/007.png"
        },
        {
          "time": "01:55:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_33555/ep_188/008.png"
        },
        {
          "time": "01:55:17",
          "message": "  [>] 이미지 8개 처리 완료.\n"
        },
        {
          "time": "01:55:18",
          "message": "완료: 회차 8개 처리, 이미지 67개 저장, 0개 건너뜀"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 8)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:17:12",
          "message": "작품 제목: 33555"
        },
        {
          "time": "06:27:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:27:31"
        },
        {
          "time": "06:27:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:27:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:00:48",
          "message": "작품 제목: 33555"
        },
        {
          "time": "13:11:17",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:11:16"
        },
        {
          "time": "13:11:17",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:17",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:10:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "17:10:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:10:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=카난 님은 초보 악마 - nonco | 뉴토끼, links=190"
        },
        {
          "time": "17:10:19",
          "message": "작품 제목: 카난 님은 초보 악마 - nonco"
        },
        {
          "time": "17:10:20",
          "message": "메타데이터 태그 저장: nonco, 카난 님은 초보 악마"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:01:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #965"
        },
        {
          "time": "06:01:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:02:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=카난 님은 초보 악마 - nonco | 뉴토끼, links=190"
        },
        {
          "time": "06:02:00",
          "message": "작품 제목: 카난 님은 초보 악마 - nonco"
        },
        {
          "time": "06:02:00",
          "message": "메타데이터 태그 저장: nonco, 카난 님은 초보 악마"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:04:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #154"
        },
        {
          "time": "19:04:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:04:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=카난 님은 초보 악마 - nonco | 뉴토끼, links=190"
        },
        {
          "time": "19:04:23",
          "message": "작품 제목: 카난 님은 초보 악마 - nonco"
        },
        {
          "time": "19:04:23",
          "message": "메타데이터 태그 저장: nonco, 카난 님은 초보 악마"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:27:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #534"
        },
        {
          "time": "12:27:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:27:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=카난 님은 초보 악마 - nonco | 뉴토끼, links=190"
        },
        {
          "time": "12:28:21",
          "message": "작품 제목: 카난 님은 초보 악마 - nonco"
        },
        {
          "time": "12:28:22",
          "message": "메타데이터 태그 저장: nonco, 카난 님은 초보 악마"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:13",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:02:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #913"
        },
        {
          "time": "04:02:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:02:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=카난 님은 초보 악마 - nonco | 뉴토끼, links=191"
        },
        {
          "time": "04:03:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #914"
        },
        {
          "time": "04:03:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:03:12",
          "message": "작품 제목: 카난 님은 초보 악마 - nonco"
        },
        {
          "time": "04:03:13",
          "message": "메타데이터 태그 저장: nonco, 카난 님은 초보 악마"
        },
        {
          "time": "04:03:14",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "04:03:22",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=카난 님은 초보 악마 184화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_33555",
        "target_id": "manhwa_33555",
        "title": "카난 님은 초보 악마 - nonco",
        "episodes_found": 189,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 188,
        "images_found": 8,
        "images_downloaded": 8,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_33555",
          "title": "카난 님은 초보 악마 - nonco",
          "list_url": "https://newtoki1.org/manhwa/33555",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/33555"
          },
          "tags": [
            "nonco",
            "카난 님은 초보 악마"
          ],
          "description": "인간의 영혼을 먹기 위해 인간계의 고등학교에 잠복한 여자 악마 카난. 한 남자 고등학생을 겨냥하지만, 어째선지 연인 계약을 맺기로!? 하지만 사랑따윈 해본 적이 없는 카난에게는 미지의 감정뿐이고...!",
          "metadata_path": "/downloads/manhwa_33555/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 189,
          "url": "https://newtoki1.org/manhwa/33555/u-mpxpcw2v-wwxb",
          "title": "카난 님은 초보 악마 184화",
          "status": "completed",
          "image_count": 8,
          "images_done": 8,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "6bb7c7fcd0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:13:23",
      "started_at": "2026-06-04T03:59:38",
      "finished_at": "2026-06-04T04:00:46",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "디-프래그! (디 플래그) - 하루노 토모야",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/7795",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_7795",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "10:15:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/077.jpg"
        },
        {
          "time": "10:15:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/078.jpg"
        },
        {
          "time": "10:15:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/079.jpg"
        },
        {
          "time": "10:15:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/080.jpg"
        },
        {
          "time": "10:15:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/081.jpg"
        },
        {
          "time": "10:15:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/082.jpg"
        },
        {
          "time": "10:15:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/083.jpg"
        },
        {
          "time": "10:15:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/084.jpg"
        },
        {
          "time": "10:15:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/085.jpg"
        },
        {
          "time": "10:15:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/086.jpg"
        },
        {
          "time": "10:15:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/087.jpg"
        },
        {
          "time": "10:15:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/088.jpg"
        },
        {
          "time": "10:15:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/089.jpg"
        },
        {
          "time": "10:15:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/090.jpg"
        },
        {
          "time": "10:15:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/091.jpg"
        },
        {
          "time": "10:15:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/092.jpg"
        },
        {
          "time": "10:15:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/093.jpg"
        },
        {
          "time": "10:15:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/094.jpg"
        },
        {
          "time": "10:15:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/095.jpg"
        },
        {
          "time": "10:15:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/096.jpg"
        },
        {
          "time": "10:15:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/097.jpg"
        },
        {
          "time": "10:15:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/098.jpg"
        },
        {
          "time": "10:15:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/099.jpg"
        },
        {
          "time": "10:16:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/100.jpg"
        },
        {
          "time": "10:16:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/101.jpg"
        },
        {
          "time": "10:16:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/102.jpg"
        },
        {
          "time": "10:16:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/103.jpg"
        },
        {
          "time": "10:16:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/104.jpg"
        },
        {
          "time": "10:16:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/105.jpg"
        },
        {
          "time": "10:16:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/106.jpg"
        },
        {
          "time": "10:16:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/107.jpg"
        },
        {
          "time": "10:16:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/108.jpg"
        },
        {
          "time": "10:16:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/109.jpg"
        },
        {
          "time": "10:16:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/110.jpg"
        },
        {
          "time": "10:16:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/111.jpg"
        },
        {
          "time": "10:16:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/112.jpg"
        },
        {
          "time": "10:16:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/113.jpg"
        },
        {
          "time": "10:16:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/114.jpg"
        },
        {
          "time": "10:16:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/115.jpg"
        },
        {
          "time": "10:16:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/116.jpg"
        },
        {
          "time": "10:16:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/117.jpg"
        },
        {
          "time": "10:16:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/118.jpg"
        },
        {
          "time": "10:16:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/119.jpg"
        },
        {
          "time": "10:16:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/120.jpg"
        },
        {
          "time": "10:16:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/121.jpg"
        },
        {
          "time": "10:16:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/122.jpg"
        },
        {
          "time": "10:16:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/123.jpg"
        },
        {
          "time": "10:16:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/124.jpg"
        },
        {
          "time": "10:16:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/125.jpg"
        },
        {
          "time": "10:16:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/126.jpg"
        },
        {
          "time": "10:16:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/127.jpg"
        },
        {
          "time": "10:16:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/128.jpg"
        },
        {
          "time": "10:16:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/129.jpg"
        },
        {
          "time": "10:17:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/130.jpg"
        },
        {
          "time": "10:17:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/131.jpg"
        },
        {
          "time": "10:17:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/132.jpg"
        },
        {
          "time": "10:17:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/133.jpg"
        },
        {
          "time": "10:17:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/134.jpg"
        },
        {
          "time": "10:17:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/135.jpg"
        },
        {
          "time": "10:17:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/136.jpg"
        },
        {
          "time": "10:17:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/137.jpg"
        },
        {
          "time": "10:17:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/138.jpg"
        },
        {
          "time": "10:17:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/139.jpg"
        },
        {
          "time": "10:17:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/140.jpg"
        },
        {
          "time": "10:17:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/141.jpg"
        },
        {
          "time": "10:17:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/142.jpg"
        },
        {
          "time": "10:17:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/143.jpg"
        },
        {
          "time": "10:17:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/144.jpg"
        },
        {
          "time": "10:17:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/145.jpg"
        },
        {
          "time": "10:17:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/146.jpg"
        },
        {
          "time": "10:17:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/147.jpg"
        },
        {
          "time": "10:17:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/148.jpg"
        },
        {
          "time": "10:17:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/149.jpg"
        },
        {
          "time": "10:17:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/150.jpg"
        },
        {
          "time": "10:17:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/151.jpg"
        },
        {
          "time": "10:17:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/152.jpg"
        },
        {
          "time": "10:17:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/153.jpg"
        },
        {
          "time": "10:17:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/154.jpg"
        },
        {
          "time": "10:17:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/155.jpg"
        },
        {
          "time": "10:17:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/156.jpg"
        },
        {
          "time": "10:17:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/157.jpg"
        },
        {
          "time": "10:17:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/158.jpg"
        },
        {
          "time": "10:17:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/159.jpg"
        },
        {
          "time": "10:18:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/160.jpg"
        },
        {
          "time": "10:18:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/161.jpg"
        },
        {
          "time": "10:18:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/162.jpg"
        },
        {
          "time": "10:18:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/163.jpg"
        },
        {
          "time": "10:18:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/164.jpg"
        },
        {
          "time": "10:18:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/165.jpg"
        },
        {
          "time": "10:18:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_7795/ep_212/166.jpg"
        },
        {
          "time": "10:18:15",
          "message": "  [>] 이미지 166개 처리 완료.\n"
        },
        {
          "time": "10:18:16",
          "message": "완료: 회차 212개 처리, 이미지 5318개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "07:19:06",
          "message": "대기열 순서를 변경했습니다: 72 -> 1"
        },
        {
          "time": "08:02:55",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "08:04:04",
          "message": "기존 완료 기록을 적용합니다: 212개 회차"
        },
        {
          "time": "08:04:04",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "08:04:04",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "08:04:04",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "08:04:04",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "08:04:04",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/7795"
        },
        {
          "time": "08:04:04",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7795"
        },
        {
          "time": "08:04:10",
          "message": "작품 제목: 디-프래그! (디 플래그) - 하루노 토모야"
        },
        {
          "time": "08:04:10",
          "message": "메타데이터 저장: /downloads/manhwa_7795/metadata.yaml"
        },
        {
          "time": "08:04:10",
          "message": "메타데이터 태그 저장: 디-프래그! (디 플래그, 하루노 토모야"
        },
        {
          "time": "08:04:10",
          "message": "기존 완료 회차 212개 제외"
        },
        {
          "time": "08:04:11",
          "message": "총 212개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "08:04:11",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:35:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:36:49",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:46:52",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:46:52"
        },
        {
          "time": "06:46:52",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:46:52",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:00:41",
          "message": "작품 제목: 7795"
        },
        {
          "time": "13:11:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:11:16"
        },
        {
          "time": "13:11:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:11:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:09:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #10"
        },
        {
          "time": "17:09:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:10:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=디-프래그! (디 플래그) - 하루노 토모야 | 뉴토끼, links=214"
        },
        {
          "time": "17:10:02",
          "message": "작품 제목: 디-프래그! (디 플래그) - 하루노 토모야"
        },
        {
          "time": "17:10:02",
          "message": "메타데이터 태그 저장: 디-프래그! (디 플래그, 하루노 토모야"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:03:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #966"
        },
        {
          "time": "06:03:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:03:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=디-프래그! (디 플래그) - 하루노 토모야 | 뉴토끼, links=214"
        },
        {
          "time": "06:03:54",
          "message": "작품 제목: 디-프래그! (디 플래그) - 하루노 토모야"
        },
        {
          "time": "06:03:54",
          "message": "메타데이터 태그 저장: 디-프래그! (디 플래그, 하루노 토모야"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:03:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #153"
        },
        {
          "time": "19:03:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:03:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=디-프래그! (디 플래그) - 하루노 토모야 | 뉴토끼, links=214"
        },
        {
          "time": "19:04:06",
          "message": "작품 제목: 디-프래그! (디 플래그) - 하루노 토모야"
        },
        {
          "time": "19:04:06",
          "message": "메타데이터 태그 저장: 디-프래그! (디 플래그, 하루노 토모야"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:28:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #535"
        },
        {
          "time": "12:28:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:29:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=디-프래그! (디 플래그) - 하루노 토모야 | 뉴토끼, links=214"
        },
        {
          "time": "12:29:34",
          "message": "작품 제목: 디-프래그! (디 플래그) - 하루노 토모야"
        },
        {
          "time": "12:29:35",
          "message": "메타데이터 태그 저장: 디-프래그! (디 플래그, 하루노 토모야"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:00:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #912"
        },
        {
          "time": "04:00:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:00:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=디-프래그! (디 플래그) - 하루노 토모야 | 뉴토끼, links=214"
        },
        {
          "time": "04:00:45",
          "message": "작품 제목: 디-프래그! (디 플래그) - 하루노 토모야"
        },
        {
          "time": "04:00:46",
          "message": "메타데이터 태그 저장: 디-프래그! (디 플래그, 하루노 토모야"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_7795",
        "target_id": "manhwa_7795",
        "title": "디-프래그! (디 플래그) - 하루노 토모야",
        "episodes_found": 212,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 212,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_7795",
          "title": "디-프래그! (디 플래그) - 하루노 토모야",
          "list_url": "https://newtoki1.org/manhwa/7795",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/7795"
          },
          "tags": [
            "디-프래그! (디 플래그",
            "하루노 토모야"
          ],
          "description": "도무지 긴장을 풀 수 없는 차라리 이해하고 싶지 않은 강압적 개그의 연속 하이텐션 개그! 학교에서 유명한 불량 학생인 카자마 켄지는 어느 날 우연히 ‘게임 제작부’에 발을 들여놓게 된다. 거기에는 부실 안에서 모닥불을 지피고 있는 여자 부원 4명이…. 여자들만 우글거리는 곳에 입부한 켄",
          "metadata_path": "/downloads/manhwa_7795/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 212,
        "total": 212,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "118ac7e873",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:12:40",
      "started_at": "2026-06-04T03:57:40",
      "finished_at": "2026-06-04T03:59:38",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "일일외출록 반장 - 우에하라 모토무",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/9536",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_9536",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "10:19:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_164/012.jpg"
        },
        {
          "time": "10:19:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_164/013.jpg"
        },
        {
          "time": "10:19:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_164/014.jpg"
        },
        {
          "time": "10:19:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_164/015.jpg"
        },
        {
          "time": "10:19:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_164/016.jpg"
        },
        {
          "time": "10:19:17",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_164/017.jpg"
        },
        {
          "time": "10:19:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_164/018.jpg"
        },
        {
          "time": "10:19:21",
          "message": "  [>] 이미지 18개 처리 완료.\n"
        },
        {
          "time": "10:19:22",
          "message": "  [=] 완료된 회차 건너뜀: ep_165 https://sbxh1.com/manhwa/9536/89147"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_166 https://sbxh1.com/manhwa/9536/89148"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_167 https://sbxh1.com/manhwa/9536/89149"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_168 https://sbxh1.com/manhwa/9536/89150"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_169 https://sbxh1.com/manhwa/9536/89151"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_170 https://sbxh1.com/manhwa/9536/89152"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_171 https://sbxh1.com/manhwa/9536/89153"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_172 https://sbxh1.com/manhwa/9536/89154"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_173 https://sbxh1.com/manhwa/9536/89155"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_174 https://sbxh1.com/manhwa/9536/89156"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_175 https://sbxh1.com/manhwa/9536/89157"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_176 https://sbxh1.com/manhwa/9536/233694"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_177 https://sbxh1.com/manhwa/9536/89158"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_178 https://sbxh1.com/manhwa/9536/89159"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_179 https://sbxh1.com/manhwa/9536/89160"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_180 https://sbxh1.com/manhwa/9536/89161"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_181 https://sbxh1.com/manhwa/9536/89162"
        },
        {
          "time": "10:19:23",
          "message": "  [=] 완료된 회차 건너뜀: ep_182 https://sbxh1.com/manhwa/9536/89163"
        },
        {
          "time": "10:19:24",
          "message": "  [=] 완료된 회차 건너뜀: ep_183 https://sbxh1.com/manhwa/9536/89164"
        },
        {
          "time": "10:19:24",
          "message": "  [=] 완료된 회차 건너뜀: ep_184 https://sbxh1.com/manhwa/9536/89165"
        },
        {
          "time": "10:19:24",
          "message": "  [=] 완료된 회차 건너뜀: ep_185 https://sbxh1.com/manhwa/9536/89166"
        },
        {
          "time": "10:19:24",
          "message": "  [=] 완료된 회차 건너뜀: ep_186 https://sbxh1.com/manhwa/9536/89167"
        },
        {
          "time": "10:19:24",
          "message": "완료: 회차 1개 처리, 이미지 18개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "03:03:47",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "03:05:05",
          "message": "기존 완료 기록을 적용합니다: 185개 회차"
        },
        {
          "time": "03:05:05",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "03:05:50",
          "message": "[!] 작업 실패: 브라우저 응답 시간이 초과되었습니다."
        },
        {
          "time": "03:16:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T03:16:03"
        },
        {
          "time": "03:16:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:16:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:48:58",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:48:07",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T14:48:06"
        },
        {
          "time": "14:48:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:47",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:18:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:19:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:19:52"
        },
        {
          "time": "15:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:26:24",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "15:27:44",
          "message": "기존 완료 기록을 적용합니다: 185개 회차"
        },
        {
          "time": "15:27:44",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:27:45",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:27:45",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:27:45",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:27:45",
          "message": "목록 페이지 접속 중: https://sbxh2.com/manhwa/9536"
        },
        {
          "time": "15:27:46",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9536"
        },
        {
          "time": "15:28:09",
          "message": "작품 제목: 일일외출록 반장 - 우에하라 모토무"
        },
        {
          "time": "15:28:10",
          "message": "메타데이터 저장: /downloads/manhwa_9536/metadata.yaml"
        },
        {
          "time": "15:28:10",
          "message": "메타데이터 태그 저장: 우에하라 모토무, 일일외출록 반장"
        },
        {
          "time": "15:28:10",
          "message": "기존 완료 회차 185개 제외"
        },
        {
          "time": "15:28:11",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "15:28:11",
          "message": "총 187개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "15:28:12",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9536/238174"
        },
        {
          "time": "15:28:12",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9536/238174"
        },
        {
          "time": "15:28:34",
          "message": "  [i] 회차 제목: 일일외출록 반장 72화"
        },
        {
          "time": "15:28:53",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/001.jpg"
        },
        {
          "time": "15:28:53",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/002.jpg"
        },
        {
          "time": "15:28:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/003.jpg"
        },
        {
          "time": "15:28:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/004.jpg"
        },
        {
          "time": "15:28:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/005.jpg"
        },
        {
          "time": "15:29:05",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/006.jpg"
        },
        {
          "time": "15:29:25",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/007.jpg"
        },
        {
          "time": "15:29:27",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/008.jpg"
        },
        {
          "time": "15:29:27",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/009.jpg"
        },
        {
          "time": "15:29:27",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/010.jpg"
        },
        {
          "time": "15:29:28",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/011.jpg"
        },
        {
          "time": "15:29:28",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/012.jpg"
        },
        {
          "time": "15:29:28",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/013.jpg"
        },
        {
          "time": "15:29:29",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/014.jpg"
        },
        {
          "time": "15:29:29",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/015.jpg"
        },
        {
          "time": "15:29:29",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/016.jpg"
        },
        {
          "time": "15:29:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_074/017.jpg"
        },
        {
          "time": "15:29:48",
          "message": "    [=] 이미 존재함: /downloads/manhwa_9536/ep_074/018.jpg"
        },
        {
          "time": "15:29:48",
          "message": "  [>] 이미지 18개 처리 완료.\n"
        },
        {
          "time": "15:29:50",
          "message": "  [>] 뷰어 접속 중: https://sbxh2.com/manhwa/9536/u-mp9oku5l-t0k1"
        },
        {
          "time": "15:29:51",
          "message": "브라우저 패널 이동: https://sbxh2.com/manhwa/9536/u-mp9oku5l-t0k1"
        },
        {
          "time": "15:30:08",
          "message": "  [i] 회차 제목: 일일외출록 반장 177화"
        },
        {
          "time": "15:30:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/001.jpg"
        },
        {
          "time": "15:30:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/002.jpg"
        },
        {
          "time": "15:30:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/003.jpg"
        },
        {
          "time": "15:30:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/004.jpg"
        },
        {
          "time": "15:30:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/005.jpg"
        },
        {
          "time": "15:30:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/006.jpg"
        },
        {
          "time": "15:30:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/007.jpg"
        },
        {
          "time": "15:30:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/008.jpg"
        },
        {
          "time": "15:30:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/009.jpg"
        },
        {
          "time": "15:30:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/010.jpg"
        },
        {
          "time": "15:30:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/011.jpg"
        },
        {
          "time": "15:30:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/012.jpg"
        },
        {
          "time": "15:30:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/013.jpg"
        },
        {
          "time": "15:30:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/014.jpg"
        },
        {
          "time": "15:30:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/015.jpg"
        },
        {
          "time": "15:30:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/016.jpg"
        },
        {
          "time": "15:30:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/017.jpg"
        },
        {
          "time": "15:30:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/018.jpg"
        },
        {
          "time": "15:30:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/019.jpg"
        },
        {
          "time": "15:30:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_9536/ep_187/020.jpg"
        },
        {
          "time": "15:30:44",
          "message": "  [>] 이미지 20개 처리 완료.\n"
        },
        {
          "time": "15:30:45",
          "message": "완료: 회차 2개 처리, 이미지 21개 저장, 17개 건너뜀"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:21:27",
          "message": "작품 제목: 9536"
        },
        {
          "time": "06:32:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:32:02"
        },
        {
          "time": "06:32:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:32:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:59:59",
          "message": "작품 제목: 9536"
        },
        {
          "time": "13:10:36",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:10:35"
        },
        {
          "time": "13:10:36",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:10:36",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:09:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "17:09:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:09:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일일외출록 반장 - 우에하라 모토무 | 뉴토끼, links=189"
        },
        {
          "time": "17:09:45",
          "message": "작품 제목: 일일외출록 반장 - 우에하라 모토무"
        },
        {
          "time": "17:09:45",
          "message": "메타데이터 태그 저장: 우에하라 모토무, 일일외출록 반장"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:04:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #967"
        },
        {
          "time": "06:04:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:04:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일일외출록 반장 - 우에하라 모토무 | 뉴토끼, links=189"
        },
        {
          "time": "06:04:40",
          "message": "작품 제목: 일일외출록 반장 - 우에하라 모토무"
        },
        {
          "time": "06:04:40",
          "message": "메타데이터 태그 저장: 우에하라 모토무, 일일외출록 반장"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:02:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #152"
        },
        {
          "time": "19:02:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:03:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일일외출록 반장 - 우에하라 모토무 | 뉴토끼, links=189"
        },
        {
          "time": "19:03:15",
          "message": "작품 제목: 일일외출록 반장 - 우에하라 모토무"
        },
        {
          "time": "19:03:15",
          "message": "메타데이터 태그 저장: 우에하라 모토무, 일일외출록 반장"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:30:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #536"
        },
        {
          "time": "12:30:09",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:30:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일일외출록 반장 - 우에하라 모토무 | 뉴토끼, links=189"
        },
        {
          "time": "12:30:23",
          "message": "작품 제목: 일일외출록 반장 - 우에하라 모토무"
        },
        {
          "time": "12:30:24",
          "message": "메타데이터 태그 저장: 우에하라 모토무, 일일외출록 반장"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:58:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #911"
        },
        {
          "time": "03:58:45",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:59:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=일일외출록 반장 - 우에하라 모토무 | 뉴토끼, links=189"
        },
        {
          "time": "03:59:17",
          "message": "작품 제목: 일일외출록 반장 - 우에하라 모토무"
        },
        {
          "time": "03:59:37",
          "message": "메타데이터 태그 저장: 우에하라 모토무, 일일외출록 반장"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_9536",
        "target_id": "manhwa_9536",
        "title": "일일외출록 반장 - 우에하라 모토무",
        "episodes_found": 187,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 187,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_9536",
          "title": "일일외출록 반장 - 우에하라 모토무",
          "list_url": "https://newtoki1.org/manhwa/9536",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/9536"
          },
          "tags": [
            "우에하라 모토무",
            "일일외출록 반장"
          ],
          "description": "중간관리록 토네가와에서 오오츠키의 1일 외출을 그린 단편이 실렸었는데, 이게 제법 인기가 있어서 아예 정식 시리즈화된 작품. 스토리 작가는 중간관리록 토네가와와 동일하지만 작화는 우에하라 모토무, 아라이 카즈야 2인이 담당했다. 시간적 배경은 카이지에게 털리는 시점 이전이다.[2] 제",
          "metadata_path": "/downloads/manhwa_9536/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 187,
        "total": 187,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "b1ff1c7079",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:12:27",
      "started_at": "2026-06-04T03:56:31",
      "finished_at": "2026-06-04T03:57:40",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "헤이세이 패잔병 스미레쨩 - 사토미 유",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/34954",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_34954",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "08:08:39",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/010.jpg"
        },
        {
          "time": "08:08:39",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/011.jpg"
        },
        {
          "time": "08:08:39",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/012.jpg"
        },
        {
          "time": "08:08:39",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/013.jpg"
        },
        {
          "time": "08:08:40",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/014.jpg"
        },
        {
          "time": "08:08:40",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/015.jpg"
        },
        {
          "time": "08:08:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_078/016.jpg"
        },
        {
          "time": "08:08:41",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/017.jpg"
        },
        {
          "time": "08:08:41",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/018.jpg"
        },
        {
          "time": "08:08:41",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/019.jpg"
        },
        {
          "time": "08:08:41",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/020.jpg"
        },
        {
          "time": "08:08:41",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/021.jpg"
        },
        {
          "time": "08:08:41",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/022.jpg"
        },
        {
          "time": "08:08:42",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/023.jpg"
        },
        {
          "time": "08:08:42",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/024.jpg"
        },
        {
          "time": "08:08:42",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_078/025.jpg"
        },
        {
          "time": "08:08:42",
          "message": "  [>] 이미지 25개 처리 완료.\n"
        },
        {
          "time": "08:08:43",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/34954/1811409"
        },
        {
          "time": "08:08:43",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34954/1811409"
        },
        {
          "time": "08:08:49",
          "message": "  [i] 회차 제목: 헤이세이 패잔병 스미레쨩 86화 헤이세이 패잔병☆스미레쨩 86화"
        },
        {
          "time": "08:08:49",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/001.jpg"
        },
        {
          "time": "08:08:49",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/002.jpg"
        },
        {
          "time": "08:08:49",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/003.jpg"
        },
        {
          "time": "08:08:49",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/004.jpg"
        },
        {
          "time": "08:08:49",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/005.jpg"
        },
        {
          "time": "08:08:49",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/006.jpg"
        },
        {
          "time": "08:08:49",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/007.jpg"
        },
        {
          "time": "08:08:50",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/008.jpg"
        },
        {
          "time": "08:08:50",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/009.jpg"
        },
        {
          "time": "08:08:50",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/010.jpg"
        },
        {
          "time": "08:08:50",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/011.jpg"
        },
        {
          "time": "08:08:50",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/012.jpg"
        },
        {
          "time": "08:08:50",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/013.jpg"
        },
        {
          "time": "08:08:50",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/014.jpg"
        },
        {
          "time": "08:08:50",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_095/015.jpg"
        },
        {
          "time": "08:08:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_095/016.jpg"
        },
        {
          "time": "08:08:52",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "08:08:53",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/34954/1814734"
        },
        {
          "time": "08:08:53",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34954/1814734"
        },
        {
          "time": "08:08:58",
          "message": "  [i] 회차 제목: 헤이세이 패잔병 스미레쨩 90화 헤이세이 패잔병☆스미레쨩 90화"
        },
        {
          "time": "08:08:58",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/001.jpg"
        },
        {
          "time": "08:08:58",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/002.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/003.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/004.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/005.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/006.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/007.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/008.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/009.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/010.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/011.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/012.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/013.jpg"
        },
        {
          "time": "08:08:59",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/014.jpg"
        },
        {
          "time": "08:09:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/015.jpg"
        },
        {
          "time": "08:09:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/016.jpg"
        },
        {
          "time": "08:09:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/017.jpg"
        },
        {
          "time": "08:09:00",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/018.jpg"
        },
        {
          "time": "08:09:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_099/019.jpg"
        },
        {
          "time": "08:09:01",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/020.jpg"
        },
        {
          "time": "08:09:02",
          "message": "    [=] 이미 존재함: /downloads/manhwa_34954/ep_099/021.jpg"
        },
        {
          "time": "08:09:02",
          "message": "  [>] 이미지 21개 처리 완료.\n"
        },
        {
          "time": "08:09:03",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/34954/u-mpalxur1-ma3q"
        },
        {
          "time": "08:09:03",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34954/u-mpalxur1-ma3q"
        },
        {
          "time": "08:09:09",
          "message": "  [i] 회차 제목: 헤이세이 패잔병 스미레쨩 95화"
        },
        {
          "time": "08:09:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/001.jpg"
        },
        {
          "time": "08:09:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/002.jpg"
        },
        {
          "time": "08:09:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/003.jpg"
        },
        {
          "time": "08:09:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/004.jpg"
        },
        {
          "time": "08:09:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/005.jpg"
        },
        {
          "time": "08:09:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/006.jpg"
        },
        {
          "time": "08:09:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/007.jpg"
        },
        {
          "time": "08:09:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/008.jpg"
        },
        {
          "time": "08:09:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/009.jpg"
        },
        {
          "time": "08:09:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/010.jpg"
        },
        {
          "time": "08:09:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/011.jpg"
        },
        {
          "time": "08:09:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/012.jpg"
        },
        {
          "time": "08:09:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/013.jpg"
        },
        {
          "time": "08:09:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/014.jpg"
        },
        {
          "time": "08:09:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/015.jpg"
        },
        {
          "time": "08:09:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_104/016.jpg"
        },
        {
          "time": "08:09:29",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "08:09:30",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/34954/u-mpalyrjw-t1jv"
        },
        {
          "time": "08:09:30",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/34954/u-mpalyrjw-t1jv"
        },
        {
          "time": "08:09:36",
          "message": "  [i] 회차 제목: 헤이세이 패잔병 스미레쨩 96화"
        },
        {
          "time": "08:09:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/001.jpg"
        },
        {
          "time": "08:09:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/002.jpg"
        },
        {
          "time": "08:09:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/003.jpg"
        },
        {
          "time": "08:09:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/004.jpg"
        },
        {
          "time": "08:09:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/005.jpg"
        },
        {
          "time": "08:09:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/006.jpg"
        },
        {
          "time": "08:09:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/007.jpg"
        },
        {
          "time": "08:09:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/008.jpg"
        },
        {
          "time": "08:09:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/009.jpg"
        },
        {
          "time": "08:09:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/010.jpg"
        },
        {
          "time": "08:09:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/011.jpg"
        },
        {
          "time": "08:09:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/012.jpg"
        },
        {
          "time": "08:09:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/013.jpg"
        },
        {
          "time": "08:09:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/014.jpg"
        },
        {
          "time": "08:09:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/015.jpg"
        },
        {
          "time": "08:09:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/016.jpg"
        },
        {
          "time": "08:10:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_34954/ep_105/017.jpg"
        },
        {
          "time": "08:10:00",
          "message": "  [>] 이미지 17개 처리 완료.\n"
        },
        {
          "time": "08:10:01",
          "message": "완료: 회차 5개 처리, 이미지 36개 저장, 59개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 5)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 5)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:35:38",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:35:41",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:46:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:46:12"
        },
        {
          "time": "06:46:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:46:13",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:59:53",
          "message": "작품 제목: 34954"
        },
        {
          "time": "13:09:55",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:09:54"
        },
        {
          "time": "13:09:55",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:09:55",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:09:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "17:09:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:09:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=헤이세이 패잔병 스미레쨩 - 사토미 유 | 뉴토끼, links=107"
        },
        {
          "time": "17:09:29",
          "message": "작품 제목: 헤이세이 패잔병 스미레쨩 - 사토미 유"
        },
        {
          "time": "17:09:29",
          "message": "메타데이터 태그 저장: 사토미 유, 헤이세이 패잔병 스미레쨩"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:05:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #968"
        },
        {
          "time": "06:05:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:05:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=헤이세이 패잔병 스미레쨩 - 사토미 유 | 뉴토끼, links=107"
        },
        {
          "time": "06:05:52",
          "message": "작품 제목: 헤이세이 패잔병 스미레쨩 - 사토미 유"
        },
        {
          "time": "06:05:52",
          "message": "메타데이터 태그 저장: 사토미 유, 헤이세이 패잔병 스미레쨩"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:02:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #151"
        },
        {
          "time": "19:02:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:02:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=헤이세이 패잔병 스미레쨩 - 사토미 유 | 뉴토끼, links=107"
        },
        {
          "time": "19:02:44",
          "message": "작품 제목: 헤이세이 패잔병 스미레쨩 - 사토미 유"
        },
        {
          "time": "19:02:44",
          "message": "메타데이터 태그 저장: 사토미 유, 헤이세이 패잔병 스미레쨩"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:31:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #537"
        },
        {
          "time": "12:31:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:31:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=헤이세이 패잔병 스미레쨩 - 사토미 유 | 뉴토끼, links=107"
        },
        {
          "time": "12:31:14",
          "message": "작품 제목: 헤이세이 패잔병 스미레쨩 - 사토미 유"
        },
        {
          "time": "12:31:15",
          "message": "메타데이터 태그 저장: 사토미 유, 헤이세이 패잔병 스미레쨩"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:56:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #909"
        },
        {
          "time": "03:56:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:56:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:56:53",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:56:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #910"
        },
        {
          "time": "03:56:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:57:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=헤이세이 패잔병 스미레쨩 - 사토미 유 | 뉴토끼, links=107"
        },
        {
          "time": "03:57:39",
          "message": "작품 제목: 헤이세이 패잔병 스미레쨩 - 사토미 유"
        },
        {
          "time": "03:57:39",
          "message": "메타데이터 태그 저장: 사토미 유, 헤이세이 패잔병 스미레쨩"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_34954",
        "target_id": "manhwa_34954",
        "title": "헤이세이 패잔병 스미레쨩 - 사토미 유",
        "episodes_found": 105,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 105,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_34954",
          "title": "헤이세이 패잔병 스미레쨩 - 사토미 유",
          "list_url": "https://newtoki1.org/manhwa/34954",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/34954"
          },
          "tags": [
            "사토미 유",
            "헤이세이 패잔병 스미레쨩"
          ],
          "description": "전·팔 수 없는 아이돌, 현·푸타로의 「스미레짱」31세. 연예계의 치열한 경쟁에 패배했고, 몸도 코코로도 보코된 그녀는 일단 보로 아파트에서 뻔뻔스러워하는 날들을 보냈다. 그런 그녀에게 눈을 떴던 사촌의 고등학교 1학년 `유세이`가 어떤 벌이 이야기를 든다. 「몸은 좋으니까 동인 그라비",
          "metadata_path": "/downloads/manhwa_34954/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 105,
        "total": 105,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "0a36fb18d2",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:11:36",
      "started_at": "2026-06-04T03:55:44",
      "finished_at": "2026-06-04T03:56:31",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "가슴 백합 앤솔로지 - 백합 앤솔로지",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/25180",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_25180",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "16:06:31",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/25180/u-mopfhlrp-9gsm"
        },
        {
          "time": "16:06:44",
          "message": "  [i] 회차 제목: 가슴 백합 앤솔로지 11화"
        },
        {
          "time": "16:06:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/001.jpg"
        },
        {
          "time": "16:06:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/002.jpg"
        },
        {
          "time": "16:06:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/003.jpg"
        },
        {
          "time": "16:06:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/004.jpg"
        },
        {
          "time": "16:07:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/005.jpg"
        },
        {
          "time": "16:07:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/006.jpg"
        },
        {
          "time": "16:07:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/007.jpg"
        },
        {
          "time": "16:07:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/008.jpg"
        },
        {
          "time": "16:07:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/009.jpg"
        },
        {
          "time": "16:07:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/010.jpg"
        },
        {
          "time": "16:07:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/011.jpg"
        },
        {
          "time": "16:07:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/012.jpg"
        },
        {
          "time": "16:07:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/013.jpg"
        },
        {
          "time": "16:07:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/014.jpg"
        },
        {
          "time": "16:07:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/015.jpg"
        },
        {
          "time": "16:07:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/016.jpg"
        },
        {
          "time": "16:07:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/017.jpg"
        },
        {
          "time": "16:07:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/018.jpg"
        },
        {
          "time": "16:07:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/019.jpg"
        },
        {
          "time": "16:07:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_011/020.jpg"
        },
        {
          "time": "16:07:58",
          "message": "  [>] 이미지 20개 처리 완료.\n"
        },
        {
          "time": "16:08:00",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/25180/u-mozppf2j-5xmo"
        },
        {
          "time": "16:08:00",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/25180/u-mozppf2j-5xmo"
        },
        {
          "time": "16:08:13",
          "message": "  [i] 회차 제목: 가슴 백합 앤솔로지 12화"
        },
        {
          "time": "16:08:13",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/001.jpg"
        },
        {
          "time": "16:08:14",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/002.jpg"
        },
        {
          "time": "16:08:14",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/003.jpg"
        },
        {
          "time": "16:08:14",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/004.jpg"
        },
        {
          "time": "16:08:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/005.jpg"
        },
        {
          "time": "16:08:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/006.jpg"
        },
        {
          "time": "16:08:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/007.jpg"
        },
        {
          "time": "16:08:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/008.jpg"
        },
        {
          "time": "16:08:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/009.jpg"
        },
        {
          "time": "16:08:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/010.jpg"
        },
        {
          "time": "16:08:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/011.jpg"
        },
        {
          "time": "16:08:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/012.jpg"
        },
        {
          "time": "16:08:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/013.jpg"
        },
        {
          "time": "16:08:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/014.jpg"
        },
        {
          "time": "16:08:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_25180/ep_012/015.jpg"
        },
        {
          "time": "16:08:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_012/016.jpg"
        },
        {
          "time": "16:08:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_012/017.jpg"
        },
        {
          "time": "16:08:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_012/018.jpg"
        },
        {
          "time": "16:08:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_012/019.jpg"
        },
        {
          "time": "16:08:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_012/020.jpg"
        },
        {
          "time": "16:08:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_012/021.jpg"
        },
        {
          "time": "16:08:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_012/022.jpg"
        },
        {
          "time": "16:08:42",
          "message": "  [>] 이미지 22개 처리 완료.\n"
        },
        {
          "time": "16:08:44",
          "message": "완료: 회차 11개 처리, 이미지 150개 저장, 35개 건너뜀"
        },
        {
          "time": "16:10:13",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-15T16:10:12"
        },
        {
          "time": "16:10:13",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:29:16",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "16:29:54",
          "message": "기존 완료 기록을 적용합니다: 11개 회차"
        },
        {
          "time": "16:29:54",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "16:29:55",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "16:29:55",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "16:29:55",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "16:29:55",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/25180"
        },
        {
          "time": "16:29:55",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/25180"
        },
        {
          "time": "16:30:07",
          "message": "작품 제목: 가슴 백합 앤솔로지 - 백합 앤솔로지"
        },
        {
          "time": "16:30:07",
          "message": "기존 완료 회차 11개 제외"
        },
        {
          "time": "16:30:08",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "16:30:08",
          "message": "총 12개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "16:30:09",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/25180/u-moyoy6xv-1rhp"
        },
        {
          "time": "16:30:09",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/25180/u-moyoy6xv-1rhp"
        },
        {
          "time": "16:30:23",
          "message": "  [i] 회차 제목: 가슴 백합 앤솔로지 5화"
        },
        {
          "time": "16:30:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/001.jpg"
        },
        {
          "time": "16:30:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/002.jpg"
        },
        {
          "time": "16:30:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/003.jpg"
        },
        {
          "time": "16:30:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/004.jpg"
        },
        {
          "time": "16:30:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/005.jpg"
        },
        {
          "time": "16:30:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/006.jpg"
        },
        {
          "time": "16:30:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/007.jpg"
        },
        {
          "time": "16:30:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/008.jpg"
        },
        {
          "time": "16:30:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/009.jpg"
        },
        {
          "time": "16:31:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/010.jpg"
        },
        {
          "time": "16:31:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/011.jpg"
        },
        {
          "time": "16:31:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/012.jpg"
        },
        {
          "time": "16:31:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/013.jpg"
        },
        {
          "time": "16:31:19",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/014.jpg"
        },
        {
          "time": "16:31:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/015.jpg"
        },
        {
          "time": "16:31:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/016.jpg"
        },
        {
          "time": "16:31:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/017.jpg"
        },
        {
          "time": "16:31:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/018.jpg"
        },
        {
          "time": "16:31:38",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/019.jpg"
        },
        {
          "time": "16:31:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_25180/ep_005/020.jpg"
        },
        {
          "time": "16:31:42",
          "message": "  [>] 이미지 20개 처리 완료.\n"
        },
        {
          "time": "16:31:43",
          "message": "완료: 회차 1개 처리, 이미지 20개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "07:18:50",
          "message": "대기열 순서를 변경했습니다: 68 -> 1"
        },
        {
          "time": "08:10:01",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "08:11:10",
          "message": "기존 완료 기록을 적용합니다: 12개 회차"
        },
        {
          "time": "08:11:10",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "08:11:10",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "08:11:10",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "08:11:10",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "08:11:10",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/25180"
        },
        {
          "time": "08:11:10",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/25180"
        },
        {
          "time": "08:11:19",
          "message": "작품 제목: 가슴 백합 앤솔로지 - 백합 앤솔로지"
        },
        {
          "time": "08:11:19",
          "message": "메타데이터 저장: /downloads/manhwa_25180/metadata.yaml"
        },
        {
          "time": "08:11:19",
          "message": "메타데이터 태그 저장: 가슴 백합 앤솔로지, 백합 앤솔로지"
        },
        {
          "time": "08:11:19",
          "message": "기존 완료 회차 12개 제외"
        },
        {
          "time": "08:11:19",
          "message": "총 12개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "08:11:19",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:35:34",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:35:37",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:46:12",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:46:12"
        },
        {
          "time": "06:46:12",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:46:12",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:59:43",
          "message": "작품 제목: 25180"
        },
        {
          "time": "13:09:47",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:09:47"
        },
        {
          "time": "13:09:47",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:09:47",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:08:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "17:08:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:09:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 백합 앤솔로지 - 백합 앤솔로지 | 뉴토끼, links=14"
        },
        {
          "time": "17:09:13",
          "message": "작품 제목: 가슴 백합 앤솔로지 - 백합 앤솔로지"
        },
        {
          "time": "17:09:13",
          "message": "메타데이터 태그 저장: 가슴 백합 앤솔로지, 백합 앤솔로지"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:06:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #969"
        },
        {
          "time": "06:06:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:06:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 백합 앤솔로지 - 백합 앤솔로지 | 뉴토끼, links=14"
        },
        {
          "time": "06:06:42",
          "message": "작품 제목: 가슴 백합 앤솔로지 - 백합 앤솔로지"
        },
        {
          "time": "06:06:42",
          "message": "메타데이터 태그 저장: 가슴 백합 앤솔로지, 백합 앤솔로지"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:01:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #150"
        },
        {
          "time": "19:01:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:01:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 백합 앤솔로지 - 백합 앤솔로지 | 뉴토끼, links=14"
        },
        {
          "time": "19:01:28",
          "message": "작품 제목: 가슴 백합 앤솔로지 - 백합 앤솔로지"
        },
        {
          "time": "19:01:28",
          "message": "메타데이터 태그 저장: 가슴 백합 앤솔로지, 백합 앤솔로지"
        },
        {
          "time": "17:25:52",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:31:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #538"
        },
        {
          "time": "12:31:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:31:38",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:31:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #539"
        },
        {
          "time": "12:31:39",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:31:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 백합 앤솔로지 - 백합 앤솔로지 | 뉴토끼, links=14"
        },
        {
          "time": "12:32:27",
          "message": "작품 제목: 가슴 백합 앤솔로지 - 백합 앤솔로지"
        },
        {
          "time": "12:32:27",
          "message": "메타데이터 태그 저장: 가슴 백합 앤솔로지, 백합 앤솔로지"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:56:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #908"
        },
        {
          "time": "03:56:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:56:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=가슴 백합 앤솔로지 - 백합 앤솔로지 | 뉴토끼, links=14"
        },
        {
          "time": "03:56:30",
          "message": "작품 제목: 가슴 백합 앤솔로지 - 백합 앤솔로지"
        },
        {
          "time": "03:56:30",
          "message": "메타데이터 태그 저장: 가슴 백합 앤솔로지, 백합 앤솔로지"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_25180",
        "target_id": "manhwa_25180",
        "title": "가슴 백합 앤솔로지 - 백합 앤솔로지",
        "episodes_found": 12,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 12,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_25180",
          "title": "가슴 백합 앤솔로지 - 백합 앤솔로지",
          "list_url": "https://newtoki1.org/manhwa/25180",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/25180"
          },
          "tags": [
            "가슴 백합 앤솔로지",
            "백합 앤솔로지"
          ],
          "description": "가슴이란 건 훌륭하다고 생각하지 않아? 그 누구보다 가슴을 좋아하는 백합 작가들이 모였다! 콘부 와카메, 카가와 유사쿠, 이토 하치, 구우, 호무라 스바루, 엔도, 쿠로, majoccoid, 칸다 단, 하치코, 유이노 치리, 칸로 아메, 히사기, 키사라기 미즈+Doggy 등 가슴",
          "metadata_path": "/downloads/manhwa_25180/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 12,
        "total": 12,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "1e6ecb00b0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:10:51",
      "started_at": "2026-06-04T03:53:43",
      "finished_at": "2026-06-04T03:55:44",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "서머타임 렌더링 - 타나카 야스키",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/7843",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_7843",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "21:28:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_141/006.jpg"
        },
        {
          "time": "21:28:54",
          "message": "  [>] 이미지 6개 처리 완료.\n"
        },
        {
          "time": "21:28:55",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7843/131330"
        },
        {
          "time": "21:28:55",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7843/131330"
        },
        {
          "time": "21:29:01",
          "message": "  [i] 회차 제목: 서머타임 렌더링 3화 번…화 + 2권 부록"
        },
        {
          "time": "21:29:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/001.jpg"
        },
        {
          "time": "21:29:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/002.jpg"
        },
        {
          "time": "21:29:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/003.jpg"
        },
        {
          "time": "21:29:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/004.jpg"
        },
        {
          "time": "21:29:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/005.jpg"
        },
        {
          "time": "21:29:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/006.jpg"
        },
        {
          "time": "21:29:13",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/007.jpg"
        },
        {
          "time": "21:29:15",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/008.jpg"
        },
        {
          "time": "21:29:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/009.jpg"
        },
        {
          "time": "21:29:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/010.jpg"
        },
        {
          "time": "21:29:21",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/011.jpg"
        },
        {
          "time": "21:29:23",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/012.jpg"
        },
        {
          "time": "21:29:25",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/013.jpg"
        },
        {
          "time": "21:29:27",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/014.jpg"
        },
        {
          "time": "21:29:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/015.jpg"
        },
        {
          "time": "21:29:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_142/016.jpg"
        },
        {
          "time": "21:29:31",
          "message": "  [>] 이미지 16개 처리 완료.\n"
        },
        {
          "time": "21:29:32",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7843/131306"
        },
        {
          "time": "21:29:32",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7843/131306"
        },
        {
          "time": "21:29:37",
          "message": "  [i] 회차 제목: 서머타임 렌더링 번외편 2화"
        },
        {
          "time": "21:29:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_143/001.jpg"
        },
        {
          "time": "21:29:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_143/002.jpg"
        },
        {
          "time": "21:29:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_143/003.jpg"
        },
        {
          "time": "21:29:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_143/004.jpg"
        },
        {
          "time": "21:29:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_143/005.jpg"
        },
        {
          "time": "21:29:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_143/006.jpg"
        },
        {
          "time": "21:29:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_143/007.jpg"
        },
        {
          "time": "21:29:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_143/008.jpg"
        },
        {
          "time": "21:29:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_143/009.jpg"
        },
        {
          "time": "21:29:53",
          "message": "  [>] 이미지 9개 처리 완료.\n"
        },
        {
          "time": "21:29:54",
          "message": "완료: 회차 143개 처리, 이미지 2509개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "10:35:41",
          "message": "대기열 순서를 변경했습니다: 79 -> 78"
        },
        {
          "time": "10:35:42",
          "message": "대기열 순서를 변경했습니다: 78 -> 77"
        },
        {
          "time": "10:35:42",
          "message": "대기열 순서를 변경했습니다: 77 -> 76"
        },
        {
          "time": "10:35:42",
          "message": "대기열 순서를 변경했습니다: 76 -> 75"
        },
        {
          "time": "10:35:42",
          "message": "대기열 순서를 변경했습니다: 75 -> 74"
        },
        {
          "time": "10:35:42",
          "message": "대기열 순서를 변경했습니다: 74 -> 73"
        },
        {
          "time": "10:35:42",
          "message": "대기열 순서를 변경했습니다: 73 -> 72"
        },
        {
          "time": "10:35:42",
          "message": "대기열 순서를 변경했습니다: 72 -> 71"
        },
        {
          "time": "10:35:43",
          "message": "대기열 순서를 변경했습니다: 71 -> 70"
        },
        {
          "time": "07:18:23",
          "message": "대기열 순서를 변경했습니다: 60 -> 1"
        },
        {
          "time": "08:26:26",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "08:27:34",
          "message": "기존 완료 기록을 적용합니다: 142개 회차"
        },
        {
          "time": "08:27:35",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "08:27:40",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "08:27:40",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "08:27:40",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "08:27:40",
          "message": "목록 페이지 접속 중: https://sbxh1.com/manhwa/7843"
        },
        {
          "time": "08:27:40",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7843"
        },
        {
          "time": "08:27:47",
          "message": "작품 제목: 서머타임 렌더링 - 타나카 야스키"
        },
        {
          "time": "08:27:47",
          "message": "메타데이터 저장: /downloads/manhwa_7843/metadata.yaml"
        },
        {
          "time": "08:27:47",
          "message": "메타데이터 태그 저장: 서머타임 렌더링, 타나카 야스키"
        },
        {
          "time": "08:27:47",
          "message": "기존 완료 회차 142개 제외"
        },
        {
          "time": "08:27:47",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "08:27:47",
          "message": "총 143개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "08:27:47",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/manhwa/7843/131288"
        },
        {
          "time": "08:27:47",
          "message": "브라우저 패널 이동: https://sbxh1.com/manhwa/7843/131288"
        },
        {
          "time": "08:27:54",
          "message": "  [i] 회차 제목: 서머타임 렌더링 41화"
        },
        {
          "time": "08:27:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/001.jpg"
        },
        {
          "time": "08:27:54",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/002.jpg"
        },
        {
          "time": "08:27:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/003.jpg"
        },
        {
          "time": "08:27:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/004.jpg"
        },
        {
          "time": "08:27:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/005.jpg"
        },
        {
          "time": "08:27:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/006.jpg"
        },
        {
          "time": "08:27:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/007.jpg"
        },
        {
          "time": "08:27:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/008.jpg"
        },
        {
          "time": "08:27:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/009.jpg"
        },
        {
          "time": "08:27:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/010.jpg"
        },
        {
          "time": "08:27:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/011.jpg"
        },
        {
          "time": "08:27:55",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/012.jpg"
        },
        {
          "time": "08:27:56",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/013.jpg"
        },
        {
          "time": "08:27:56",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/014.jpg"
        },
        {
          "time": "08:27:56",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/015.jpg"
        },
        {
          "time": "08:27:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_7843/ep_044/016.jpg"
        },
        {
          "time": "08:27:58",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/017.jpg"
        },
        {
          "time": "08:27:58",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/018.jpg"
        },
        {
          "time": "08:27:58",
          "message": "    [=] 이미 존재함: /downloads/manhwa_7843/ep_044/019.jpg"
        },
        {
          "time": "08:27:58",
          "message": "  [>] 이미지 19개 처리 완료.\n"
        },
        {
          "time": "08:27:59",
          "message": "완료: 회차 1개 처리, 이미지 1개 저장, 18개 건너뜀"
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:34:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:34:35",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:44:46",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:44:45"
        },
        {
          "time": "06:44:46",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:44:46",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:58:58",
          "message": "작품 제목: 7843"
        },
        {
          "time": "13:09:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:09:03"
        },
        {
          "time": "13:09:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:09:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:07:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #5"
        },
        {
          "time": "17:07:58",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:08:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=서머타임 렌더링 - 타나카 야스키 | 뉴토끼, links=145"
        },
        {
          "time": "17:08:19",
          "message": "작품 제목: 서머타임 렌더링 - 타나카 야스키"
        },
        {
          "time": "17:08:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #6"
        },
        {
          "time": "17:08:19",
          "message": "메타데이터 태그 저장: 서머타임 렌더링, 타나카 야스키"
        },
        {
          "time": "17:08:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:08:19",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "17:08:31",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=서머타임 렌더링 번외편 8화 | 뉴토끼, images=26"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:07:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #970"
        },
        {
          "time": "06:07:14",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:07:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=서머타임 렌더링 - 타나카 야스키 | 뉴토끼, links=145"
        },
        {
          "time": "06:07:29",
          "message": "작품 제목: 서머타임 렌더링 - 타나카 야스키"
        },
        {
          "time": "06:07:29",
          "message": "메타데이터 태그 저장: 서머타임 렌더링, 타나카 야스키"
        },
        {
          "time": "06:07:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #971"
        },
        {
          "time": "06:07:29",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:07:29",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "06:07:45",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=서머타임 렌더링 번외편 8화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "19:00:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #148"
        },
        {
          "time": "19:00:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:00:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=서머타임 렌더링 - 타나카 야스키 | 뉴토끼, links=145"
        },
        {
          "time": "19:00:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #149"
        },
        {
          "time": "19:00:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:00:52",
          "message": "작품 제목: 서머타임 렌더링 - 타나카 야스키"
        },
        {
          "time": "19:00:52",
          "message": "메타데이터 태그 저장: 서머타임 렌더링, 타나카 야스키"
        },
        {
          "time": "19:00:52",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "19:01:00",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=서머타임 렌더링 번외편 8화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "17:25:51",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:33:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #540"
        },
        {
          "time": "12:33:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:33:43",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:33:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #541"
        },
        {
          "time": "12:33:43",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:33:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=서머타임 렌더링 - 타나카 야스키 | 뉴토끼, links=145"
        },
        {
          "time": "12:34:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #542"
        },
        {
          "time": "12:34:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:34:31",
          "message": "작품 제목: 서머타임 렌더링 - 타나카 야스키"
        },
        {
          "time": "12:34:31",
          "message": "메타데이터 태그 저장: 서머타임 렌더링, 타나카 야스키"
        },
        {
          "time": "12:34:31",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "12:34:38",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=서머타임 렌더링 번외편 8화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:54:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #906"
        },
        {
          "time": "03:54:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:55:10",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=서머타임 렌더링 - 타나카 야스키 | 뉴토끼, links=145"
        },
        {
          "time": "03:55:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #907"
        },
        {
          "time": "03:55:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:55:41",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=서머타임 렌더링 번외편 8화 | 뉴토끼, img_tags=27, image_urls=27"
        },
        {
          "time": "03:55:41",
          "message": "작품 제목: 서머타임 렌더링 - 타나카 야스키"
        },
        {
          "time": "03:55:42",
          "message": "메타데이터 태그 저장: 서머타임 렌더링, 타나카 야스키"
        },
        {
          "time": "03:55:42",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_7843",
        "target_id": "manhwa_7843",
        "title": "서머타임 렌더링 - 타나카 야스키",
        "episodes_found": 143,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 142,
        "images_found": 1,
        "images_downloaded": 0,
        "images_skipped": 1,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_7843",
          "title": "서머타임 렌더링 - 타나카 야스키",
          "list_url": "https://newtoki1.org/manhwa/7843",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/7843"
          },
          "tags": [
            "서머타임 렌더링",
            "타나카 야스키"
          ],
          "description": "무대가 되는 와카야마 시 히토가시마에는 한가지 전승이 있었다--자신과 똑같은 그림자를 본 사람은 며칠 후 죽는다 주인공 신페이는 소꿉친구의[그림자]에 살해당하고는 시간이 되감기는 루프 능력으로 [그림자]사건의 진상을 쫓기로 한다",
          "metadata_path": "/downloads/manhwa_7843/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 11,
          "url": "https://newtoki1.org/manhwa/7843/131290",
          "title": "서머타임 렌더링 번외편 8화",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "b649d90d4f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:10:27",
      "started_at": "2026-06-04T03:52:16",
      "finished_at": "2026-06-04T03:53:43",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "도박묵시록 카이지 - 후쿠모토 노부유키",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/manhwa/45",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "manhwa_45",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "23:57:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/006.jpg"
        },
        {
          "time": "23:57:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/007.jpg"
        },
        {
          "time": "23:57:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/008.jpg"
        },
        {
          "time": "23:57:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/009.jpg"
        },
        {
          "time": "23:57:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/010.jpg"
        },
        {
          "time": "23:57:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/011.jpg"
        },
        {
          "time": "23:57:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/012.jpg"
        },
        {
          "time": "23:57:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/013.jpg"
        },
        {
          "time": "23:57:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/014.jpg"
        },
        {
          "time": "23:57:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/015.jpg"
        },
        {
          "time": "23:57:03",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/016.jpg"
        },
        {
          "time": "23:57:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/017.jpg"
        },
        {
          "time": "23:57:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/018.jpg"
        },
        {
          "time": "23:57:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/019.jpg"
        },
        {
          "time": "23:57:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/020.jpg"
        },
        {
          "time": "23:57:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/021.jpg"
        },
        {
          "time": "23:57:04",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/022.jpg"
        },
        {
          "time": "23:57:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_45/ep_026/023.jpg"
        },
        {
          "time": "23:57:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/024.jpg"
        },
        {
          "time": "23:57:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/025.jpg"
        },
        {
          "time": "23:57:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/026.jpg"
        },
        {
          "time": "23:57:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/027.jpg"
        },
        {
          "time": "23:57:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/028.jpg"
        },
        {
          "time": "23:57:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/029.jpg"
        },
        {
          "time": "23:57:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/030.jpg"
        },
        {
          "time": "23:57:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/031.jpg"
        },
        {
          "time": "23:57:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/032.jpg"
        },
        {
          "time": "23:57:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/033.jpg"
        },
        {
          "time": "23:57:15",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/034.jpg"
        },
        {
          "time": "23:57:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/035.jpg"
        },
        {
          "time": "23:57:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/036.jpg"
        },
        {
          "time": "23:57:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/037.jpg"
        },
        {
          "time": "23:57:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/038.jpg"
        },
        {
          "time": "23:57:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/039.jpg"
        },
        {
          "time": "23:57:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/040.jpg"
        },
        {
          "time": "23:57:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/041.jpg"
        },
        {
          "time": "23:57:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/042.jpg"
        },
        {
          "time": "23:57:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/043.jpg"
        },
        {
          "time": "23:57:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/044.jpg"
        },
        {
          "time": "23:57:16",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/045.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/046.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/047.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/048.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/049.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/050.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/051.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/052.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/053.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/054.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/055.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/056.jpg"
        },
        {
          "time": "23:57:17",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/057.jpg"
        },
        {
          "time": "23:57:18",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/058.jpg"
        },
        {
          "time": "23:57:18",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/059.jpg"
        },
        {
          "time": "23:57:18",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/060.jpg"
        },
        {
          "time": "23:57:18",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/061.jpg"
        },
        {
          "time": "23:57:18",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/062.jpg"
        },
        {
          "time": "23:57:18",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/063.jpg"
        },
        {
          "time": "23:57:18",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/064.jpg"
        },
        {
          "time": "23:57:18",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/065.jpg"
        },
        {
          "time": "23:57:18",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/066.jpg"
        },
        {
          "time": "23:57:18",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/067.jpg"
        },
        {
          "time": "23:57:18",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/068.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/069.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/070.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/071.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/072.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/073.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/074.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/075.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/076.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/077.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/078.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/079.jpg"
        },
        {
          "time": "23:57:19",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/080.jpg"
        },
        {
          "time": "23:57:20",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/081.jpg"
        },
        {
          "time": "23:57:20",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/082.jpg"
        },
        {
          "time": "23:57:20",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/083.jpg"
        },
        {
          "time": "23:57:20",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/084.jpg"
        },
        {
          "time": "23:57:20",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/085.jpg"
        },
        {
          "time": "23:57:20",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/086.jpg"
        },
        {
          "time": "23:57:20",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/087.jpg"
        },
        {
          "time": "23:57:20",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/088.jpg"
        },
        {
          "time": "23:57:20",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/089.jpg"
        },
        {
          "time": "23:57:20",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/090.jpg"
        },
        {
          "time": "23:57:20",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/091.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/092.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/093.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/094.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/095.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/096.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/097.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/098.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/099.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/100.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/101.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/102.jpg"
        },
        {
          "time": "23:57:21",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/103.jpg"
        },
        {
          "time": "23:57:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/104.jpg"
        },
        {
          "time": "23:57:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/105.jpg"
        },
        {
          "time": "23:57:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/106.jpg"
        },
        {
          "time": "23:57:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/107.jpg"
        },
        {
          "time": "23:57:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/108.jpg"
        },
        {
          "time": "23:57:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/109.jpg"
        },
        {
          "time": "23:57:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/110.jpg"
        },
        {
          "time": "23:57:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/111.jpg"
        },
        {
          "time": "23:57:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/112.jpg"
        },
        {
          "time": "23:57:22",
          "message": "    [=] 이미 존재함: /downloads/manhwa_45/ep_026/113.jpg"
        },
        {
          "time": "23:57:22",
          "message": "  [>] 이미지 113개 처리 완료.\n"
        },
        {
          "time": "23:57:24",
          "message": "완료: 회차 1개 처리, 이미지 1개 저장, 112개 건너뜀"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:17:22",
          "message": "작품 제목: 45"
        },
        {
          "time": "06:27:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:27:31"
        },
        {
          "time": "06:27:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:27:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:58:36",
          "message": "작품 제목: 45"
        },
        {
          "time": "13:09:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:09:03"
        },
        {
          "time": "13:09:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:09:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:07:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "17:07:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:07:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도박묵시록 카이지 - 후쿠모토 노부유키 | 뉴토끼, links=304"
        },
        {
          "time": "17:07:57",
          "message": "작품 제목: 도박묵시록 카이지 - 후쿠모토 노부유키"
        },
        {
          "time": "17:07:57",
          "message": "메타데이터 태그 저장: 도박묵시록 카이지, 후쿠모토 노부유키"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:08:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #972"
        },
        {
          "time": "06:08:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:08:35",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도박묵시록 카이지 - 후쿠모토 노부유키 | 뉴토끼, links=304"
        },
        {
          "time": "06:08:35",
          "message": "작품 제목: 도박묵시록 카이지 - 후쿠모토 노부유키"
        },
        {
          "time": "06:08:35",
          "message": "메타데이터 태그 저장: 도박묵시록 카이지, 후쿠모토 노부유키"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:59:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #147"
        },
        {
          "time": "18:59:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "19:00:03",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도박묵시록 카이지 - 후쿠모토 노부유키 | 뉴토끼, links=304"
        },
        {
          "time": "19:00:04",
          "message": "작품 제목: 도박묵시록 카이지 - 후쿠모토 노부유키"
        },
        {
          "time": "19:00:04",
          "message": "메타데이터 태그 저장: 도박묵시록 카이지, 후쿠모토 노부유키"
        },
        {
          "time": "17:25:51",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:36:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #543"
        },
        {
          "time": "12:36:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:37:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도박묵시록 카이지 - 후쿠모토 노부유키 | 뉴토끼, links=304"
        },
        {
          "time": "12:37:59",
          "message": "작품 제목: 도박묵시록 카이지 - 후쿠모토 노부유키"
        },
        {
          "time": "12:38:00",
          "message": "메타데이터 태그 저장: 도박묵시록 카이지, 후쿠모토 노부유키"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:52:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #905"
        },
        {
          "time": "03:52:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:53:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=도박묵시록 카이지 - 후쿠모토 노부유키 | 뉴토끼, links=304"
        },
        {
          "time": "03:53:41",
          "message": "작품 제목: 도박묵시록 카이지 - 후쿠모토 노부유키"
        },
        {
          "time": "03:53:42",
          "message": "메타데이터 태그 저장: 도박묵시록 카이지, 후쿠모토 노부유키"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/manhwa_45",
        "target_id": "manhwa_45",
        "title": "도박묵시록 카이지 - 후쿠모토 노부유키",
        "episodes_found": 302,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 302,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "manhwa_45",
          "title": "도박묵시록 카이지 - 후쿠모토 노부유키",
          "list_url": "https://newtoki1.org/manhwa/45",
          "source": {
            "host": "sbxh4.com",
            "path": "/manhwa/45"
          },
          "tags": [
            "도박묵시록 카이지",
            "후쿠모토 노부유키"
          ],
          "description": "매일 빈둥거리며 살아가는 주인공 카이지.어느날 그의 집에 빚쟁이 엔도가 찾아온다.빚은 막대한 금리때문에 1년이 조금 넘자 385만엔 이라는 액수가 되어버리고, 월 6만엔씩 상환하는데, 그 기간은 11년. 그러나 엔도는 카이지에게 하룻밤 사이에 전부 갚을 수 있는 방법을 제시하는데...",
          "metadata_path": "/downloads/manhwa_45/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 302,
        "total": 302,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "8640ef0be5",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:07:02",
      "started_at": "2026-06-07T00:38:00",
      "finished_at": "2026-06-07T00:39:00",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "담배피지 마세요! - 싸능,모모세",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/16340",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_16340"
      },
      "logs": [
        {
          "time": "22:59:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1345"
        },
        {
          "time": "22:59:35",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:00:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1346"
        },
        {
          "time": "23:00:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:00:22",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1347"
        },
        {
          "time": "23:00:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:11:31",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:11:31"
        },
        {
          "time": "23:11:31",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:11:31",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:11:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1376"
        },
        {
          "time": "23:11:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:11:54",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "23:11:55",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "23:11:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1377"
        },
        {
          "time": "23:11:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:12:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=담배피지 마세요! - 싸능,모모세 | 뉴토끼, links=98"
        },
        {
          "time": "23:12:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1378"
        },
        {
          "time": "23:12:10",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:12:10",
          "message": "작품 제목: 담배피지 마세요! - 싸능,모모세"
        },
        {
          "time": "23:12:12",
          "message": "메타데이터 태그 저장: 담배피지 마세요!, 로맨스, 모모세, 성인, 싸능"
        },
        {
          "time": "23:12:12",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:12:31",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1379"
        },
        {
          "time": "23:12:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:12:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1380"
        },
        {
          "time": "23:12:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:13:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1381"
        },
        {
          "time": "23:13:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:24:11",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:24:11"
        },
        {
          "time": "23:24:11",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:24:11",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:24:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1410"
        },
        {
          "time": "23:24:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:24:35",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "23:24:35",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "23:24:35",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1411"
        },
        {
          "time": "23:24:36",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:24:44",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=담배피지 마세요! - 싸능,모모세 | 뉴토끼, links=98"
        },
        {
          "time": "23:24:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1412"
        },
        {
          "time": "23:24:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:24:50",
          "message": "작품 제목: 담배피지 마세요! - 싸능,모모세"
        },
        {
          "time": "23:24:52",
          "message": "메타데이터 태그 저장: 담배피지 마세요!, 로맨스, 모모세, 성인, 싸능"
        },
        {
          "time": "23:24:52",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:25:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1413"
        },
        {
          "time": "23:25:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:25:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1414"
        },
        {
          "time": "23:25:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:25:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1415"
        },
        {
          "time": "23:25:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:36:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:36:30"
        },
        {
          "time": "23:36:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:36:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:36:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1443"
        },
        {
          "time": "23:36:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:36:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "23:36:54",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "23:36:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1444"
        },
        {
          "time": "23:36:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:37:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=담배피지 마세요! - 싸능,모모세 | 뉴토끼, links=98"
        },
        {
          "time": "23:37:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1445"
        },
        {
          "time": "23:37:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:37:11",
          "message": "작품 제목: 담배피지 마세요! - 싸능,모모세"
        },
        {
          "time": "23:37:12",
          "message": "메타데이터 태그 저장: 담배피지 마세요!, 로맨스, 모모세, 성인, 싸능"
        },
        {
          "time": "23:37:12",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:37:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1446"
        },
        {
          "time": "23:37:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:37:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1447"
        },
        {
          "time": "23:37:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:38:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1448"
        },
        {
          "time": "23:38:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:48:43",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-06T23:48:43"
        },
        {
          "time": "23:48:43",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "23:48:43",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "23:49:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1476"
        },
        {
          "time": "23:49:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:49:20",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "23:49:20",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "23:49:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1477"
        },
        {
          "time": "23:49:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:49:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=담배피지 마세요! - 싸능,모모세 | 뉴토끼, links=98"
        },
        {
          "time": "23:49:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1478"
        },
        {
          "time": "23:49:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:49:30",
          "message": "작품 제목: 담배피지 마세요! - 싸능,모모세"
        },
        {
          "time": "23:49:31",
          "message": "메타데이터 태그 저장: 담배피지 마세요!, 로맨스, 모모세, 성인, 싸능"
        },
        {
          "time": "23:49:32",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "23:49:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1479"
        },
        {
          "time": "23:49:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:50:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1480"
        },
        {
          "time": "23:50:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "23:50:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1481"
        },
        {
          "time": "23:50:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:01:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T00:01:03"
        },
        {
          "time": "00:01:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:01:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:01:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1508"
        },
        {
          "time": "00:01:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:01:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=담배피지 마세요! - 싸능,모모세 | 뉴토끼, links=98"
        },
        {
          "time": "00:01:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1509"
        },
        {
          "time": "00:01:16",
          "message": "작품 제목: 담배피지 마세요! - 싸능,모모세"
        },
        {
          "time": "00:01:16",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:01:17",
          "message": "메타데이터 태그 저장: 담배피지 마세요!, 로맨스, 모모세, 성인, 싸능"
        },
        {
          "time": "00:01:19",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:01:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1510"
        },
        {
          "time": "00:01:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:02:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1511"
        },
        {
          "time": "00:02:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:02:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1512"
        },
        {
          "time": "00:02:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:13:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T00:13:16"
        },
        {
          "time": "00:13:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:13:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:13:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1541"
        },
        {
          "time": "00:13:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:13:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=담배피지 마세요! - 싸능,모모세 | 뉴토끼, links=98"
        },
        {
          "time": "00:13:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1542"
        },
        {
          "time": "00:13:30",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:13:30",
          "message": "작품 제목: 담배피지 마세요! - 싸능,모모세"
        },
        {
          "time": "00:13:31",
          "message": "메타데이터 태그 저장: 담배피지 마세요!, 로맨스, 모모세, 성인, 싸능"
        },
        {
          "time": "00:13:32",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:13:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1543"
        },
        {
          "time": "00:13:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:14:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1544"
        },
        {
          "time": "00:14:13",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:14:34",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1545"
        },
        {
          "time": "00:14:34",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:25:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T00:25:26"
        },
        {
          "time": "00:25:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:25:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:25:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1573"
        },
        {
          "time": "00:25:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:25:54",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "00:25:54",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "00:25:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1574"
        },
        {
          "time": "00:25:55",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:26:05",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=담배피지 마세요! - 싸능,모모세 | 뉴토끼, links=98"
        },
        {
          "time": "00:26:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1575"
        },
        {
          "time": "00:26:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:26:06",
          "message": "작품 제목: 담배피지 마세요! - 싸능,모모세"
        },
        {
          "time": "00:26:07",
          "message": "메타데이터 태그 저장: 담배피지 마세요!, 로맨스, 모모세, 성인, 싸능"
        },
        {
          "time": "00:26:08",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "00:26:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1576"
        },
        {
          "time": "00:26:27",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:26:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1577"
        },
        {
          "time": "00:26:50",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:27:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1578"
        },
        {
          "time": "00:27:12",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:38:00",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-07T00:37:59"
        },
        {
          "time": "00:38:00",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:38:00",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:38:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1604"
        },
        {
          "time": "00:38:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:38:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=담배피지 마세요! - 싸능,모모세 | 뉴토끼, links=98"
        },
        {
          "time": "00:38:14",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1605"
        },
        {
          "time": "00:38:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:38:14",
          "message": "작품 제목: 담배피지 마세요! - 싸능,모모세"
        },
        {
          "time": "00:38:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=담배피지 마세요! 96화 | 뉴토끼, img_tags=112, image_urls=112"
        },
        {
          "time": "00:38:22",
          "message": "메타데이터 태그 저장: 담배피지 마세요!, 로맨스, 모모세, 성인, 싸능"
        },
        {
          "time": "00:38:23",
          "message": "순회 계획을 저장했습니다: 1개 회차"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 1)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 1)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_16340",
        "target_id": "webtoon_16340",
        "title": "담배피지 마세요! - 싸능,모모세",
        "episodes_found": 96,
        "episodes_processed": 1,
        "episodes_failed": 0,
        "episodes_skipped": 95,
        "images_found": 83,
        "images_downloaded": 83,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_16340",
          "title": "담배피지 마세요! - 싸능,모모세",
          "list_url": "https://newtoki1.org/webtoon/16340",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/16340"
          },
          "tags": [
            "담배피지 마세요!",
            "로맨스",
            "모모세",
            "성인",
            "싸능"
          ],
          "description": "담배피지 마세요! (싸능,모모세) [투믹스] #로맨스 #성인",
          "metadata_path": "/downloads/webtoon_16340/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 1,
        "total": 1,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 96,
          "url": "https://newtoki1.org/webtoon/16340/u-mpy4h2ut-oo8b",
          "title": "담배피지 마세요! 96화",
          "status": "completed",
          "image_count": 83,
          "images_done": 83,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "365d01602f",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:06:20",
      "started_at": "2026-06-04T03:47:06",
      "finished_at": "2026-06-04T03:52:16",
      "config": {
        "browser_guards": false,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "이애편달 - 감자전,리플,케나즈",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/10992",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": ".chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_10992",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "12:52:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1411"
        },
        {
          "time": "12:52:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:53:09",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1412"
        },
        {
          "time": "12:53:09",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:53:28",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 3화 0045 - 이애편달 42화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "12:53:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1413"
        },
        {
          "time": "12:53:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:53:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 2화 0046 - 이애편달 43화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "12:54:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1414"
        },
        {
          "time": "12:54:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:54:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 36화 0012 - 이애편달 12화 | 뉴토끼, img_tags=35, image_urls=35"
        },
        {
          "time": "12:54:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1415"
        },
        {
          "time": "12:54:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:54:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 34화 0014 - 이애편달 14화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "12:55:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1416"
        },
        {
          "time": "12:55:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:56:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1417"
        },
        {
          "time": "12:56:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:56:33",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 30화 0018 - 이애편달 18화 | 뉴토끼, img_tags=40, image_urls=40"
        },
        {
          "time": "12:57:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1418"
        },
        {
          "time": "12:57:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:57:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 26화 0022 - 이애편달 21화 | 뉴토끼, img_tags=49, image_urls=49"
        },
        {
          "time": "12:58:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1419"
        },
        {
          "time": "12:58:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:58:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 25화 0023 - 이애편달 22화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "12:59:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1420"
        },
        {
          "time": "12:59:28",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:59:49",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1421"
        },
        {
          "time": "12:59:49",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:00:24",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 24화 0024 - 이애편달 23화 | 뉴토끼, img_tags=41, image_urls=41"
        },
        {
          "time": "13:01:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1422"
        },
        {
          "time": "13:01:32",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:01:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1423"
        },
        {
          "time": "13:01:53",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:02:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 23화 0025 - 이애편달 24화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "13:02:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1424"
        },
        {
          "time": "13:02:47",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:02:58",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 22화 0026 - 이애편달 25화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "13:03:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1425"
        },
        {
          "time": "13:03:38",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:03:59",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1426"
        },
        {
          "time": "13:03:59",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:04:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 21화 0027 - 이애편달 26화 | 뉴토끼, img_tags=30, image_urls=30"
        },
        {
          "time": "13:04:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1427"
        },
        {
          "time": "13:04:19",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:04:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 20화 0028 - 이애편달 27화 | 뉴토끼, img_tags=53, image_urls=53"
        },
        {
          "time": "13:07:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1428"
        },
        {
          "time": "13:07:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:08:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1429"
        },
        {
          "time": "13:08:07",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:08:26",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 19화 0029 - 이애편달 28화 | 뉴토끼, img_tags=38, image_urls=38"
        },
        {
          "time": "13:10:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1430"
        },
        {
          "time": "13:10:18",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:10:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1431"
        },
        {
          "time": "13:10:39",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:10:58",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 18화 0030 - 이애편달 29화 | 뉴토끼, img_tags=37, image_urls=37"
        },
        {
          "time": "13:12:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1432"
        },
        {
          "time": "13:12:00",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:12:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1433"
        },
        {
          "time": "13:12:21",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:12:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 17화 0031 - 이애편달 30화 | 뉴토끼, img_tags=50, image_urls=50"
        },
        {
          "time": "13:15:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1434"
        },
        {
          "time": "13:15:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:16:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1435"
        },
        {
          "time": "13:16:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:16:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 16화 0032 - 이애편달 31화 | 뉴토끼, img_tags=55, image_urls=55"
        },
        {
          "time": "13:18:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1436"
        },
        {
          "time": "13:18:15",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:18:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1437"
        },
        {
          "time": "13:18:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:19:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 15화 0033 - 이애편달 32화 | 뉴토끼, img_tags=45, image_urls=45"
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "17:32:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #11"
        },
        {
          "time": "17:32:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:32:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이애편달 - 감자전,리플,케나즈 | 뉴토끼, links=49"
        },
        {
          "time": "17:32:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #12"
        },
        {
          "time": "17:32:26",
          "message": "작품 제목: 이애편달 - 감자전,리플,케나즈"
        },
        {
          "time": "17:32:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:32:26",
          "message": "메타데이터 태그 저장: BL, 감자전, 드라마, 로맨스, 리플, 백합, 이애편달, 케나즈"
        },
        {
          "time": "17:32:26",
          "message": "순회 계획을 저장했습니다: 11개 회차"
        },
        {
          "time": "17:32:35",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 39화 0009 - 이애편달 9화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "17:32:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #13"
        },
        {
          "time": "17:32:45",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:32:55",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 37화 0011 - 이애편달 11화 | 뉴토끼, img_tags=33, image_urls=33"
        },
        {
          "time": "17:34:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #14"
        },
        {
          "time": "17:34:01",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:34:19",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 28화 0020 - 이애편달 20화 | 뉴토끼, img_tags=36, image_urls=36"
        },
        {
          "time": "17:36:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #15"
        },
        {
          "time": "17:36:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:36:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #16"
        },
        {
          "time": "17:36:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:36:40",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 27화 0021 - 이애편달 공지 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "17:36:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #17"
        },
        {
          "time": "17:36:41",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:36:50",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 23화 0025 - 이애편달 24화 | 뉴토끼, img_tags=32, image_urls=32"
        },
        {
          "time": "17:36:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #18"
        },
        {
          "time": "17:36:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:37:07",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 21화 0027 - 이애편달 26화 | 뉴토끼, img_tags=42, image_urls=42"
        },
        {
          "time": "17:37:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #19"
        },
        {
          "time": "17:37:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:37:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 14화 0034 - 이애편달 33화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "17:37:57",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #20"
        },
        {
          "time": "17:37:57",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:38:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 12화 0036 - 이애편달 35화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "17:38:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #21"
        },
        {
          "time": "17:38:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:38:17",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 8화 0040 - 이애편달 39화 지연 오픈 안내 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "17:39:55",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #22"
        },
        {
          "time": "17:39:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:40:10",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 5화 0043 - 이애편달 공지 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "17:41:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #23"
        },
        {
          "time": "17:41:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:41:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #24"
        },
        {
          "time": "17:41:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "17:41:54",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 3화 0045 - 이애편달 42화 | 뉴토끼, img_tags=34, image_urls=34"
        },
        {
          "time": "17:25:51",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 11)"
        },
        {
          "time": "17:32:56",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:01:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #675"
        },
        {
          "time": "14:01:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:02:02",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "14:02:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #676"
        },
        {
          "time": "14:02:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:02:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이애편달 - 감자전,리플,케나즈 | 뉴토끼, links=49"
        },
        {
          "time": "14:03:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #677"
        },
        {
          "time": "14:03:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:03:36",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 21화 0021 - 이애편달 공지 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "14:03:37",
          "message": "작품 제목: 이애편달 - 감자전,리플,케나즈"
        },
        {
          "time": "14:03:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #678"
        },
        {
          "time": "14:03:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:03:45",
          "message": "메타데이터 태그 저장: BL, 감자전, 드라마, 로맨스, 리플, 백합, 이애편달, 케나즈"
        },
        {
          "time": "14:03:45",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "14:03:47",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 39화 0040 - 이애편달 39화 지연 오픈 안내 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "14:04:21",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #679"
        },
        {
          "time": "14:04:22",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "14:04:30",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 43화 0043 - 이애편달 공지 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:47:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #900"
        },
        {
          "time": "03:47:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:47:59",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:47:59",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:48:00",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #901"
        },
        {
          "time": "03:48:00",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:48:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=이애편달 - 감자전,리플,케나즈 | 뉴토끼, links=49"
        },
        {
          "time": "03:48:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #902"
        },
        {
          "time": "03:48:36",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:48:36",
          "message": "작품 제목: 이애편달 - 감자전,리플,케나즈"
        },
        {
          "time": "03:48:36",
          "message": "메타데이터 태그 저장: BL, 감자전, 드라마, 로맨스, 리플, 백합, 이애편달, 케나즈"
        },
        {
          "time": "03:48:37",
          "message": "순회 계획을 저장했습니다: 3개 회차"
        },
        {
          "time": "03:48:44",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 21화 0021 - 이애편달 공지 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "03:49:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #903"
        },
        {
          "time": "03:49:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:49:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 39화 0040 - 이애편달 39화 지연 오픈 안내 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "03:50:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #904"
        },
        {
          "time": "03:50:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:51:09",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=이애편달 43화 0043 - 이애편달 공지 휴재공지 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 3)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 3)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_10992",
        "target_id": "webtoon_10992",
        "title": "이애편달 - 감자전,리플,케나즈",
        "episodes_found": 47,
        "episodes_processed": 3,
        "episodes_failed": 0,
        "episodes_skipped": 44,
        "images_found": 3,
        "images_downloaded": 0,
        "images_skipped": 3,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_10992",
          "title": "이애편달 - 감자전,리플,케나즈",
          "list_url": "https://newtoki1.org/webtoon/10992",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/10992"
          },
          "tags": [
            "BL",
            "감자전",
            "드라마",
            "로맨스",
            "리플",
            "백합",
            "이애편달",
            "케나즈"
          ],
          "description": "이애편달 (감자전,리플,케나즈) [레진] #BL/백합 #드라마 #로맨스",
          "metadata_path": "/downloads/webtoon_10992/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 3,
        "total": 3,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 22,
          "url": "https://newtoki1.org/webtoon/10992/1037983",
          "title": "이애편달 21화 0021 - 이애편달 공지 휴재공지",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 41,
          "url": "https://newtoki1.org/webtoon/10992/1098525",
          "title": "이애편달 39화 0040 - 이애편달 39화 지연 오픈 안내",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 44,
          "url": "https://newtoki1.org/webtoon/10992/1103491",
          "title": "이애편달 43화 0043 - 이애편달 공지 휴재공지",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "73482246b0",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:05:06",
      "started_at": "2026-06-04T03:45:57",
      "finished_at": "2026-06-04T03:47:06",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "주막연이 - 황부현,미르토",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/18613",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_18613",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "19:56:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/104.jpg"
        },
        {
          "time": "19:56:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/105.jpg"
        },
        {
          "time": "19:56:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/106.jpg"
        },
        {
          "time": "19:56:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/107.jpg"
        },
        {
          "time": "19:56:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/108.jpg"
        },
        {
          "time": "19:56:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/109.jpg"
        },
        {
          "time": "19:56:10",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/110.jpg"
        },
        {
          "time": "19:56:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/111.jpg"
        },
        {
          "time": "19:56:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/112.jpg"
        },
        {
          "time": "19:56:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/113.jpg"
        },
        {
          "time": "19:56:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/114.jpg"
        },
        {
          "time": "19:56:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/115.jpg"
        },
        {
          "time": "19:56:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/116.jpg"
        },
        {
          "time": "19:56:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/117.jpg"
        },
        {
          "time": "19:56:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/118.jpg"
        },
        {
          "time": "19:56:11",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/119.jpg"
        },
        {
          "time": "19:56:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/120.jpg"
        },
        {
          "time": "19:56:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/121.jpg"
        },
        {
          "time": "19:56:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/122.jpg"
        },
        {
          "time": "19:56:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/123.jpg"
        },
        {
          "time": "19:56:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/124.jpg"
        },
        {
          "time": "19:56:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/125.jpg"
        },
        {
          "time": "19:56:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/126.jpg"
        },
        {
          "time": "19:56:12",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/127.jpg"
        },
        {
          "time": "19:56:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/128.jpg"
        },
        {
          "time": "19:56:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/129.jpg"
        },
        {
          "time": "19:56:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/130.jpg"
        },
        {
          "time": "19:56:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/131.jpg"
        },
        {
          "time": "19:56:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/132.jpg"
        },
        {
          "time": "19:56:13",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/133.jpg"
        },
        {
          "time": "19:56:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/134.jpg"
        },
        {
          "time": "19:56:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/135.jpg"
        },
        {
          "time": "19:56:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/136.jpg"
        },
        {
          "time": "19:56:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/137.jpg"
        },
        {
          "time": "19:56:14",
          "message": "    [=] 이미 존재함: /downloads/webtoon_18613/ep_018/138.jpg"
        },
        {
          "time": "19:56:14",
          "message": "  [>] 이미지 138개 처리 완료.\n"
        },
        {
          "time": "19:56:15",
          "message": "  [=] 완료된 회차 건너뜀: ep_019 https://sbxh1.com/webtoon/18613/1552622"
        },
        {
          "time": "19:56:15",
          "message": "  [=] 완료된 회차 건너뜀: ep_020 https://sbxh1.com/webtoon/18613/1551237"
        },
        {
          "time": "19:56:15",
          "message": "  [=] 완료된 회차 건너뜀: ep_021 https://sbxh1.com/webtoon/18613/1549424"
        },
        {
          "time": "19:56:15",
          "message": "  [=] 완료된 회차 건너뜀: ep_022 https://sbxh1.com/webtoon/18613/1547825"
        },
        {
          "time": "19:56:15",
          "message": "  [=] 완료된 회차 건너뜀: ep_023 https://sbxh1.com/webtoon/18613/1546385"
        },
        {
          "time": "19:56:15",
          "message": "  [=] 완료된 회차 건너뜀: ep_024 https://sbxh1.com/webtoon/18613/1546384"
        },
        {
          "time": "19:56:15",
          "message": "  [=] 완료된 회차 건너뜀: ep_025 https://sbxh1.com/webtoon/18613/1546383"
        },
        {
          "time": "19:56:16",
          "message": "  [=] 완료된 회차 건너뜀: ep_026 https://sbxh1.com/webtoon/18613/1546382"
        },
        {
          "time": "19:56:16",
          "message": "  [=] 완료된 회차 건너뜀: ep_027 https://sbxh1.com/webtoon/18613/1546381"
        },
        {
          "time": "19:56:16",
          "message": "  [=] 완료된 회차 건너뜀: ep_028 https://sbxh1.com/webtoon/18613/1546380"
        },
        {
          "time": "19:56:16",
          "message": "완료: 회차 1개 처리, 이미지 1개 저장, 137개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "03:02:23",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "03:03:43",
          "message": "기존 완료 기록을 적용합니다: 28개 회차"
        },
        {
          "time": "03:03:43",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "03:03:43",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "03:03:43",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "03:03:43",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "03:03:43",
          "message": "목록 페이지 접속 중: https://sbxh1.com/webtoon/18613"
        },
        {
          "time": "03:03:43",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/18613"
        },
        {
          "time": "03:03:44",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "03:03:47",
          "message": "Cloudflare challenge 통과 대기 완료: 3.0초"
        },
        {
          "time": "03:03:47",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "03:03:47",
          "message": "메타데이터 저장: /downloads/webtoon_18613/metadata.yaml"
        },
        {
          "time": "03:03:47",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "03:03:47",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "03:14:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T03:14:41"
        },
        {
          "time": "03:14:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:14:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:48:58",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:48:07",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T14:48:06"
        },
        {
          "time": "14:48:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:51:47",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:14:46",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "15:16:11",
          "message": "기존 완료 기록을 적용합니다: 28개 회차"
        },
        {
          "time": "15:16:11",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:16:12",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:16:35",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:16:35",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:16:54",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/18613"
        },
        {
          "time": "15:16:55",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/18613"
        },
        {
          "time": "15:17:26",
          "message": "[!] 목록 페이지 접속 실패: Page.goto: Timeout 20000ms exceeded.\nCall log:\n  - navigating to \"https://sbxh2.com/webtoon/18613\", waiting until \"domcontentloaded\"\n https://sbxh2.com/webtoon/18613"
        },
        {
          "time": "15:18:51",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:17:38"
        },
        {
          "time": "15:18:51",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:18:51",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "15:19:53",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:19:52"
        },
        {
          "time": "15:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "15:19:54",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "15:21:13",
          "message": "기존 완료 기록을 적용합니다: 28개 회차"
        },
        {
          "time": "15:21:13",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:21:13",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:21:13",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:21:13",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:21:13",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/18613"
        },
        {
          "time": "15:21:14",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/18613"
        },
        {
          "time": "15:22:49",
          "message": "작품 제목: 주막연이 - 황부현,미르토"
        },
        {
          "time": "15:22:53",
          "message": "메타데이터 저장: /downloads/webtoon_18613/metadata.yaml"
        },
        {
          "time": "15:23:04",
          "message": "메타데이터 태그 저장: 로맨스, 미르토, 성인, 주막연이, 황부현"
        },
        {
          "time": "15:23:06",
          "message": "기존 완료 회차 28개 제외"
        },
        {
          "time": "15:23:09",
          "message": "총 28개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "15:23:09",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:22:29",
          "message": "작품 제목: 18613"
        },
        {
          "time": "06:32:49",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:32:49"
        },
        {
          "time": "06:32:49",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:32:49",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:06:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:06:48"
        },
        {
          "time": "13:06:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:06:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:49:29",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "16:49:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:49:50",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=(제목 없음), links=0"
        },
        {
          "time": "16:49:50",
          "message": "작품 제목: 18613"
        },
        {
          "time": "16:49:50",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #4"
        },
        {
          "time": "16:49:50",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:49:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=주막연이 - 황부현,미르토 | 뉴토끼, links=30"
        },
        {
          "time": "16:49:52",
          "message": "작품 제목: 주막연이 - 황부현,미르토"
        },
        {
          "time": "16:49:52",
          "message": "메타데이터 태그 저장: 로맨스, 미르토, 성인, 주막연이, 황부현"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:09:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #973"
        },
        {
          "time": "06:09:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:09:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=주막연이 - 황부현,미르토 | 뉴토끼, links=30"
        },
        {
          "time": "06:09:46",
          "message": "작품 제목: 주막연이 - 황부현,미르토"
        },
        {
          "time": "06:09:46",
          "message": "메타데이터 태그 저장: 로맨스, 미르토, 성인, 주막연이, 황부현"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:59:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #146"
        },
        {
          "time": "18:59:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:59:42",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=주막연이 - 황부현,미르토 | 뉴토끼, links=30"
        },
        {
          "time": "18:59:42",
          "message": "작품 제목: 주막연이 - 황부현,미르토"
        },
        {
          "time": "18:59:42",
          "message": "메타데이터 태그 저장: 로맨스, 미르토, 성인, 주막연이, 황부현"
        },
        {
          "time": "17:25:51",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:38:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #544"
        },
        {
          "time": "12:38:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:38:40",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:38:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #545"
        },
        {
          "time": "12:38:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:38:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=주막연이 - 황부현,미르토 | 뉴토끼, links=30"
        },
        {
          "time": "12:38:56",
          "message": "작품 제목: 주막연이 - 황부현,미르토"
        },
        {
          "time": "12:38:57",
          "message": "메타데이터 태그 저장: 로맨스, 미르토, 성인, 주막연이, 황부현"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:45:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #898"
        },
        {
          "time": "03:45:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:46:53",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:46:53",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:46:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #899"
        },
        {
          "time": "03:46:53",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:47:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=주막연이 - 황부현,미르토 | 뉴토끼, links=30"
        },
        {
          "time": "03:47:04",
          "message": "작품 제목: 주막연이 - 황부현,미르토"
        },
        {
          "time": "03:47:05",
          "message": "메타데이터 태그 저장: 로맨스, 미르토, 성인, 주막연이, 황부현"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_18613",
        "target_id": "webtoon_18613",
        "title": "주막연이 - 황부현,미르토",
        "episodes_found": 28,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 28,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_18613",
          "title": "주막연이 - 황부현,미르토",
          "list_url": "https://newtoki1.org/webtoon/18613",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/18613"
          },
          "tags": [
            "로맨스",
            "미르토",
            "성인",
            "주막연이",
            "황부현"
          ],
          "description": "주막연이 (황부현,미르토) [레진] #로맨스 #성인",
          "metadata_path": "/downloads/webtoon_18613/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 28,
        "total": 28,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "743189842b",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:04:45",
      "started_at": "2026-06-04T03:44:12",
      "finished_at": "2026-06-04T03:45:57",
      "config": {
        "browser_guards": false,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "하는 중전 - 산홍,초야",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/14708",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": ".chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_14708",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "02:28:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/089.jpg"
        },
        {
          "time": "02:28:36",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/090.jpg"
        },
        {
          "time": "02:28:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/091.jpg"
        },
        {
          "time": "02:28:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/092.jpg"
        },
        {
          "time": "02:28:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/093.jpg"
        },
        {
          "time": "02:28:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/094.jpg"
        },
        {
          "time": "02:28:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/095.jpg"
        },
        {
          "time": "02:28:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/096.jpg"
        },
        {
          "time": "02:28:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/097.jpg"
        },
        {
          "time": "02:28:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/098.jpg"
        },
        {
          "time": "02:28:53",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/099.jpg"
        },
        {
          "time": "02:28:55",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/100.jpg"
        },
        {
          "time": "02:28:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/101.jpg"
        },
        {
          "time": "02:28:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/102.jpg"
        },
        {
          "time": "02:29:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/103.jpg"
        },
        {
          "time": "02:29:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/104.jpg"
        },
        {
          "time": "02:29:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/105.jpg"
        },
        {
          "time": "02:29:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/106.jpg"
        },
        {
          "time": "02:29:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/107.jpg"
        },
        {
          "time": "02:29:11",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/108.jpg"
        },
        {
          "time": "02:29:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/109.jpg"
        },
        {
          "time": "02:29:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/110.jpg"
        },
        {
          "time": "02:29:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/111.jpg"
        },
        {
          "time": "02:29:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/112.jpg"
        },
        {
          "time": "02:29:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/113.jpg"
        },
        {
          "time": "02:29:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/114.jpg"
        },
        {
          "time": "02:29:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/115.jpg"
        },
        {
          "time": "02:29:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/116.jpg"
        },
        {
          "time": "02:29:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/117.jpg"
        },
        {
          "time": "02:29:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/118.jpg"
        },
        {
          "time": "02:29:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/119.jpg"
        },
        {
          "time": "02:29:34",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/120.jpg"
        },
        {
          "time": "02:29:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/121.jpg"
        },
        {
          "time": "02:29:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/122.jpg"
        },
        {
          "time": "02:29:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/123.jpg"
        },
        {
          "time": "02:29:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/124.jpg"
        },
        {
          "time": "02:29:42",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/125.jpg"
        },
        {
          "time": "02:29:44",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/126.jpg"
        },
        {
          "time": "02:29:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/127.jpg"
        },
        {
          "time": "02:29:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/128.jpg"
        },
        {
          "time": "02:29:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/129.jpg"
        },
        {
          "time": "02:29:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/130.jpg"
        },
        {
          "time": "02:29:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/131.jpg"
        },
        {
          "time": "02:29:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/132.jpg"
        },
        {
          "time": "02:29:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/133.jpg"
        },
        {
          "time": "02:30:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/134.jpg"
        },
        {
          "time": "02:30:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/135.jpg"
        },
        {
          "time": "02:30:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/136.jpg"
        },
        {
          "time": "02:30:05",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/137.jpg"
        },
        {
          "time": "02:30:07",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/138.jpg"
        },
        {
          "time": "02:30:09",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/139.jpg"
        },
        {
          "time": "02:30:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/140.jpg"
        },
        {
          "time": "02:30:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/141.jpg"
        },
        {
          "time": "02:30:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/142.jpg"
        },
        {
          "time": "02:30:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/143.jpg"
        },
        {
          "time": "02:30:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/144.jpg"
        },
        {
          "time": "02:30:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/145.jpg"
        },
        {
          "time": "02:30:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/146.jpg"
        },
        {
          "time": "02:30:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/147.jpg"
        },
        {
          "time": "02:30:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/148.jpg"
        },
        {
          "time": "02:30:28",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/149.jpg"
        },
        {
          "time": "02:30:30",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/150.jpg"
        },
        {
          "time": "02:30:32",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/151.jpg"
        },
        {
          "time": "02:30:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/152.jpg"
        },
        {
          "time": "02:30:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/153.jpg"
        },
        {
          "time": "02:30:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/154.jpg"
        },
        {
          "time": "02:30:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/155.jpg"
        },
        {
          "time": "02:30:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/156.jpg"
        },
        {
          "time": "02:30:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/157.jpg"
        },
        {
          "time": "02:30:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/158.jpg"
        },
        {
          "time": "02:30:46",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/159.jpg"
        },
        {
          "time": "02:30:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/160.jpg"
        },
        {
          "time": "02:30:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/161.jpg"
        },
        {
          "time": "02:30:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/162.jpg"
        },
        {
          "time": "02:30:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/163.jpg"
        },
        {
          "time": "02:30:57",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/164.jpg"
        },
        {
          "time": "02:30:59",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/165.jpg"
        },
        {
          "time": "02:31:01",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/166.jpg"
        },
        {
          "time": "02:31:03",
          "message": "    [-] 저장 완료: /downloads/manhwa_14708/ep_092/167.jpg"
        },
        {
          "time": "02:31:03",
          "message": "  [>] 이미지 167개 처리 완료.\n"
        },
        {
          "time": "02:31:04",
          "message": "완료: 회차 92개 처리, 이미지 7446개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "16:32:43",
          "message": "대기열 순서를 변경했습니다: 70 -> 69"
        },
        {
          "time": "16:32:43",
          "message": "대기열 순서를 변경했습니다: 69 -> 68"
        },
        {
          "time": "01:43:47",
          "message": "대기열 순서를 변경했습니다: 65 -> 64"
        },
        {
          "time": "01:43:47",
          "message": "대기열 순서를 변경했습니다: 64 -> 63"
        },
        {
          "time": "01:43:47",
          "message": "대기열 순서를 변경했습니다: 63 -> 62"
        },
        {
          "time": "07:18:29",
          "message": "대기열 순서를 변경했습니다: 61 -> 1"
        },
        {
          "time": "08:16:58",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "08:18:11",
          "message": "기존 완료 기록을 적용합니다: 92개 회차"
        },
        {
          "time": "08:18:11",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "08:18:11",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "08:18:11",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "08:18:11",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "08:18:11",
          "message": "목록 페이지 접속 중: https://sbxh1.com/webtoon/14708"
        },
        {
          "time": "08:18:11",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/14708"
        },
        {
          "time": "08:18:16",
          "message": "작품 제목: 하는 중전 - 산홍,초야"
        },
        {
          "time": "08:18:16",
          "message": "메타데이터 저장: /downloads/webtoon_14708/metadata.yaml"
        },
        {
          "time": "08:18:16",
          "message": "메타데이터 태그 저장: 로맨스, 산홍, 성인, 초야, 하는 중전"
        },
        {
          "time": "08:18:16",
          "message": "기존 완료 회차 92개 제외"
        },
        {
          "time": "08:18:16",
          "message": "총 92개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "08:18:16",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:34:45",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "06:34:48",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "06:44:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:44:50"
        },
        {
          "time": "06:44:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:44:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:56:08",
          "message": "작품 제목: 14708"
        },
        {
          "time": "13:06:48",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:06:48"
        },
        {
          "time": "13:06:48",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:06:48",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:49:12",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "16:49:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:49:26",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하는 중전 - 산홍,초야 | 뉴토끼, links=94"
        },
        {
          "time": "16:49:27",
          "message": "작품 제목: 하는 중전 - 산홍,초야"
        },
        {
          "time": "16:49:27",
          "message": "메타데이터 태그 저장: 로맨스, 산홍, 성인, 초야, 하는 중전"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:10:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #974"
        },
        {
          "time": "06:10:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:10:32",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하는 중전 - 산홍,초야 | 뉴토끼, links=94"
        },
        {
          "time": "06:10:32",
          "message": "작품 제목: 하는 중전 - 산홍,초야"
        },
        {
          "time": "06:10:32",
          "message": "메타데이터 태그 저장: 로맨스, 산홍, 성인, 초야, 하는 중전"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:59:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #145"
        },
        {
          "time": "18:59:12",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:59:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하는 중전 - 산홍,초야 | 뉴토끼, links=94"
        },
        {
          "time": "18:59:26",
          "message": "작품 제목: 하는 중전 - 산홍,초야"
        },
        {
          "time": "18:59:26",
          "message": "메타데이터 태그 저장: 로맨스, 산홍, 성인, 초야, 하는 중전"
        },
        {
          "time": "17:25:51",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:39:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #546"
        },
        {
          "time": "12:39:13",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:39:33",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:39:33",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #547"
        },
        {
          "time": "12:39:33",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:39:53",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "12:39:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #548"
        },
        {
          "time": "12:39:54",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:40:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하는 중전 - 산홍,초야 | 뉴토끼, links=94"
        },
        {
          "time": "12:40:13",
          "message": "작품 제목: 하는 중전 - 산홍,초야"
        },
        {
          "time": "12:40:14",
          "message": "메타데이터 태그 저장: 로맨스, 산홍, 성인, 초야, 하는 중전"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:44:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #897"
        },
        {
          "time": "03:44:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:45:52",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=하는 중전 - 산홍,초야 | 뉴토끼, links=94"
        },
        {
          "time": "03:45:55",
          "message": "작품 제목: 하는 중전 - 산홍,초야"
        },
        {
          "time": "03:45:56",
          "message": "메타데이터 태그 저장: 로맨스, 산홍, 성인, 초야, 하는 중전"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_14708",
        "target_id": "webtoon_14708",
        "title": "하는 중전 - 산홍,초야",
        "episodes_found": 92,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 92,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_14708",
          "title": "하는 중전 - 산홍,초야",
          "list_url": "https://newtoki1.org/webtoon/14708",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/14708"
          },
          "tags": [
            "로맨스",
            "산홍",
            "성인",
            "초야",
            "하는 중전"
          ],
          "description": "하는 중전 (산홍,초야) [레진] #로맨스 #성인",
          "metadata_path": "/downloads/webtoon_14708/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 92,
        "total": 92,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "9d06567e5c",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:04:24",
      "started_at": "2026-06-04T03:43:09",
      "finished_at": "2026-06-04T03:44:11",
      "config": {
        "browser_guards": true,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "쥐어짜는 체육관 - 샛미,지니",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/17528",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": "/data/.chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_17528",
        "viewer_image_mode": "auto",
        "recheck_completed_max_images": 2
      },
      "logs": [
        {
          "time": "21:55:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_074/024.jpg"
        },
        {
          "time": "21:55:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_074/025.jpg"
        },
        {
          "time": "21:55:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_074/026.jpg"
        },
        {
          "time": "21:55:40",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_074/027.jpg"
        },
        {
          "time": "21:55:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_074/028.jpg"
        },
        {
          "time": "21:55:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_074/029.jpg"
        },
        {
          "time": "21:55:47",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_074/030.jpg"
        },
        {
          "time": "21:55:49",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_074/031.jpg"
        },
        {
          "time": "21:55:51",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_074/032.jpg"
        },
        {
          "time": "21:55:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_074/033.jpg"
        },
        {
          "time": "21:55:54",
          "message": "  [>] 이미지 33개 처리 완료.\n"
        },
        {
          "time": "21:55:56",
          "message": "  [>] 뷰어 접속 중: https://sbxh1.com/webtoon/17528/1474136"
        },
        {
          "time": "21:55:56",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/17528/1474136"
        },
        {
          "time": "21:56:02",
          "message": "  [i] 회차 제목: 쥐어짜는 체육관 74화 2화"
        },
        {
          "time": "21:56:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/001.jpg"
        },
        {
          "time": "21:56:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/002.jpg"
        },
        {
          "time": "21:56:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/003.jpg"
        },
        {
          "time": "21:56:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/004.jpg"
        },
        {
          "time": "21:56:12",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/005.jpg"
        },
        {
          "time": "21:56:14",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/006.jpg"
        },
        {
          "time": "21:56:16",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/007.jpg"
        },
        {
          "time": "21:56:18",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/008.jpg"
        },
        {
          "time": "21:56:20",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/009.jpg"
        },
        {
          "time": "21:56:22",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/010.jpg"
        },
        {
          "time": "21:56:24",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/011.jpg"
        },
        {
          "time": "21:56:26",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/012.jpg"
        },
        {
          "time": "21:56:29",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/013.jpg"
        },
        {
          "time": "21:56:31",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/014.jpg"
        },
        {
          "time": "21:56:33",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/015.jpg"
        },
        {
          "time": "21:56:35",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/016.jpg"
        },
        {
          "time": "21:56:37",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/017.jpg"
        },
        {
          "time": "21:56:39",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/018.jpg"
        },
        {
          "time": "21:56:41",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/019.jpg"
        },
        {
          "time": "21:56:43",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/020.jpg"
        },
        {
          "time": "21:56:45",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/021.jpg"
        },
        {
          "time": "21:56:48",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/022.jpg"
        },
        {
          "time": "21:56:50",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/023.jpg"
        },
        {
          "time": "21:56:52",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/024.jpg"
        },
        {
          "time": "21:56:54",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/025.jpg"
        },
        {
          "time": "21:56:56",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/026.jpg"
        },
        {
          "time": "21:56:58",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/027.jpg"
        },
        {
          "time": "21:57:00",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/028.jpg"
        },
        {
          "time": "21:57:02",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/029.jpg"
        },
        {
          "time": "21:57:04",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/030.jpg"
        },
        {
          "time": "21:57:06",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/031.jpg"
        },
        {
          "time": "21:57:08",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/032.jpg"
        },
        {
          "time": "21:57:10",
          "message": "    [-] 저장 완료: /downloads/manhwa_17528/ep_075/033.jpg"
        },
        {
          "time": "21:57:10",
          "message": "  [>] 이미지 33개 처리 완료.\n"
        },
        {
          "time": "21:57:11",
          "message": "완료: 회차 75개 처리, 이미지 2445개 저장, 0개 건너뜀"
        },
        {
          "time": "2026-05-17T15:22:48",
          "message": "메타데이터 재수집을 위해 완료 작업을 다시 대기열에 추가했습니다: 2026-05-17T15:22:48"
        },
        {
          "time": "03:01:00",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "03:02:15",
          "message": "기존 완료 기록을 적용합니다: 75개 회차"
        },
        {
          "time": "03:02:15",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "03:02:18",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "03:02:18",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "03:02:18",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "03:02:18",
          "message": "목록 페이지 접속 중: https://sbxh1.com/webtoon/17528"
        },
        {
          "time": "03:02:18",
          "message": "브라우저 패널 이동: https://sbxh1.com/webtoon/17528"
        },
        {
          "time": "03:02:19",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "03:02:22",
          "message": "Cloudflare challenge 통과 대기 완료: 3.1초"
        },
        {
          "time": "03:02:22",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "03:02:22",
          "message": "메타데이터 저장: /downloads/webtoon_17528/metadata.yaml"
        },
        {
          "time": "03:02:22",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "03:02:22",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "03:13:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-21T03:13:22"
        },
        {
          "time": "03:13:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:13:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:48:58",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "04:07:19",
          "message": "작업 URL 도메인을 변경했습니다: sbxh1.com -> sbxh2.com (설정 1, 요약 0, 회차 계획 0)"
        },
        {
          "time": "14:48:07",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T14:48:06"
        },
        {
          "time": "14:48:07",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "14:48:08",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "14:49:51",
          "message": "기존 완료 기록을 적용합니다: 75개 회차"
        },
        {
          "time": "14:49:52",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "14:49:55",
          "message": "프록시 사용: http://217.142.232.143:3128"
        },
        {
          "time": "14:49:57",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "14:49:57",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "14:49:59",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/17528"
        },
        {
          "time": "14:50:03",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/17528"
        },
        {
          "time": "14:50:17",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "14:50:24",
          "message": "브라우저 세션이 닫혀 재시작 후 재시도합니다."
        },
        {
          "time": "14:50:32",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "14:51:32",
          "message": "Cloudflare challenge 통과 대기 완료: 17.3초"
        },
        {
          "time": "14:51:47",
          "message": "[!] 전체 중지 요청을 받았습니다."
        },
        {
          "time": "14:52:29",
          "message": "작품 제목: Access denied"
        },
        {
          "time": "14:52:30",
          "message": "메타데이터 저장: /downloads/webtoon_17528/metadata.yaml"
        },
        {
          "time": "14:52:31",
          "message": "총 0개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "14:52:32",
          "message": "[!] 뷰어 링크를 찾지 못했습니다. URL 구조 또는 HTML 링크 패턴을 확인해주세요."
        },
        {
          "time": "15:11:27",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:27",
          "message": "현재 저장 설정을 작업에 재적용했습니다: 2026-05-21T15:11:27"
        },
        {
          "time": "15:11:28",
          "message": "대기열에서 작업을 시작합니다."
        },
        {
          "time": "15:12:15",
          "message": "기존 완료 기록을 적용합니다: 75개 회차"
        },
        {
          "time": "15:12:15",
          "message": "대시보드 브라우저 패널을 사용합니다."
        },
        {
          "time": "15:12:52",
          "message": "프록시 사용: http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888"
        },
        {
          "time": "15:12:58",
          "message": "요청 엔진: chrome"
        },
        {
          "time": "15:13:19",
          "message": "뷰어 이미지 구조: auto"
        },
        {
          "time": "15:13:29",
          "message": "목록 페이지 접속 중: https://sbxh2.com/webtoon/17528"
        },
        {
          "time": "15:13:34",
          "message": "브라우저 패널 이동: https://sbxh2.com/webtoon/17528"
        },
        {
          "time": "15:13:43",
          "message": "Cloudflare challenge 감지: noVNC 브라우저에서 확인 완료 대기 중 (180초 제한)"
        },
        {
          "time": "15:14:42",
          "message": "Cloudflare challenge 통과 대기 완료: 57.8초"
        },
        {
          "time": "15:14:43",
          "message": "작품 제목: 쥐어짜는 체육관 - 샛미,지니"
        },
        {
          "time": "15:14:44",
          "message": "메타데이터 저장: /downloads/webtoon_17528/metadata.yaml"
        },
        {
          "time": "15:14:44",
          "message": "메타데이터 태그 저장: 드라마, 샛미, 성인, 쥐어짜는 체육관, 지니"
        },
        {
          "time": "15:14:45",
          "message": "기존 완료 회차 75개 제외"
        },
        {
          "time": "15:14:46",
          "message": "총 75개의 뷰어 후보를 찾았습니다."
        },
        {
          "time": "15:14:46",
          "message": "[=] 새로 처리할 회차가 없습니다. 기존 완료 기록을 모두 건너뛰었습니다."
        },
        {
          "time": "11:29:56",
          "message": "작업 URL 도메인을 변경했습니다: sbxh2.com -> sbxh3.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "04:37:57",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T04:37:56"
        },
        {
          "time": "04:37:57",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:23:15",
          "message": "작품 제목: 17528"
        },
        {
          "time": "06:33:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T06:33:45"
        },
        {
          "time": "06:33:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:33:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:51:04",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "12:47:18",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T12:47:18 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:54:59",
          "message": "작품 제목: 17528"
        },
        {
          "time": "13:05:26",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-28T13:05:26"
        },
        {
          "time": "13:05:26",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "13:05:26",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:34:11",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "16:21:04",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-28T16:21:04 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:48:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "16:48:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:49:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=쥐어짜는 체육관 - 샛미,지니 | 뉴토끼, links=77"
        },
        {
          "time": "16:49:06",
          "message": "작품 제목: 쥐어짜는 체육관 - 샛미,지니"
        },
        {
          "time": "16:49:07",
          "message": "메타데이터 태그 저장: 드라마, 샛미, 성인, 쥐어짜는 체육관, 지니"
        },
        {
          "time": "03:00:41",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-29T03:00:40 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:11:15",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #975"
        },
        {
          "time": "06:11:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:11:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=쥐어짜는 체육관 - 샛미,지니 | 뉴토끼, links=77"
        },
        {
          "time": "06:11:29",
          "message": "작품 제목: 쥐어짜는 체육관 - 샛미,지니"
        },
        {
          "time": "06:11:29",
          "message": "메타데이터 태그 저장: 드라마, 샛미, 성인, 쥐어짜는 체육관, 지니"
        },
        {
          "time": "16:23:29",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "18:58:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #144"
        },
        {
          "time": "18:58:20",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "18:58:34",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=쥐어짜는 체육관 - 샛미,지니 | 뉴토끼, links=77"
        },
        {
          "time": "18:59:09",
          "message": "작품 제목: 쥐어짜는 체육관 - 샛미,지니"
        },
        {
          "time": "18:59:09",
          "message": "메타데이터 태그 저장: 드라마, 샛미, 성인, 쥐어짜는 체육관, 지니"
        },
        {
          "time": "17:25:51",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:40:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #549"
        },
        {
          "time": "12:40:49",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:41:02",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=쥐어짜는 체육관 - 샛미,지니 | 뉴토끼, links=77"
        },
        {
          "time": "12:41:04",
          "message": "작품 제목: 쥐어짜는 체육관 - 샛미,지니"
        },
        {
          "time": "12:41:05",
          "message": "메타데이터 태그 저장: 드라마, 샛미, 성인, 쥐어짜는 체육관, 지니"
        },
        {
          "time": "01:27:32",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:43:10",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #895"
        },
        {
          "time": "03:43:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:44:04",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:44:04",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:44:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #896"
        },
        {
          "time": "03:44:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:44:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=쥐어짜는 체육관 - 샛미,지니 | 뉴토끼, links=77"
        },
        {
          "time": "03:44:10",
          "message": "작품 제목: 쥐어짜는 체육관 - 샛미,지니"
        },
        {
          "time": "03:44:11",
          "message": "메타데이터 태그 저장: 드라마, 샛미, 성인, 쥐어짜는 체육관, 지니"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_17528",
        "target_id": "webtoon_17528",
        "title": "쥐어짜는 체육관 - 샛미,지니",
        "episodes_found": 75,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 75,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_17528",
          "title": "쥐어짜는 체육관 - 샛미,지니",
          "list_url": "https://newtoki1.org/webtoon/17528",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/17528"
          },
          "tags": [
            "드라마",
            "샛미",
            "성인",
            "쥐어짜는 체육관",
            "지니"
          ],
          "description": "쥐어짜는 체육관 (샛미,지니) [투믹스] #드라마 #성인",
          "metadata_path": "/downloads/webtoon_17528/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 75,
        "total": 75,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    },
    {
      "id": "4e04ae9851",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:04:04",
      "started_at": "2026-06-05T13:47:26",
      "finished_at": "2026-06-05T13:52:24",
      "config": {
        "browser_guards": false,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "아씨 - 캄피스, J&B",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/11294",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": ".chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_11294"
      },
      "logs": [
        {
          "time": "01:42:53",
          "message": "작품 제목: 아씨 - 캄피스,J&B"
        },
        {
          "time": "01:42:54",
          "message": "메타데이터 태그 저장: J&B, 다정녀, 드라마, 성인, 시대, 아씨, 여성인기19, 캄피스"
        },
        {
          "time": "01:42:55",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "01:43:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아씨 100화 0065 - 아씨 공지 시즌 종료 안내 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "01:43:02",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1564"
        },
        {
          "time": "01:43:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:43:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1565"
        },
        {
          "time": "01:43:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:43:44",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1566"
        },
        {
          "time": "01:43:44",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:44:05",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1567"
        },
        {
          "time": "01:44:06",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:56:41",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T01:56:41"
        },
        {
          "time": "01:56:41",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:56:41",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:31:45",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1638"
        },
        {
          "time": "02:31:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:32:06",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "02:32:06",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "02:32:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1639"
        },
        {
          "time": "02:32:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:32:27",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/11294, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06bc3f"
        },
        {
          "time": "02:32:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1640"
        },
        {
          "time": "02:32:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:32:48",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/11294, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06bc45"
        },
        {
          "time": "02:33:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1641"
        },
        {
          "time": "02:33:24",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:33:45",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh4.com/webtoon/11294, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh4.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a06bc5b"
        },
        {
          "time": "04:36:43",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-05T04:36:12"
        },
        {
          "time": "04:36:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1774"
        },
        {
          "time": "04:36:46",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:37:06",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "04:37:06",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "04:37:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1775"
        },
        {
          "time": "04:37:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:37:22",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아씨 - 캄피스,J&B | 뉴토끼, links=191"
        },
        {
          "time": "04:37:54",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1776"
        },
        {
          "time": "04:37:55",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:37:57",
          "message": "작품 제목: 아씨 - 캄피스,J&B"
        },
        {
          "time": "04:37:58",
          "message": "메타데이터 태그 저장: J&B, 다정녀, 드라마, 성인, 시대, 아씨, 여성인기19, 캄피스"
        },
        {
          "time": "04:37:58",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "04:38:03",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아씨 100화 0065 - 아씨 공지 시즌 종료 안내 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "04:39:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1777"
        },
        {
          "time": "04:39:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:39:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1778"
        },
        {
          "time": "04:39:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:39:53",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1779"
        },
        {
          "time": "04:39:54",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:40:23",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1780"
        },
        {
          "time": "04:40:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:51:09",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T04:51:09"
        },
        {
          "time": "04:51:09",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:51:09",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:26:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1966"
        },
        {
          "time": "06:26:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:26:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아씨 - 캄피스,J&B | 뉴토끼, links=191"
        },
        {
          "time": "06:27:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1967"
        },
        {
          "time": "06:27:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:27:09",
          "message": "작품 제목: 아씨 - 캄피스,J&B"
        },
        {
          "time": "06:27:10",
          "message": "메타데이터 태그 저장: J&B, 다정녀, 드라마, 성인, 시대, 아씨, 여성인기19, 캄피스"
        },
        {
          "time": "06:27:10",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "06:27:12",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아씨 100화 0065 - 아씨 공지 시즌 종료 안내 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "06:27:13",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1968"
        },
        {
          "time": "06:27:14",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:27:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1969"
        },
        {
          "time": "06:27:37",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:27:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1970"
        },
        {
          "time": "06:27:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:28:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1971"
        },
        {
          "time": "06:28:51",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:40:38",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T06:40:38"
        },
        {
          "time": "06:40:38",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "06:40:38",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "08:17:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2165"
        },
        {
          "time": "08:17:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:18:18",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "08:18:18",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "08:18:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2166"
        },
        {
          "time": "08:18:19",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:18:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아씨 - 캄피스,J&B | 뉴토끼, links=191"
        },
        {
          "time": "08:18:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2167"
        },
        {
          "time": "08:18:25",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:18:28",
          "message": "작품 제목: 아씨 - 캄피스,J&B"
        },
        {
          "time": "08:18:29",
          "message": "메타데이터 태그 저장: J&B, 다정녀, 드라마, 성인, 시대, 아씨, 여성인기19, 캄피스"
        },
        {
          "time": "08:18:29",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "08:18:34",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아씨 100화 0065 - 아씨 공지 시즌 종료 안내 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "08:19:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2168"
        },
        {
          "time": "08:19:11",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:19:32",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2169"
        },
        {
          "time": "08:19:33",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:20:26",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2170"
        },
        {
          "time": "08:20:26",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:20:47",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2171"
        },
        {
          "time": "08:20:48",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "08:32:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T08:32:40"
        },
        {
          "time": "08:32:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "08:32:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "10:05:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2359"
        },
        {
          "time": "10:05:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:06:18",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "10:06:18",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "10:06:18",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2360"
        },
        {
          "time": "10:06:18",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:06:29",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아씨 - 캄피스,J&B | 뉴토끼, links=191"
        },
        {
          "time": "10:07:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2361"
        },
        {
          "time": "10:07:04",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:07:07",
          "message": "작품 제목: 아씨 - 캄피스,J&B"
        },
        {
          "time": "10:07:08",
          "message": "메타데이터 태그 저장: J&B, 다정녀, 드라마, 성인, 시대, 아씨, 여성인기19, 캄피스"
        },
        {
          "time": "10:07:08",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "10:07:13",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아씨 100화 0065 - 아씨 공지 시즌 종료 안내 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "10:07:46",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2362"
        },
        {
          "time": "10:07:46",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:08:42",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2363"
        },
        {
          "time": "10:08:42",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:09:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2364"
        },
        {
          "time": "10:09:03",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:09:24",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2365"
        },
        {
          "time": "10:09:24",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:21:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T10:21:10"
        },
        {
          "time": "10:21:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:21:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "12:04:39",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2554"
        },
        {
          "time": "12:04:40",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:05:00",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "12:05:01",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "12:05:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2555"
        },
        {
          "time": "12:05:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:05:15",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아씨 - 캄피스,J&B | 뉴토끼, links=191"
        },
        {
          "time": "12:05:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2556"
        },
        {
          "time": "12:05:17",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:05:18",
          "message": "작품 제목: 아씨 - 캄피스,J&B"
        },
        {
          "time": "12:05:19",
          "message": "메타데이터 태그 저장: J&B, 다정녀, 드라마, 성인, 시대, 아씨, 여성인기19, 캄피스"
        },
        {
          "time": "12:05:20",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "12:05:25",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아씨 100화 0065 - 아씨 공지 시즌 종료 안내 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "12:05:58",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2557"
        },
        {
          "time": "12:05:58",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:06:19",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2558"
        },
        {
          "time": "12:06:20",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:06:40",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2559"
        },
        {
          "time": "12:06:40",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:07:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2560"
        },
        {
          "time": "12:07:02",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "12:19:53",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-06-05T12:19:53"
        },
        {
          "time": "12:19:53",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "12:19:53",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "13:48:36",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2748"
        },
        {
          "time": "13:48:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:48:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=아씨 - 캄피스, J&B | 뉴토끼, links=191"
        },
        {
          "time": "13:50:03",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2749"
        },
        {
          "time": "13:51:05",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:51:06",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아씨 100화 0065 - 아씨 공지 시즌 종료 안내 | 뉴토끼, img_tags=29, image_urls=29"
        },
        {
          "time": "13:51:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2750"
        },
        {
          "time": "13:51:08",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "13:51:12",
          "message": "작품 제목: 아씨 - 캄피스, J&B"
        },
        {
          "time": "13:51:14",
          "message": "메타데이터 태그 저장: J&B, 다정녀, 드라마, 성인, 시대, 아씨, 여성인기19, 캄피스"
        },
        {
          "time": "13:51:16",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "13:51:20",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=아씨 183화 | 뉴토끼, img_tags=98, image_urls=98"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 2)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_11294",
        "target_id": "webtoon_11294",
        "title": "아씨 - 캄피스, J&B",
        "episodes_found": 189,
        "episodes_processed": 2,
        "episodes_failed": 0,
        "episodes_skipped": 187,
        "images_found": 70,
        "images_downloaded": 69,
        "images_skipped": 1,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_11294",
          "title": "아씨 - 캄피스, J&B",
          "list_url": "https://newtoki1.org/webtoon/11294",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/11294"
          },
          "tags": [
            "J&B",
            "다정녀",
            "드라마",
            "성인",
            "시대",
            "아씨",
            "여성인기19",
            "캄피스"
          ],
          "description": "아씨 (캄피스, J&B) [레진] #드라마 #시대 #성인 #다정녀 #여성인기19",
          "metadata_path": "/downloads/webtoon_11294/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 2,
        "total": 2,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [
        {
          "position": 65,
          "url": "https://newtoki1.org/webtoon/11294/1186545",
          "title": "아씨 100화 0065 - 아씨 공지 시즌 종료 안내",
          "status": "completed",
          "image_count": 1,
          "images_done": 1,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        },
        {
          "position": 189,
          "url": "https://newtoki1.org/webtoon/11294/lz-a_ssi-7021778208514674",
          "title": "아씨 183화",
          "status": "completed",
          "image_count": 69,
          "images_done": 69,
          "error": null,
          "updated_at": "2026-06-17T14:37:34"
        }
      ],
      "detail_loaded": true
    },
    {
      "id": "49f7e77952",
      "status": "completed",
      "display_status": "completed",
      "created_at": "2026-05-11T12:02:58",
      "started_at": "2026-06-04T03:42:28",
      "finished_at": "2026-06-04T03:43:09",
      "config": {
        "browser_guards": false,
        "camofox_session_key": "crawler",
        "camofox_url": "http://ntker-camofox:9377",
        "camofox_user_id": "ntker",
        "cookie_source": "none",
        "display_title": "무선 연결 오나홀 - 쇠황조롱이,오뚜기,하루3딸",
        "dry_run": false,
        "engine": "chrome",
        "episode_delay": 1.0,
        "has_cookie_header": false,
        "image_delay": 0.1,
        "list_url": "https://newtoki1.org/webtoon/17970",
        "manual_challenge": false,
        "manual_challenge_timeout": 180.0,
        "max_episodes": null,
        "max_images_per_episode": null,
        "output_root": "/downloads",
        "playwright_headed": false,
        "playwright_user_data_dir": ".chrome-profile",
        "proxy_url": "http://surfshark-proxy.surfshark-proxy.svc.cluster.local:8888",
        "recheck_completed_max_images": 2,
        "render_wait": 2.0,
        "request_timeout": 20.0,
        "script_dir": "scripts",
        "site_script": "",
        "skip_existing": true,
        "target_id": "webtoon_17970"
      },
      "logs": [
        {
          "time": "00:15:34",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:16:07",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:26:22",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:26:22"
        },
        {
          "time": "00:26:22",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:26:22",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "00:37:01",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2421"
        },
        {
          "time": "00:37:01",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "00:37:21",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "00:37:53",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "00:49:04",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T00:47:59"
        },
        {
          "time": "00:49:04",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "00:49:04",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:01:07",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2455"
        },
        {
          "time": "01:01:07",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:01:27",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:01:27",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:11:40",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:11:40"
        },
        {
          "time": "01:11:40",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:11:40",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:26:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2489"
        },
        {
          "time": "01:26:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:26:26",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:26:26",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "01:37:27",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T01:37:27"
        },
        {
          "time": "01:37:27",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "01:37:27",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "01:53:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2523"
        },
        {
          "time": "01:53:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "01:53:24",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "01:53:55",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:04:10",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:04:10"
        },
        {
          "time": "02:04:10",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:04:10",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:17:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2558"
        },
        {
          "time": "02:17:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:17:58",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:18:14",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:29:30",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:28:26"
        },
        {
          "time": "02:29:30",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:29:30",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "02:43:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2592"
        },
        {
          "time": "02:43:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "02:43:26",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "02:43:26",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "02:54:18",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T02:54:18"
        },
        {
          "time": "02:54:18",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:54:18",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:11:11",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "03:11:11",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:11:31",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:11:32",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:22:45",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:22:45"
        },
        {
          "time": "03:22:45",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:22:45",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:35:37",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #32"
        },
        {
          "time": "03:35:37",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:35:57",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:35:57",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "03:47:16",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T03:47:15"
        },
        {
          "time": "03:47:16",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:47:16",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "03:51:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #61"
        },
        {
          "time": "03:51:30",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:51:51",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "03:51:51",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:02:03",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:02:03"
        },
        {
          "time": "04:02:03",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:02:03",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:14:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #91"
        },
        {
          "time": "04:14:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:14:24",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:14:25",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:24:37",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:24:37"
        },
        {
          "time": "04:24:37",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:24:37",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:36:17",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #120"
        },
        {
          "time": "04:36:17",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:36:37",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:36:37",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "04:47:02",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T04:47:02"
        },
        {
          "time": "04:47:02",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "04:47:02",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "04:59:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "04:59:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "04:59:48",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못해 최신 Chrome 확장 스냅샷을 사용합니다: title=잠시만 기다리십시오…, links=2"
        },
        {
          "time": "04:59:48",
          "message": "작품 제목: 잠시만 기다리십시오…"
        },
        {
          "time": "05:10:01",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:10:01"
        },
        {
          "time": "05:10:01",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:10:01",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "05:21:16",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #7"
        },
        {
          "time": "05:21:16",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:21:36",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:21:36",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "05:22:08",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #8"
        },
        {
          "time": "05:22:08",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:22:28",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:22:28",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "05:22:28",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #9"
        },
        {
          "time": "05:22:28",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "05:22:49",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: title=잠시만 기다리십시오…, links=2, reason=series_links_missing"
        },
        {
          "time": "05:33:50",
          "message": "순회 계획 새로고침 재개 요청으로 대기열에 추가되었습니다: 2026-05-31T05:33:49"
        },
        {
          "time": "05:33:50",
          "message": "저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "05:33:50",
          "message": "실패 자동 재시도: 쿨타임 600초 경과로 목록 갱신 후 재개합니다."
        },
        {
          "time": "06:02:04",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #27"
        },
        {
          "time": "06:02:04",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:02:24",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/17970, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043c4b, reason=series_links_missing"
        },
        {
          "time": "06:02:25",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "06:02:25",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #28"
        },
        {
          "time": "06:02:25",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:02:45",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/17970, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043c50, reason=series_links_missing"
        },
        {
          "time": "06:02:46",
          "message": "목록 페이지 스냅샷이 계속 비정상이라 Chrome 세션을 재시작합니다."
        },
        {
          "time": "06:03:20",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #29"
        },
        {
          "time": "06:03:21",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "06:04:15",
          "message": "목록 페이지 최신 Chrome 확장 스냅샷을 폐기합니다: url=https://sbxh3.com/webtoon/17970, title=잠시만 기다리십시오…, links=2, ready=complete, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a043c68, reason=series_links_missing"
        },
        {
          "time": "06:05:02",
          "message": "[!] 서버 재시작으로 작업이 중단되었습니다."
        },
        {
          "time": "16:23:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T16:23:17 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "16:24:06",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #1"
        },
        {
          "time": "16:24:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:24:26",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/17970, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 보안 확인 수행 중 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인하는 동안에만 표시됩니다. Ray ID: a04753d"
        },
        {
          "time": "16:24:27",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #2"
        },
        {
          "time": "16:24:27",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:24:47",
          "message": "목록 페이지 회차 링크가 있는 스냅샷을 받지 못했지만 차단/오류 페이지 스냅샷으로 판정해 사용합니다: url=https://sbxh3.com/webtoon/17970, title=잠시만 기다리십시오…, links=2, ready=complete, reason=대기 또는 브라우저 검증 페이지가 로드됨, text=sbxh3.com 사람인지 확인하는 중입니다. 이 작업은 몇 초 정도 소요될 수 있습니다. 이 웹 사이트는 보안 서비스를 사용하여 악의적인 봇으로부터 보호합니다. 이 페이지는 웹 사이트에서 사용자가 봇이 아님을 확인"
        },
        {
          "time": "16:24:48",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #3"
        },
        {
          "time": "16:24:48",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "16:24:59",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=무선 연결 오나홀 - 쇠황조롱이,오뚜기,하루3딸 | 뉴토끼, links=100"
        },
        {
          "time": "17:09:17",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-05-31T17:09:16"
        },
        {
          "time": "21:33:38",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #381"
        },
        {
          "time": "21:33:38",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:33:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=무선 연결 오나홀 - 쇠황조롱이,오뚜기,하루3딸 | 뉴토끼, links=100"
        },
        {
          "time": "21:33:52",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #382"
        },
        {
          "time": "21:33:52",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:33:52",
          "message": "작품 제목: 무선 연결 오나홀 - 쇠황조롱이,오뚜기,하루3딸"
        },
        {
          "time": "21:33:52",
          "message": "메타데이터 태그 저장: 노벨피아원작, 로맨스, 무선 연결 오나홀, 성인, 쇠황조롱이, 오뚜기, 판타지, 하루3딸, 현대판타지"
        },
        {
          "time": "21:33:52",
          "message": "순회 계획을 저장했습니다: 2개 회차"
        },
        {
          "time": "21:34:01",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=무선 연결 오나홀 2화 97화 - 캣파 종결, 보ㅈ로 정면승부할까? | 뉴토끼, img_tags=51, image_urls=49"
        },
        {
          "time": "21:34:43",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #383"
        },
        {
          "time": "21:34:43",
          "message": "페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "21:34:52",
          "message": "페이지 Chrome 확장 스냅샷 수신: title=무선 연결 오나홀 1화 98화 - 19금 벌칙이 난무하는 러브젠가♥ | 뉴토끼, img_tags=48, image_urls=48"
        },
        {
          "time": "17:25:51",
          "message": "작업 URL 도메인을 변경했습니다: sbxh3.com -> sbxh4.com (설정 1, 요약 1, 회차 계획 2)"
        },
        {
          "time": "17:32:55",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-02T17:32:20 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "10:34:41",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #389"
        },
        {
          "time": "10:34:41",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "10:34:57",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=무선 연결 오나홀 - 쇠황조롱이,오뚜기,하루3딸 | 뉴토끼, links=100"
        },
        {
          "time": "10:35:33",
          "message": "작품 제목: 무선 연결 오나홀 - 쇠황조롱이,오뚜기,하루3딸"
        },
        {
          "time": "10:35:34",
          "message": "메타데이터 태그 저장: 노벨피아원작, 로맨스, 무선 연결 오나홀, 성인, 쇠황조롱이, 오뚜기, 판타지, 하루3딸, 현대판타지"
        },
        {
          "time": "01:27:33",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T01:27:05 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "02:09:56",
          "message": "[!] 전체 중지 요청으로 대기 작업을 취소했습니다."
        },
        {
          "time": "03:13:12",
          "message": "전체 시작 요청으로 대기열에 다시 추가되었습니다: 2026-06-04T03:13:12 / 저장된 순회 계획을 삭제했습니다. 다음 실행에서 목록을 다시 파싱합니다."
        },
        {
          "time": "03:42:30",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #893"
        },
        {
          "time": "03:42:31",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:42:51",
          "message": "목록 페이지 스냅샷 검증 실패 (1/4): Chrome 확장 스냅샷을 받지 못했습니다. 목록 페이지 usable snapshot을 확보하지 못했습니다. 최근 로그에서 마지막 스냅샷 진단을 확인하세요."
        },
        {
          "time": "03:42:51",
          "message": "목록 페이지 스냅샷이 비정상이라 같은 탭을 다시 선택해 재이동합니다."
        },
        {
          "time": "03:42:51",
          "message": "Chrome 확장 탭 이동 명령 대기열 등록: #894"
        },
        {
          "time": "03:42:51",
          "message": "목록 페이지 Chrome 확장 스냅샷 대기: 20초 제한"
        },
        {
          "time": "03:43:06",
          "message": "목록 페이지 Chrome 확장 스냅샷 수신: title=무선 연결 오나홀 - 쇠황조롱이,오뚜기,하루3딸 | 뉴토끼, links=100"
        },
        {
          "time": "03:43:07",
          "message": "작품 제목: 무선 연결 오나홀 - 쇠황조롱이,오뚜기,하루3딸"
        },
        {
          "time": "03:43:08",
          "message": "메타데이터 태그 저장: 노벨피아원작, 로맨스, 무선 연결 오나홀, 성인, 쇠황조롱이, 오뚜기, 판타지, 하루3딸, 현대판타지"
        },
        {
          "time": "05:28:47",
          "message": "작업 URL 도메인을 변경했습니다: sbxh4.com -> sbxh5.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "03:28:17",
          "message": "작업 URL 도메인을 변경했습니다: sbxh5.com -> sbxh6.com (설정 1, 요약 1, 회차 계획 0)"
        },
        {
          "time": "14:37:34",
          "message": "작업 URL 도메인을 변경했습니다: sbxh6.com -> newtoki1.org (설정 1, 요약 1, 회차 계획 0)"
        }
      ],
      "summary": {
        "output_dir": "/downloads/webtoon_17970",
        "target_id": "webtoon_17970",
        "title": "무선 연결 오나홀 - 쇠황조롱이,오뚜기,하루3딸",
        "episodes_found": 98,
        "episodes_processed": 0,
        "episodes_failed": 0,
        "episodes_skipped": 98,
        "images_found": 0,
        "images_downloaded": 0,
        "images_skipped": 0,
        "stopped": false,
        "error": null,
        "metadata": {
          "schema_version": 1,
          "target_id": "webtoon_17970",
          "title": "무선 연결 오나홀 - 쇠황조롱이,오뚜기,하루3딸",
          "list_url": "https://newtoki1.org/webtoon/17970",
          "source": {
            "host": "sbxh4.com",
            "path": "/webtoon/17970"
          },
          "tags": [
            "노벨피아원작",
            "로맨스",
            "무선 연결 오나홀",
            "성인",
            "쇠황조롱이",
            "오뚜기",
            "판타지",
            "하루3딸",
            "현대판타지"
          ],
          "description": "무선 연결 오나홀 (쇠황조롱이,오뚜기,하루3딸) [탑툰] #판타지 #로맨스 #성인 #노벨피아원작 #현대판타지",
          "metadata_path": "/downloads/webtoon_17970/metadata.yaml"
        }
      },
      "error": null,
      "cancel_requested": false,
      "queue_position": null,
      "attention": {
        "needs_user": false
      },
      "progress": {
        "done": 98,
        "total": 98,
        "percent": 100,
        "failed": 0,
        "running": 0,
        "queued": 0
      },
      "episodes": [],
      "detail_loaded": true
    }
  ]
}